--- /dev/null
+*.sdf
+*.suo
+html/
+media/
+obj/
+Debug/
+Release/
+ipch/
+PreviousFiles/
+test/
\ No newline at end of file
--- /dev/null
+//##CLASS////////////////////////////////////////////////////////////
+//Programming : Satoshi Fujiwara.
+//Project Name : GENX
+//File : GDSound.h
+//Content : \83T\83E\83\93\83h\8aî\92ê\83N\83\89\83X
+//Implementaion : GDSound.h
+//##CLASS_END/////////////////////////////////////////////////////////
+#include "GDSound.h"
+
+static DSCAPS DSCaps;
+LPDIRECTSOUND GDSound::lpDS = NULL;
+BOOL GDSound::fSoundSupport = DSERR_NOINTERFACE;
+static const char c_szWAV[] = "WAVE";
+DSCAPS GDSound::DSCaps;
+
+//////////////////////////////////////////////////////////////////////////////////
+// GDSound Constructor
+//////////////////////////////////////////////////////////////////////////////////
+ GDSound::GDSound()
+{
+ lpDS = NULL;
+ ZeroMemory(&DSCaps,sizeof(DSCAPS));
+ fSoundSupport = DSERR_NOINTERFACE;
+}
+
+ GDSound::GDSound(HWND hWnd){
+ GDSound();
+ Init(hWnd);
+ }
+//////////////////////////////////////////////////////////////////////////////////
+// GDSound Destructor
+//////////////////////////////////////////////////////////////////////////////////
+GDSound::~GDSound()
+{
+ if(lpDS){
+ lpDS->Release();
+ lpDS = NULL;
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////////
+// GDSound Create
+//////////////////////////////////////////////////////////////////////////////////
+HRESULT GDSound::Init(HWND hWnd)
+{
+ HRESULT hr;
+
+ hr = DirectSoundCreate(NULL, &lpDS, NULL);
+ if(hr != DS_OK)
+ {
+ fSoundSupport = FALSE;
+ return hr;
+ }
+
+// hr = lpDS->SetCooperativeLevel(hWnd, DSSCL_EXCLUSIVE);
+ hr = lpDS->SetCooperativeLevel(hWnd, DSSCL_NORMAL);
+
+ if(hr != DS_OK) {
+ fSoundSupport = FALSE;
+ return hr;
+ }
+
+ fSoundSupport = TRUE;
+ return DS_OK;
+}
+
+//////////////////////////////////////////////////////////////////////////////////
+// GDSound GetCaps
+//////////////////////////////////////////////////////////////////////////////////
+HRESULT GDSound::GetCaps(void)
+{
+ return(lpDS->GetCaps(&DSCaps));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//
+// DSLoadSoundBuffer - Loads a .WAV into a sound buffer and returns the sound buffer
+//
+///////////////////////////////////////////////////////////////////////////////
+
+IDirectSoundBuffer *GDSound::DSLoadSoundBuffer(IDirectSound *pDS, LPCTSTR lpName)
+{
+ IDirectSoundBuffer *pDSB = NULL;
+ DSBUFFERDESC dsBD = {0};
+ BYTE *pbWaveData;
+ void *pvBase;
+ ZeroMemory(&dsBD,sizeof(dsBD));
+ dsBD.dwSize = sizeof(dsBD);
+// dsBD.dwFlags = DSBCAPS_STATIC | DSBCAPS_CTRL3D
+// | DSBCAPS_LOCSOFTWARE;
+ dsBD.dwFlags = DSBCAPS_STATIC;
+// dsBD.dwFlags = DSBCAPS_STATIC | DSBCAPS_LOCHARDWARE ;
+
+ if (DSGetWaveResource(NULL, lpName, &dsBD.lpwfxFormat, &pbWaveData, &dsBD.dwBufferBytes))
+ {
+ if (SUCCEEDED(IDirectSound_CreateSoundBuffer(pDS, &dsBD, &pDSB, NULL)))
+ {
+ if (!DSFillSoundBuffer(pDSB, pbWaveData, dsBD.dwBufferBytes))
+ {
+ IDirectSoundBuffer_Release(pDSB);
+ pDSB = NULL;
+ }
+ }
+ else
+ {
+ pDSB = NULL;
+ }
+ } else if (DSGetWaveFile(NULL, lpName, &dsBD.lpwfxFormat, &pbWaveData,
+ &dsBD.dwBufferBytes, &pvBase))
+ {
+ if (SUCCEEDED(IDirectSound_CreateSoundBuffer(pDS, &dsBD, &pDSB, NULL)))
+ {
+ if (!DSFillSoundBuffer(pDSB, pbWaveData, dsBD.dwBufferBytes))
+ {
+ IDirectSoundBuffer_Release(pDSB);
+ pDSB = NULL;
+ }
+ }
+ else
+ {
+ pDSB = NULL;
+ }
+ UnmapViewOfFile (pvBase);
+ }
+
+ return pDSB;
+}
+
+
+///////////////////////////////////////////////////////////////////////////////
+//
+// DSLoad3DSoundBuffer - Loads a .WAV into a 3D sound buffer and returns the sound buffer
+//
+///////////////////////////////////////////////////////////////////////////////
+
+IDirectSoundBuffer *GDSound::DSLoad3DSoundBuffer(IDirectSound *pDS, LPCTSTR lpName)
+{
+ IDirectSoundBuffer *pDSB = NULL;
+ DSBUFFERDESC dsBD = {0};
+ BYTE *pbWaveData;
+ void *pvBase;
+
+ dsBD.dwSize = sizeof(dsBD);
+ dsBD.dwFlags = DSBCAPS_STATIC | DSBCAPS_CTRL3D | DSBCAPS_CTRLVOLUME
+ | DSBCAPS_CTRLFREQUENCY | DSBCAPS_LOCSOFTWARE
+ | DSBCAPS_STICKYFOCUS;
+
+ if (DSGetWaveResource(NULL, lpName, &dsBD.lpwfxFormat, &pbWaveData, &dsBD.dwBufferBytes))
+ {
+ if (SUCCEEDED(IDirectSound_CreateSoundBuffer(pDS, &dsBD, &pDSB, NULL)))
+ {
+ if (!DSFillSoundBuffer(pDSB, pbWaveData, dsBD.dwBufferBytes))
+ {
+ IDirectSoundBuffer_Release(pDSB);
+ pDSB = NULL;
+ }
+ }
+ else
+ {
+ pDSB = NULL;
+ }
+ } else if (DSGetWaveFile(NULL, lpName, &dsBD.lpwfxFormat, &pbWaveData,
+ &dsBD.dwBufferBytes, &pvBase))
+ {
+ if (SUCCEEDED(IDirectSound_CreateSoundBuffer(pDS, &dsBD, &pDSB, NULL)))
+ {
+ if (!DSFillSoundBuffer(pDSB, pbWaveData, dsBD.dwBufferBytes))
+ {
+ IDirectSoundBuffer_Release(pDSB);
+ pDSB = NULL;
+ }
+ }
+ else
+ {
+ pDSB = NULL;
+ }
+ UnmapViewOfFile (pvBase);
+ }
+
+ return pDSB;
+}
+
+
+///////////////////////////////////////////////////////////////////////////////
+//
+// DSReloadSoundBuffer
+//
+///////////////////////////////////////////////////////////////////////////////
+
+BOOL GDSound::DSReloadSoundBuffer(IDirectSoundBuffer *pDSB, LPCTSTR lpName)
+{
+ BOOL result=FALSE;
+ BYTE *pbWaveData;
+ DWORD cbWaveSize;
+ void *pvBase;
+
+ if (DSGetWaveResource(NULL, lpName, NULL, &pbWaveData, &cbWaveSize))
+ {
+ if (SUCCEEDED(IDirectSoundBuffer_Restore(pDSB)) &&
+ DSFillSoundBuffer(pDSB, pbWaveData, cbWaveSize))
+ {
+ result = TRUE;
+ }
+ } else if( DSGetWaveFile(NULL, lpName, NULL, &pbWaveData, &cbWaveSize, &pvBase))
+ {
+ if (SUCCEEDED(IDirectSoundBuffer_Restore(pDSB)) &&
+ DSFillSoundBuffer(pDSB, pbWaveData, cbWaveSize))
+ {
+ result = TRUE;
+ }
+ UnmapViewOfFile (pvBase);
+ }
+
+ return result;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+//
+// DSGetWaveResource
+//
+///////////////////////////////////////////////////////////////////////////////
+BOOL GDSound::DSGetWaveResource(HMODULE hModule, LPCTSTR lpName,
+ WAVEFORMATEX **ppWaveHeader, BYTE **ppbWaveData, DWORD *pcbWaveSize)
+{
+ HRSRC hResInfo;
+ HGLOBAL hResData;
+ void * pvRes;
+
+ if (((hResInfo = FindResource(hModule, lpName, c_szWAV)) != NULL) &&
+ ((hResData = LoadResource(hModule, hResInfo)) != NULL) &&
+ ((pvRes = LockResource(hResData)) != NULL) &&
+ DSParseWaveResource(pvRes, ppWaveHeader, ppbWaveData, pcbWaveSize))
+ {
+ return TRUE;
+ }
+
+ return FALSE;
+
+}
+
+
+///////////////////////////////////////////////////////////////////////////////
+//
+// DSGetWaveFile
+//
+///////////////////////////////////////////////////////////////////////////////
+BOOL GDSound::DSGetWaveFile(HMODULE hModule, LPCTSTR lpName,
+ WAVEFORMATEX **ppWaveHeader, BYTE **ppbWaveData, DWORD *pcbWaveSize,
+ void **ppvBase)
+{
+ void *pvRes;
+ HANDLE hFile, hMapping;
+
+ *ppvBase = NULL;
+
+ hFile = CreateFile (lpName, GENERIC_READ, FILE_SHARE_READ,
+ NULL, OPEN_EXISTING, 0, NULL);
+ if (hFile == INVALID_HANDLE_VALUE) return FALSE;
+
+ hMapping = CreateFileMapping (hFile, NULL, PAGE_READONLY, 0, 0, NULL);
+ if (hMapping == INVALID_HANDLE_VALUE)
+ {
+ CloseHandle (hFile);
+ return FALSE;
+ }
+
+ CloseHandle (hFile);
+
+ pvRes = MapViewOfFile (hMapping, FILE_MAP_READ, 0, 0, 0);
+ if (pvRes == NULL)
+ {
+ CloseHandle (hMapping);
+ return FALSE;
+ }
+
+ CloseHandle (hMapping);
+
+ if (DSParseWaveResource(pvRes, ppWaveHeader, ppbWaveData, pcbWaveSize) == FALSE)
+ {
+ UnmapViewOfFile (pvRes);
+ return FALSE;
+ }
+
+ *ppvBase = pvRes;
+ return TRUE;
+}
+
+
+///////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////
+
+BOOL GDSound::DSFillSoundBuffer(IDirectSoundBuffer *pDSB, BYTE *pbWaveData, DWORD cbWaveSize)
+{
+ if (pDSB && pbWaveData && cbWaveSize)
+ {
+ LPVOID pMem1, pMem2;
+ DWORD dwSize1, dwSize2;
+
+ if (SUCCEEDED(IDirectSoundBuffer_Lock(pDSB, 0, cbWaveSize,
+ &pMem1, &dwSize1, &pMem2, &dwSize2, 0)))
+ {
+ CopyMemory(pMem1, pbWaveData, dwSize1);
+
+ if ( 0 != dwSize2 )
+ CopyMemory(pMem2, pbWaveData+dwSize1, dwSize2);
+
+ IDirectSoundBuffer_Unlock(pDSB, pMem1, dwSize1, pMem2, dwSize2);
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////
+
+BOOL GDSound::DSParseWaveResource(void *pvRes, WAVEFORMATEX **ppWaveHeader, BYTE **ppbWaveData,DWORD *pcbWaveSize)
+{
+ DWORD *pdw;
+ DWORD *pdwEnd;
+ DWORD dwRiff;
+ DWORD dwType;
+ DWORD dwLength;
+
+ if (ppWaveHeader)
+ *ppWaveHeader = NULL;
+
+ if (ppbWaveData)
+ *ppbWaveData = NULL;
+
+ if (pcbWaveSize)
+ *pcbWaveSize = 0;
+
+ pdw = (DWORD *)pvRes;
+ dwRiff = *pdw++;
+ dwLength = *pdw++;
+ dwType = *pdw++;
+
+ if (dwRiff != mmioFOURCC('R', 'I', 'F', 'F'))
+ goto exit; // not even RIFF
+
+ if (dwType != mmioFOURCC('W', 'A', 'V', 'E'))
+ goto exit; // not a WAV
+
+ pdwEnd = (DWORD *)((BYTE *)pdw + dwLength-4);
+
+ while (pdw < pdwEnd)
+ {
+ dwType = *pdw++;
+ dwLength = *pdw++;
+
+ switch (dwType)
+ {
+ case mmioFOURCC('f', 'm', 't', ' '):
+ if (ppWaveHeader && !*ppWaveHeader)
+ {
+ if (dwLength < sizeof(WAVEFORMAT))
+ goto exit; // not a WAV
+
+ *ppWaveHeader = (WAVEFORMATEX *)pdw;
+
+ if ((!ppbWaveData || *ppbWaveData) &&
+ (!pcbWaveSize || *pcbWaveSize))
+ {
+ return TRUE;
+ }
+ }
+ break;
+
+ case mmioFOURCC('d', 'a', 't', 'a'):
+ if ((ppbWaveData && !*ppbWaveData) ||
+ (pcbWaveSize && !*pcbWaveSize))
+ {
+ if (ppbWaveData)
+ *ppbWaveData = (LPBYTE)pdw;
+
+ if (pcbWaveSize)
+ *pcbWaveSize = dwLength;
+
+ if (!ppWaveHeader || *ppWaveHeader)
+ return TRUE;
+ }
+ break;
+ }
+
+ pdw = (DWORD *)((BYTE *)pdw + ((dwLength+1)&~1));
+ }
+
+exit:
+ return FALSE;
+}
--- /dev/null
+//##CLASS////////////////////////////////////////////////////////////
+//Programming : Satoshi Fujiwara.
+//Project Name : GENX
+//File : GDSound.h
+//Content : \83T\83E\83\93\83h\8aî\92ê\83N\83\89\83X
+//Implementaion : GDSound.h
+//##CLASS_END/////////////////////////////////////////////////////////#ifndef _GDSOUND
+#include <windows.h>
+#include <windowsx.h>
+#include "mmsystem.h"
+#include "dsound.h"
+#ifndef _GDSOUND
+#define _GDSOUND
+//////////////////////////////////////////////////////////////////////////////////
+// GDSound Class
+//////////////////////////////////////////////////////////////////////////////////
+class GDSound
+{
+private:
+protected:
+ static DSCAPS DSCaps;
+ static LPDIRECTSOUND lpDS;
+ static BOOL fSoundSupport;
+public:
+ GDSound(void);
+ GDSound(HWND hwnd);
+ ~GDSound(void);
+ HRESULT Init(HWND hwnd);
+ void Release(void);
+ HRESULT GDSound::GetCaps(void);
+ BOOL isSoundSupport(void){return fSoundSupport;};
+protected:
+ IDirectSoundBuffer *DSLoadSoundBuffer(IDirectSound *pDS, LPCTSTR lpName);
+ IDirectSoundBuffer *DSLoad3DSoundBuffer(IDirectSound *pDS, LPCTSTR lpName);
+ BOOL DSReloadSoundBuffer(IDirectSoundBuffer *pDSB, LPCTSTR lpName);
+ BOOL DSGetWaveResource(HMODULE hModule, LPCTSTR lpName,
+ WAVEFORMATEX **ppWaveHeader, BYTE **ppbWaveData, DWORD *pdwWaveSize);
+ BOOL DSGetWaveFile(HMODULE hModule, LPCTSTR lpName, WAVEFORMATEX **ppWaveHeader,
+ BYTE **ppbWaveData, DWORD *pdwWaveSize, void **ppvBase);
+ BOOL DSFillSoundBuffer(IDirectSoundBuffer *pDSB, BYTE *pbWaveData, DWORD dwWaveSize);
+ BOOL DSParseWaveResource(void *pvRes, WAVEFORMATEX **ppWaveHeader, BYTE **ppbWaveData, DWORD *pdwWaveSize);
+};
+#endif
+
+
+
--- /dev/null
+//##CLASS////////////////////////////////////////////////////////////
+//Programming : Satoshi Fujiwara.
+//Project Name : GENX
+//File : GDSoundEffect.cpp
+//Content : \83T\83E\83\93\83h\8aî\92ê\83N\83\89\83X
+//HeaderFile : GDSoundeffect.h
+//##CLASS_END/////////////////////////////////////////////////////////
+
+#include "GDSoundEffect.h"
+
+GDSoundEffect::GDSoundEffect(){
+ int i;
+
+ for(i = 0;i < WAVEDATA_MAX;i++){
+ pWaveData[i] = NULL;
+
+ }
+
+ for(i = 0;i < SOUNDBUFFER_MAX;i++){
+ pSoundBuffer[i] = NULL;
+ }
+ effectcount = 0;
+ fWaveLoad = FALSE;
+ if(isSoundSupport())
+ bEffect = TRUE;
+ else
+ bEffect = FALSE;
+ serial = 0;
+}
+
+GDSoundEffect::~GDSoundEffect(){
+ Release();
+
+}
+void GDSoundEffect::Release(void){
+ int i;
+ DWORD dwStatus;
+
+ for(i = 0;i < WAVEDATA_MAX;i++){
+ if(pWaveData[i]){
+ pWaveData[i]->GetStatus(&dwStatus);
+ if(dwStatus & DSBSTATUS_PLAYING)
+ pWaveData[i]->Stop();
+ pWaveData[i]->Release();
+ pWaveData[i] = NULL;
+ }
+ }
+
+ for(i = 0;i < SOUNDBUFFER_MAX;i++){
+ if(pSoundBuffer[i]){
+ pSoundBuffer[i]->GetStatus(&dwStatus);
+ if(dwStatus & DSBSTATUS_PLAYING)
+ pSoundBuffer[i]->Stop();
+ pSoundBuffer[i]->Release();
+ pSoundBuffer[i] = NULL;
+ }
+ }
+ effectcount = 0;
+}
+
+BOOL GDSoundEffect::Load(char * szFileName){
+ if(!isSoundSupport()) return FALSE;
+ FILE *fp;
+ if(isLoad())
+ Release();
+ if((fp = fopen(szFileName,"rb")) == NULL){
+ return FALSE;
+ }
+ while ((fscanf(fp,"%s",&WavFileName[effectcount][0]) != EOF) && (effectcount < WAVEDATA_MAX)){
+ pWaveData[effectcount] = DSLoadSoundBuffer(lpDS,&WavFileName[effectcount][0]);
+ effectcount ++;
+ }
+ fclose(fp);
+ fWaveLoad = TRUE;
+ return TRUE;
+}
+
+void GDSoundEffect::Play(int SoundBufferNumber,long volume,long pan)
+{
+ DWORD dwStatus = 0;
+ DWORD dsrval;
+ int wold = 0;
+ int woldindex = 0;
+ int i = 0;
+
+ if(!isSoundSupport()) return;
+ if(!bEffect) return;
+
+ if(SoundBufferNumber > effectcount || !pWaveData[SoundBufferNumber])
+ return;
+
+ pWaveData[SoundBufferNumber]->GetStatus(&dwStatus);
+
+ if(dwStatus & DSBSTATUS_BUFFERLOST){
+ pWaveData[SoundBufferNumber]->Restore();
+ if(DSReloadSoundBuffer(pWaveData[SoundBufferNumber],&WavFileName[SoundBufferNumber][0]) == FALSE)
+ return;
+
+ }
+
+ for(i = 0;i < SOUNDBUFFER_MAX;i++){
+ if(!pSoundBuffer[i]){//Sound Buffer \82ª NULL\81i\96¢\8eg\97p\81j\82Ì\8fê\8d\87
+ dsrval = lpDS->DuplicateSoundBuffer(pWaveData[SoundBufferNumber],&pSoundBuffer[i]);
+ if(dsrval != DS_OK){
+ return;
+ }
+ pSoundBuffer[i]->SetVolume(volume);
+ pSoundBuffer[i]->SetPan(pan);
+ pSoundBuffer[i]->Play(0,0,0);
+ usecount[i] = GetSerial();
+ return;
+ } else {//Sound Buffer\82ª\8eg\97p\82³\82ê\82Ä\82¢\82é\8fê\8d\87
+ pSoundBuffer[i]->GetStatus(&dwStatus);
+ if(!(dwStatus & DSBSTATUS_PLAYING) || (dwStatus & DSBSTATUS_BUFFERLOST)){
+ if(dwStatus & DSBSTATUS_BUFFERLOST)
+ pSoundBuffer[i]->Restore();
+ pSoundBuffer[i]->Release();
+ dsrval = lpDS->DuplicateSoundBuffer(pWaveData[SoundBufferNumber],&pSoundBuffer[i]);
+ pSoundBuffer[i]->SetVolume(volume);
+ pSoundBuffer[i]->SetPan(pan);
+ pSoundBuffer[i]->Play(0,0,0);
+ usecount[i] = GetSerial();
+ return;
+ }
+ if(!wold){
+ wold = usecount[i];
+ woldindex = i;
+ } else {
+ if(wold > usecount[i]){
+ wold = usecount[i];
+ woldindex = i;
+ }
+ }
+ }
+ }
+ //\94²\82¯\82½\8fê\8d\87\82Í\81ASound Buffer \82Ì\8bó\82«\82ª\82È\82©\82Á\82½\82±\82Æ\82É\82È\82é
+ pSoundBuffer[woldindex]->Stop();
+ pSoundBuffer[woldindex]->Release();
+ dsrval = lpDS->DuplicateSoundBuffer(pWaveData[SoundBufferNumber],&pSoundBuffer[woldindex]);
+ pSoundBuffer[woldindex]->SetVolume(volume);
+ pSoundBuffer[woldindex]->SetPan(pan);
+ pSoundBuffer[woldindex]->Play(0,0,0);
+ usecount[woldindex] = GetSerial();
+
+}
+
--- /dev/null
+//##CLASS////////////////////////////////////////////////////////////
+//Programming : Satoshi Fujiwara.
+//Project Name : GENX
+//File : GDSoundEffect.h
+//Content : \83T\83E\83\93\83h\8aî\92ê\83N\83\89\83X
+//Implementaion : GDSoundEffect.h
+//##CLASS_END/////////////////////////////////////////////////////////
+#include "GDSound.h"
+#include "stdio.h"
+
+#ifndef _GDSOUNDEFFECT
+#define _GDSOUNDEFFECT
+//\83E\83F\81[\83u\83f\81[\83^\95Û\8e\9d\83o\83b\83t\83@\82Ì\91\8d\90\94
+#define WAVEDATA_MAX 32
+//\8dÄ\90¶\97p\83o\83b\83t\83@\82Ì\90\94
+#define SOUNDBUFFER_MAX 8
+//////////////////////////////////////////////////////////////////////////////////
+// GDSoundEffect Class
+//////////////////////////////////////////////////////////////////////////////////
+class GDSoundEffect : public GDSound
+{
+private:
+ //\83E\83F\81[\83u\83f\81[\83^\82ð\95Û\8e\9d\82·\82é\83o\83b\83t\83@//
+ LPDIRECTSOUNDBUFFER pWaveData[WAVEDATA_MAX];
+ //\83E\83F\81[\83u\8dÄ\90¶\97p\83o\83b\83t\83@\81i8\83`\83\83\83\93\83l\83\8b)//
+ LPDIRECTSOUNDBUFFER pSoundBuffer[SOUNDBUFFER_MAX];
+ //Wave\83f\81[\83^\83t\83@\83C\83\8b\96¼\82ð\95Û\8e\9d\82·\82é\94z\97ñ//
+ char WavFileName[WAVEDATA_MAX][32];
+ //\8eÀ\8dÛ\82É\93Ç\82Ý\82±\82Ü\82ê\82½\83E\83F\81[\83u\83f\81[\83^\82Ì\90\94//
+ int effectcount;
+ //\83E\83F\81[\83u\8dÄ\90¶\97p\83V\83\8a\83A\83\8b\92l//
+ int serial;
+ /*\83E\83F\81[\83u\8dÄ\90¶\97p\83o\83b\83t\83@\82ð\8eg\97p\82·\82é\82½\82Ñ\82É+1\82³\82ê\82Ü\82·\81B\82Ç\82Ì\83o\83b\83t\83@\82ª\88ê\94Ô\92·\82\8eg
+ \97p\82³\82ê\82Ä\82¢\82é\82©\82ð\8c\9f\8fo\82·\82é\82Æ\82«\82É\8eg\97p\82³\82ê\82Ü\82·\81B
+ */
+ //\83E\83F\81[\83u\8dÄ\90¶\97p\83`\83\83\83l\83\8b\96\88\82Éserial\92l\82ð\95Û\8e\9d\82·\82é\83J\83E\83\93\83^\94z\97ñ//
+ BOOL usecount[SOUNDBUFFER_MAX];
+ //\83E\83F\81[\83u\83f\81[\83^\82ª\83\8d\81[\83h\82³\82ê\82½\82©\82Ç\82¤\82©\82ð\94»\95Ê\82·\82é\82½\82ß\82Ì\83t\83\89\83O//
+ BOOL fWaveLoad;
+ //\83V\83\8a\83A\83\8b\92l\82ð\8eæ\93¾\82·\82é\82½\82ß\82Ì\83v\83\89\83C\83x\81[\83g\8aÖ\90\94//
+ int GetSerial(void){serial++;if(!serial) serial = 1;return serial;};
+ BOOL bEffect;
+public:
+ //\83R\83\93\83X\83g\83\89\83N\83^//
+ GDSoundEffect(void);
+ //\83f\83X\83g\83\89\83N\83^//
+ ~GDSoundEffect(void);
+ //\8f\89\8aú\89»//
+ HRESULT Init(void);
+ //\83E\83F\81[\83u\83f\81[\83^\83\8a\83X\83g(\83e\83L\83X\83g\83t\83@\83C\83\8b)\82©\82ç\81A\83E\83F\81[\83u\83t\83@\83C\83\8b(.WAV\83t\83H\81[\83}\83b\83g\81j\82ð\93Ç\82Ý\8fo\82·\81B//
+ BOOL Load(char *szFileName);
+ //##FUNC///////////////////////////////////////////////////////////////////////
+ //Function Name void Play(int SoundBufferNumber,long volume,long pan);
+ //Input Value int SoundBufferNumber ;\83E\83F\81[\83u\83f\81[\83^\94Ô\8d\86
+ // long volume ;\83{\83\8a\83\85\81[\83\80\81i\89¹\97Ê\81j
+ // long pan ;\83p\83\93\83j\83\93\83O\81i\92è\88Ê\81j
+ //Return Value NONE
+ //Purpose \83E\83F\81[\83u\83f\81[\83^\82ð\8dÄ\90¶\82·\82é
+ //##FUNC_END///////////////////////////////////////////////////////////////////
+ void Play(int SoundBufferNumber,long volume = DSBVOLUME_MAX,long pan = DSBPAN_CENTER);
+ //\83T\83E\83\93\83h\83o\83b\83t\83@\82ð\83\8a\83\8a\81[\83X\82·\82é//
+ void Release(void);
+ //\83E\83F\81[\83u\83f\81[\83^\82ª\83\8d\81[\83h\82³\82ê\82½\82Ç\82¤\82©\82ð\94»\95Ê\82·\82é//
+ BOOL isLoad(void){return fWaveLoad;};
+ BOOL IsEnabled(void){return bEffect;};
+ BOOL Enable(void){
+ if(isSoundSupport()){
+ bEffect = TRUE;
+ return TRUE;
+ } else {
+ bEffect = FALSE;
+ return FALSE;
+ }
+
+ }
+ void Disable(void){
+ bEffect = FALSE;
+ for(int i = 0;i < SOUNDBUFFER_MAX;i++){
+ if(pSoundBuffer[i]){
+ pSoundBuffer[i]->Stop();
+ }
+ }
+ }
+};
+#endif
+
+
+
--- /dev/null
+// CDMPlayer.cpp : implementation file
+//
+// Copyright (c) 1998 Microsoft Corporation. All rights reserved.
+/////////////////////////////////////////////////////////////////////////////
+
+#include <objbase.h>
+#include <initguid.h>
+#include <direct.h>
+#include <dmusicc.h>
+#include <dmusici.h>
+#include "dmplayer.h"
+
+static BOOL GetSearchPath(WCHAR wszPath[MAX_PATH]);
+
+/////////////////////////////////////////////////////////////////////////////
+// Members
+
+CDMPlayer::CDMPlayer(HWND hWnd)
+{
+ m_hWnd = hWnd;
+ m_bIsPlaying = FALSE;
+ m_bIsInitialized = FALSE;
+ m_pComposer = NULL;
+ m_pLoader = NULL;
+ m_pDirectMusic = NULL;
+ m_pPerformance = NULL;
+ m_pPort = NULL;
+
+ NullMediaPointers();
+
+ //Initialize COM
+ if ( FAILED( CoInitialize(NULL) ))
+ {
+ OutputDebugString( "Could not initialize COM\n" );
+ return;
+ }
+
+ // Create the loader
+ if ( FAILED(CoCreateInstance(CLSID_DirectMusicLoader, NULL, CLSCTX_INPROC,
+ IID_IDirectMusicLoader, (void**)&m_pLoader)))
+ {
+ OutputDebugString( "Could not create DMusic Loader\n" );
+ return;
+ }
+
+ //Set the search directory
+ WCHAR wzSearchDir[MAX_PATH];
+ HRESULT hr = E_FAIL;
+
+ if ( GetSearchPath(wzSearchDir) )
+ {
+ hr = m_pLoader->SetSearchDirectory(GUID_DirectMusicAllTypes, wzSearchDir, FALSE );
+ }
+
+ if ( FAILED(hr) )
+ {
+ hr = m_pLoader->SetSearchDirectory(GUID_DirectMusicAllTypes, L".", FALSE );
+ }
+
+ if ( FAILED(hr) )
+ {
+ OutputDebugString( "Could not set search directory\n" );
+ return;
+ }
+
+ // Create the performance object
+ if (FAILED(CoCreateInstance(CLSID_DirectMusicPerformance, NULL,
+ CLSCTX_INPROC, IID_IDirectMusicPerformance, (void**)&m_pPerformance)))
+ {
+ OutputDebugString( "Could not create DMusic performance\n" );
+ return;
+ }
+
+ // Initialize the composer
+ if (FAILED(::CoCreateInstance(CLSID_DirectMusicComposer, NULL, CLSCTX_INPROC,
+ IID_IDirectMusicComposer, (void**)&m_pComposer)))
+ {
+ OutputDebugString( "Could not create DMusic composer\n" );
+ return;
+ }
+
+ // Initialize the software synthesizer
+ if( InitializeSynth() == FALSE )
+ {
+ OutputDebugString( "Initializing software synthesizer failed\n" );
+ return;
+ }
+
+ m_bIsInitialized = TRUE;
+
+ // Load the necessary scheme media
+ if( !LoadScheme(0))
+ {
+ MessageBox(m_hWnd, "Unable to load the media for the default scheme.",
+ "DirectMusic Shell: Initialization Error", MB_OK | MB_ICONEXCLAMATION );
+ return;
+ }
+
+ // Start Playing
+ m_pDirectMusic->Activate(TRUE);
+ PlaySegment(m_hWnd);
+ m_bIsPlaying = TRUE;
+}
+
+CDMPlayer::~CDMPlayer()
+{
+ ReleaseMediaPointers();
+
+ if (m_pPerformance)
+ m_pPerformance->Stop( NULL, NULL, 0, 0 );
+
+ if (m_pLoader)
+ m_pLoader->ClearCache( GUID_DirectMusicAllTypes );
+
+ if (m_pLoader)
+ m_pLoader->Release();
+
+ if (m_pPort)
+ {
+ if (m_pPerformance)
+ m_pPerformance->RemovePort(m_pPort);
+ m_pPort->Release();
+ }
+ if (m_pDirectMusic)
+ m_pDirectMusic->Release();
+
+ if (m_pComposer)
+ m_pComposer->Release();
+
+ if (m_pPerformance)
+ m_pPerformance->Release();
+
+ CoUninitialize();
+}
+
+// PlayEvent is the point of input for all of the shell events.
+// Most events just play motifs. The application open/close/switch events
+// trigger new primary segments.
+void CDMPlayer::PlayEvent(WPARAM wEventType, LPARAM lEventData)
+{
+ if (!m_bIsPlaying)
+ return;
+
+ if (!m_bIsInitialized)
+ return;
+
+ // Deal with the events that switch between primary segments
+ switch (wEventType)
+ {
+ case DME_APPOPEN:
+ PlaySegment( HWND(lEventData) );
+ PlayMotif(DME_APPOPEN);
+ return;
+
+ case DME_APPSWITCH:
+ // Note that this happens upon any application switch, including clicking
+ // the start bar. Therefore, clicking the start bar to switch music schemes
+ // will cause PlaySegment to be called three times - once upon the DME_APPSWITCH
+ // to the task bar, once upon the call to switch music schemes, and again
+ // upon the DME_APPSWITCH away from the start bar.
+ PlaySegment( HWND(lEventData) );
+ return;
+
+ case DME_APPCLOSE:
+ m_TemplateMapper.DeleteWin( HWND(lEventData) );
+ PlayMotif(DME_WINDOWCLOSE);
+ return;
+ }
+
+ // If it got this far, play the motif corresponding to the event.
+ PlayMotif(wEventType);
+}
+
+
+// Initialize the software synthesizer into the performance.
+// This function also calls IDirectMusicPerformance::Init to
+// initialize the performance and create the DirectMusic object.
+BOOL CDMPlayer::InitializeSynth()
+{
+ // Initialize the performance. Have the performance create the
+ // DirectMusic object by setting pDM to NULL. It is needed to
+ // create the port.
+ if( FAILED( m_pPerformance->Init( &m_pDirectMusic, NULL, m_hWnd )))
+ return FALSE;
+
+ DMUS_PORTPARAMS dmos;
+ ZeroMemory(&dmos, sizeof(DMUS_PORTPARAMS));
+ // create 1 channel group on the port
+ dmos.dwChannelGroups = 1;
+ // set the dwChannelGroups field as valid
+ dmos.dwValidParams = DMUS_PORTPARAMS_CHANNELGROUPS;
+ dmos.dwSize = sizeof(DMUS_PORTPARAMS);
+
+ m_pDirectMusic->Activate(FALSE);
+
+ if ( FAILED(m_pDirectMusic->CreatePort(CLSID_DirectMusicSynth, &dmos, &m_pPort, NULL)))
+ {
+ OutputDebugString( "Could not create port\n" );
+ return FALSE;
+ }
+ if ( FAILED( m_pPort->Activate(TRUE) ) )
+ {
+ OutputDebugString( "Could not activate port\n" );
+ return FALSE;
+ }
+ if( SUCCEEDED( m_pPerformance->AddPort( m_pPort)))
+ {
+ OutputDebugString( "Could not add port to the performance\n" );
+ m_pPerformance->AssignPChannelBlock( 0, m_pPort, 1 );
+ return TRUE;
+ }
+ return FALSE;
+}
+
+BOOL CDMPlayer::SelectOutputPort(WORD wPortIndex)
+{
+ if (!m_bIsInitialized)
+ return FALSE;
+
+ // Stop the performance and release the current port
+ BOOL bStatus = m_bIsPlaying;
+ m_bIsPlaying = FALSE;
+ if (m_pPort && m_pPerformance)
+ {
+ m_pPerformance->Invalidate(0, 0);
+ Stop();
+ m_pPerformance->RemovePort(m_pPort);
+ }
+ if (m_pBand)
+ {
+ m_pBand->Unload(m_pPerformance);
+ }
+ if (m_pPort)
+ {
+ m_pPort->Release();
+ m_pPort = NULL;
+ }
+
+ // Enumerate the new port to get its GUID
+ HRESULT hr;
+ DMUS_PORTCAPS dmpc;
+ GUID guidSynthGUID;
+ dmpc.dwSize = sizeof(DMUS_PORTCAPS);
+
+ hr = m_pDirectMusic->EnumPort(wPortIndex, &dmpc);
+
+ // Open the new port
+ if(SUCCEEDED(hr) && hr != S_FALSE)
+ {
+ CopyMemory(&guidSynthGUID, &dmpc.guidPort, sizeof(GUID));
+
+ DMUS_PORTPARAMS dmos;
+ ZeroMemory(&dmos, sizeof(dmos));
+ // create 1 channel group on the port
+ dmos.dwChannelGroups = 1;
+ // set the dwChannelGroups field as valid
+ dmos.dwValidParams = DMUS_PORTPARAMS_CHANNELGROUPS;
+ dmos.dwSize = sizeof(DMUS_PORTPARAMS);
+
+ hr = m_pDirectMusic->CreatePort(guidSynthGUID,
+ &dmos, &m_pPort, NULL);
+
+ if (FAILED (hr) )
+ return FALSE;
+
+ hr = m_pPort->Activate(TRUE);
+ if (FAILED(hr))
+ return FALSE;
+
+ // Add it to the performance
+ if( SUCCEEDED( m_pPerformance->AddPort( m_pPort)))
+ {
+ m_pPerformance->AssignPChannelBlock( 0, m_pPort, 1 );
+ if (m_pBand)
+ {
+ m_pBand->Download(m_pPerformance);
+ }
+ ResetMidiStream();
+ if (bStatus)
+ Start();
+
+ return TRUE;
+ }
+ }
+ OutputDebugString( "Could not select output port\n" );
+ return FALSE;
+}
+
+// Returns VALID_PORT for valid output ports
+// Returns INVALID_PORT for input or invalid ports
+// Returns SELECTED_PORT for the port that is currently selected
+WORD CDMPlayer::EnumOutputPort(WORD wPortIndex, PWSTR pwzPortName, WORD wBufferLength)
+{
+ if (!m_bIsInitialized)
+ return INVALID_PORT;
+
+ HRESULT hr;
+ DMUS_PORTCAPS dmpc;
+ GUID guidEnumPort;
+ dmpc.dwSize = sizeof(DMUS_PORTCAPS);
+
+ hr = m_pDirectMusic->EnumPort(wPortIndex, &dmpc);
+
+ if(SUCCEEDED(hr) && hr != S_FALSE)
+ {
+ if ((dmpc.dwClass == DMUS_PC_OUTPUTCLASS) && (dmpc.dwFlags & DMUS_PC_DLS))
+ {
+ //Get string length and account for the ending NULL character
+ WORD wStrLength = wcslen(dmpc.wszDescription) + 1;
+ if (wStrLength > wBufferLength)
+ {
+ wStrLength = wBufferLength - 1; //leave room for null character
+ *(pwzPortName + (wBufferLength - 1) ) = 0; //change the last character to NULL
+ //realizing that there are wSize charaters
+ //counting from 0, not 1
+ }
+ wcsncpy(pwzPortName, dmpc.wszDescription, wStrLength);
+ guidEnumPort = dmpc.guidPort;
+ if( m_pPort )
+ {
+ hr = m_pPort->GetCaps(&dmpc);
+ if(SUCCEEDED(hr) && hr != S_FALSE)
+ {
+ if (dmpc.guidPort == guidEnumPort)
+ return SELECTED_PORT;
+ }
+ }
+ return VALID_PORT;
+ }
+ else
+ {
+ OutputDebugString( "Non-DLS-compatible port\n" );
+ return INVALID_PORT;
+ }
+ }
+ else
+ {
+ OutputDebugString( "Finished enumertating ports\n" );
+ return NO_PORT;
+ }
+}
+
+// This routine loads the style and band
+// there is a hard coded assumption that the band name is "Default"
+BOOL CDMPlayer::LoadStyle(WCHAR* pwzFileName)
+{
+ DMUS_OBJECTDESC ObjectDescript;
+ ObjectDescript.dwSize = sizeof(DMUS_OBJECTDESC);
+ ObjectDescript.guidClass = CLSID_DirectMusicStyle;
+ wcscpy(ObjectDescript.wszFileName, pwzFileName );
+ ObjectDescript.dwValidData = DMUS_OBJ_CLASS | DMUS_OBJ_FILENAME ;
+
+ if (SUCCEEDED(m_pLoader->GetObject( &ObjectDescript, IID_IDirectMusicStyle,
+ (void**)&m_pStyle)))
+ {
+ BSTR bstr = SysAllocString(L"Default");
+ m_pStyle->GetBand(bstr, &m_pBand) ;
+ SysFreeString(bstr);
+ if (m_pBand)
+ {
+ m_pBand->Download(m_pPerformance);
+ return TRUE;
+ }
+ }
+ OutputDebugString( "Could not load style\n" );
+ return FALSE;
+}
+
+BOOL CDMPlayer::LoadChordMap(WCHAR* pwzFileName)
+{
+ DMUS_OBJECTDESC ObjectDescript;
+ ObjectDescript.dwSize = sizeof(DMUS_OBJECTDESC);
+ ObjectDescript.guidClass = CLSID_DirectMusicChordMap;
+ wcscpy(ObjectDescript.wszFileName, pwzFileName);
+ ObjectDescript.dwValidData = DMUS_OBJ_CLASS | DMUS_OBJ_FILENAME;
+ if (SUCCEEDED(m_pLoader->GetObject( &ObjectDescript, IID_IDirectMusicChordMap,
+ (void**)&m_pChordMap)))
+ {
+ return TRUE;
+ }
+ OutputDebugString( "Could not load chord map\n" );
+ return FALSE;
+}
+
+BOOL CDMPlayer::LoadTemplate(DWORD dwIndex, WCHAR* pwzName)
+{
+ if (m_pTemplates[dwIndex])
+ m_pTemplates[dwIndex]->Release();
+
+ DMUS_OBJECTDESC ObjectDescript;
+ ObjectDescript.dwSize = sizeof(DMUS_OBJECTDESC);
+ ObjectDescript.guidClass = CLSID_DirectMusicSegment;
+ wcscpy(ObjectDescript.wszFileName, pwzName);
+ ObjectDescript.dwValidData = DMUS_OBJ_CLASS | DMUS_OBJ_FILENAME;
+ if (SUCCEEDED(m_pLoader->GetObject( &ObjectDescript, IID_IDirectMusicSegment,
+ (void**)&m_pTemplates[dwIndex])))
+ {
+ return TRUE;
+ }
+ OutputDebugString( "Could not load template\n" );
+ return FALSE;
+}
+
+BOOL CDMPlayer::ComposeSegment(DWORD dwIndex)
+{
+ m_pComposer->ComposeSegmentFromTemplate(
+ m_pStyle,
+ m_pTemplates[dwIndex],
+ 1,
+ m_pChordMap,
+ &m_pPrimarySegments[dwIndex]);
+ if (m_pPrimarySegments[dwIndex])
+ {
+ m_pPrimarySegments[dwIndex]->SetRepeats(999);
+ return TRUE;
+ }
+ OutputDebugString( "Could not compose segment\n" );
+ return FALSE;
+}
+
+void CDMPlayer::PlaySegment(HWND hWnd)
+{
+ WORD wTemplateNum = m_TemplateMapper.GetTemplate( hWnd );
+
+ if (wTemplateNum > NUM_TEMPLATES)
+ return;
+
+ if (m_pPrimarySegments[wTemplateNum] )
+ {
+ m_pPerformance->PlaySegment(
+ m_pPrimarySegments[wTemplateNum], DMUS_SEGF_BEAT , 0, NULL);
+ }
+}
+
+// Load the dls set that the band needs, but just leave it in the cache.
+// Then, it will be referenced and loaded by the bands in the styles and segments.
+BOOL CDMPlayer::LoadDLS(WCHAR* sFileName)
+{
+ // No need to load GM.DLS. The filename will be blank in this case
+ if ( wcscmp(sFileName, L"") == 0 )
+ return TRUE;
+
+ DMUS_OBJECTDESC ObjectDescript;
+ ObjectDescript.dwSize = sizeof(DMUS_OBJECTDESC);
+ ObjectDescript.guidClass = CLSID_DirectMusicCollection;
+ wcscpy(ObjectDescript.wszFileName, sFileName);
+ ObjectDescript.dwValidData = DMUS_OBJ_CLASS | DMUS_OBJ_FILENAME ;
+ IDirectMusicObject* pObject = NULL;
+ if (SUCCEEDED(m_pLoader->GetObject(&ObjectDescript, IID_IDirectMusicObject,
+ (void**)&pObject)))
+ {
+ pObject->Release();
+ return TRUE;
+ }
+ OutputDebugString( "Could not load dls\n" );
+ return FALSE;
+}
+
+void CDMPlayer::PlayMotif(WORD wMotif)
+{
+ if (wMotif >= DME_MAXEVENTNUM)
+ return;
+
+ // Throw away redundant events that occur in the same beat.
+ // The purpose is to prevent more than one motif of any given
+ // type from triggering in the same beat.
+ MUSIC_TIME mtNow, mtNowBeat;
+ m_pPerformance->GetTime(NULL, &mtNow);
+ mtNowBeat = mtNow/DMUS_PPQ;
+ if (mtNowBeat == m_mtPreviousEventBeatNumber[wMotif])
+ return;
+ m_mtPreviousEventBeatNumber[wMotif] = mtNowBeat;
+
+ //Play the motif
+ if (m_pMotifs[wMotif] && m_pPerformance)
+ {
+ m_pPerformance->PlaySegment(m_pMotifs[wMotif],
+ (DMUS_SEGF_SECONDARY | DMUS_SEGF_BEAT), 0, NULL);
+ }
+}
+
+BOOL CDMPlayer::LoadScheme(WORD wSchIndx)
+{
+ if (!LoadDLS(Schemes[wSchIndx].DLSName) )
+ return FALSE;
+ if (!LoadStyle(Schemes[wSchIndx].StyleName) )
+ return FALSE;
+ if (!LoadChordMap(Schemes[wSchIndx].ChordMapName) )
+ return FALSE;
+
+ WORD x;
+
+ for ( x = 0; x < NUM_TEMPLATES ; x++)
+ {
+ if (wcscmp(Schemes[wSchIndx].TemplateNames[x], L"") != 0)
+ if ( LoadTemplate( x, Schemes[wSchIndx].TemplateNames[x] ) )
+ ComposeSegment( x );
+ }
+
+ for ( x = 0; x < DME_MAXEVENTNUM ; x++)
+ {
+ if ( Schemes[wSchIndx].MotifNames[x] )
+ if (wcscmp(Schemes[wSchIndx].MotifNames[x], L"") != 0)
+ m_pStyle->GetMotif(Schemes[wSchIndx].MotifNames[x], &m_pMotifs[x]);
+ }
+
+ return TRUE;
+}
+
+BOOL CDMPlayer::SelectNewScheme(WORD wSchemeNum)
+{
+ if (!m_bIsInitialized)
+ return FALSE;
+
+ ReleaseMediaPointers();
+ NullMediaPointers();
+ BOOL bReturn = LoadScheme(wSchemeNum);
+
+ ResetMidiStream();
+
+ return bReturn;
+}
+
+BOOL CDMPlayer::GetSchemeName(WORD wSchemeNum, PWSTR pwzSchemeName, WORD wBufferLength)
+{
+ if (wSchemeNum >= NUM_SCHEMES)
+ return FALSE;
+ WORD wStrLength = wcslen(Schemes[wSchemeNum].FriendlySchemeName) + 1; //grab null char also
+ if (wStrLength > wBufferLength)
+ {
+ wStrLength = wBufferLength - 1; //leave room for null character
+ *(pwzSchemeName + (wBufferLength - 1) ) = 0; //change the last character to NULL
+ //realizing that there are wSize charaters
+ //counting from 0, not 1
+ }
+ wcsncpy(pwzSchemeName, Schemes[wSchemeNum].FriendlySchemeName, wStrLength);
+ return TRUE;
+}
+
+void CDMPlayer::Start()
+{
+ if (!m_bIsInitialized)
+ return;
+
+ PlaySegment(m_hWnd);
+ m_bIsPlaying = TRUE;
+}
+
+void CDMPlayer::Stop()
+{
+ if (m_pPerformance)
+ m_pPerformance->Stop( NULL, NULL, 0, 0 );
+
+ ResetMidiStream();
+ m_bIsPlaying = FALSE;
+}
+
+BOOL CDMPlayer::IsPlaying()
+{
+ return m_bIsPlaying;
+}
+
+void CDMPlayer::NullMediaPointers()
+{
+ for (int x = 0; x < NUM_TEMPLATES; x++)
+ m_pPrimarySegments[x] = NULL;
+
+ m_pChordMap = NULL;
+
+ m_pStyle = NULL;
+
+ for (x = 0; x < DME_MAXEVENTNUM; x++)
+ m_pMotifs[x] = NULL;
+
+ for (x = 0; x < NUM_TEMPLATES; x++)
+ m_pTemplates[x] = NULL;
+
+ m_pBand = NULL;
+
+ for (x = 0; x < DME_MAXEVENTRANGE; x++)
+ m_mtPreviousEventBeatNumber[x] = 0;
+
+}
+
+void CDMPlayer::ReleaseMediaPointers()
+{
+ for (int x = 0; x < DME_MAXEVENTNUM; x++)
+ {
+ if (m_pMotifs[x])
+ m_pMotifs[x]->Release();
+ }
+
+ if (m_pChordMap)
+ m_pChordMap->Release();
+
+ for (x = 0; x < NUM_TEMPLATES; x++)
+ {
+ if (m_pPrimarySegments[x])
+ m_pPrimarySegments[x]->Release();
+ }
+
+ if (m_pStyle)
+ m_pStyle->Release();
+
+ for (x = 0; x < NUM_TEMPLATES; x++)
+ {
+ if (m_pTemplates[x])
+ m_pTemplates[x]->Release();
+ }
+
+ if (m_pBand)
+ {
+ m_pBand->Unload(m_pPerformance);
+ m_pBand->Release();
+ }
+}
+
+void CDMPlayer::ResetMidiStream()
+{
+ if (!m_pPerformance)
+ return;
+
+ DMUS_MIDI_PMSG* pMidi;
+ DMUS_PMSG* pEvent;
+ for (int x = 0; x < 16; x ++ )
+ {
+ if( SUCCEEDED( m_pPerformance->AllocPMsg( sizeof(DMUS_MIDI_PMSG),
+ (DMUS_PMSG**)&pMidi )))
+ {
+ ZeroMemory( pMidi, sizeof(DMUS_MIDI_PMSG) );
+ pMidi->bStatus = 0xb0 | x;
+ pMidi->bByte1 = 0x79; //Reset all controllers
+ pMidi->bByte2 = 0x00;
+ pMidi->dwType = DMUS_PMSGT_MIDI;
+ pEvent = (DMUS_PMSG*)pMidi;
+ pEvent->dwFlags = DMUS_PMSGF_REFTIME;
+ m_pPerformance->SendPMsg( pEvent );
+ }
+ if( SUCCEEDED( m_pPerformance->AllocPMsg( sizeof(DMUS_MIDI_PMSG),
+ (DMUS_PMSG**)&pMidi )))
+ {
+ ZeroMemory( pMidi, sizeof(DMUS_MIDI_PMSG) );
+ pMidi->bStatus = 0xb0 | x;
+ pMidi->bByte1 = 0x7b; //All notes off
+ pMidi->bByte2 = 0x00;
+ pMidi->dwType = DMUS_PMSGT_MIDI;
+ pEvent = (DMUS_PMSG*)pMidi;
+ pEvent->dwFlags = DMUS_PMSGF_REFTIME;
+ m_pPerformance->SendPMsg( pEvent );
+ }
+ }
+}
+
+// Get registry search path
+//
+static char szDirectMusicMedia[] = "\\DMusic\\Media";
+
+static BOOL GetSearchPath(WCHAR wszPath[MAX_PATH])
+{
+ HKEY hkDirectX;
+ BOOL bRet = FALSE;
+ char szPath[MAX_PATH];
+ DWORD cbPath;
+
+
+ // Get DirectX SDK search path from the registry
+ //
+ if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,
+ "Software\\Microsoft\\DirectX",
+ 0, // Reserved
+ KEY_READ,
+ &hkDirectX))
+ {
+ OutputDebugString( "Could not open registry\n" );
+ return FALSE;
+ }
+
+ cbPath = sizeof(szPath);
+ if (RegQueryValueEx(hkDirectX,
+ "DX6SDK Samples Path",
+ NULL, // Reserved
+ NULL, // Type: don't care
+ (LPBYTE)szPath,
+ &cbPath) == ERROR_SUCCESS)
+ {
+ if (cbPath + sizeof(szDirectMusicMedia) > MAX_PATH)
+ {
+ return FALSE;
+ }
+
+ strcat(szPath, szDirectMusicMedia);
+
+ // DirectMusic requires the search path as a wide string
+ //
+ mbstowcs(wszPath,
+ szPath,
+ MAX_PATH);
+ bRet = TRUE;
+ }
+
+ RegCloseKey(hkDirectX);
+ return bRet;
+}
+
+
+
--- /dev/null
+// CDMPlayer.cpp : implementation file
+//
+// Copyright (c) 1998 Microsoft Corporation. All rights reserved.
+/////////////////////////////////////////////////////////////////////////////
+
+#include "dmplayer.h"
+#include "scheme.h"
+
+static BOOL GetSearchPath(WCHAR wszPath[MAX_PATH]);
+
+/////////////////////////////////////////////////////////////////////////////
+// Members
+
+CDMPlayer::CDMPlayer(HWND hWnd)
+{
+ m_hWnd = hWnd;
+ m_bIsPlaying = FALSE;
+ m_bIsInitialized = FALSE;
+ m_pComposer = NULL;
+ m_pLoader = NULL;
+ m_pDirectMusic = NULL;
+ m_pPerformance = NULL;
+ m_pPort = NULL;
+ m_wTemplateNum = 0;
+
+ NullMediaPointers();
+
+ //Initialize COM
+ if ( FAILED( CoInitialize(NULL) ))
+ {
+ OutputDebugString( "Could not initialize COM\n" );
+ return;
+ }
+
+ // Create the loader
+ if ( FAILED(CoCreateInstance(CLSID_DirectMusicLoader, NULL, CLSCTX_INPROC,
+ IID_IDirectMusicLoader, (void**)&m_pLoader)))
+ {
+ OutputDebugString( "Could not create DMusic Loader\n" );
+ return;
+ }
+
+ //Set the search directory
+// WCHAR wzSearchDir[MAX_PATH];
+ HRESULT hr = E_FAIL;
+
+// if ( GetSearchPath(wzSearchDir) )
+// {
+// hr = m_pLoader->SetSearchDirectory(GUID_DirectMusicAllTypes, wzSearchDir, FALSE );
+// }
+
+// if ( FAILED(hr) )
+// {
+ hr = m_pLoader->SetSearchDirectory(GUID_DirectMusicAllTypes, L".", FALSE );
+ // }
+
+ if ( FAILED(hr) )
+ {
+ OutputDebugString( "Could not set search directory\n" );
+ return;
+ }
+
+ // Create the performance object
+ if (FAILED(CoCreateInstance(CLSID_DirectMusicPerformance, NULL,
+ CLSCTX_INPROC, IID_IDirectMusicPerformance, (void**)&m_pPerformance)))
+ {
+ OutputDebugString( "Could not create DMusic performance\n" );
+ return;
+ }
+
+ // Initialize the composer
+ if (FAILED(::CoCreateInstance(CLSID_DirectMusicComposer, NULL, CLSCTX_INPROC,
+ IID_IDirectMusicComposer, (void**)&m_pComposer)))
+ {
+ OutputDebugString( "Could not create DMusic composer\n" );
+ return;
+ }
+
+ // Initialize the software synthesizer
+ if( InitializeSynth() == FALSE )
+ {
+ OutputDebugString( "Initializing software synthesizer failed\n" );
+ return;
+ }
+
+ m_bIsInitialized = TRUE;
+
+ // Load the necessary scheme media
+ if( !LoadScheme(0))
+ {
+ MessageBox(m_hWnd, "Unable to load the media for the default scheme.",
+ "DirectMusic Shell: Initialization Error", MB_OK | MB_ICONEXCLAMATION );
+ m_bIsInitialized = FALSE;
+ return;
+ }
+
+// Start Playing
+ m_pDirectMusic->Activate(TRUE);
+// PlaySegment(0);
+// m_bIsPlaying = TRUE;
+}
+
+CDMPlayer::~CDMPlayer()
+{
+ ReleaseMediaPointers();
+
+ if (m_pPerformance){
+ m_pPerformance->Stop( NULL, NULL, 0, 0 );
+ while(m_pPerformance->IsPlaying(NULL,NULL) == DS_OK);
+ }
+
+ if (m_pLoader)
+ m_pLoader->ClearCache( GUID_DirectMusicAllTypes );
+
+ if (m_pLoader)
+ m_pLoader->Release();
+
+ if (m_pPort)
+ {
+ if (m_pPerformance)
+ m_pPerformance->RemovePort(m_pPort);
+ m_pPort->Release();
+ }
+ if (m_pDirectMusic)
+ m_pDirectMusic->Release();
+
+ if (m_pComposer)
+ m_pComposer->Release();
+
+ if (m_pPerformance)
+ m_pPerformance->Release();
+
+ CoUninitialize();
+}
+
+
+// Initialize the software synthesizer into the performance.
+// This function also calls IDirectMusicPerformance::Init to
+// initialize the performance and create the DirectMusic object.
+BOOL CDMPlayer::InitializeSynth()
+{
+ // Initialize the performance. Have the performance create the
+ // DirectMusic object by setting pDM to NULL. It is needed to
+ // create the port.
+ if( FAILED( m_pPerformance->Init( &m_pDirectMusic, NULL, m_hWnd )))
+ return FALSE;
+
+ DMUS_PORTPARAMS dmos;
+ ZeroMemory(&dmos, sizeof(DMUS_PORTPARAMS));
+ // create 1 channel group on the port
+ dmos.dwChannelGroups = 1;
+ // set the dwChannelGroups field as valid
+ dmos.dwValidParams = DMUS_PORTPARAMS_CHANNELGROUPS;
+ dmos.dwSize = sizeof(DMUS_PORTPARAMS);
+
+ m_pDirectMusic->Activate(FALSE);
+
+ if ( FAILED(m_pDirectMusic->CreatePort(CLSID_DirectMusicSynth, &dmos, &m_pPort, NULL)))
+ {
+ OutputDebugString( "Could not create port\n" );
+ return FALSE;
+ }
+ if ( FAILED( m_pPort->Activate(TRUE) ) )
+ {
+ OutputDebugString( "Could not activate port\n" );
+ return FALSE;
+ }
+ if( SUCCEEDED( m_pPerformance->AddPort( m_pPort)))
+ {
+ m_pPerformance->AssignPChannelBlock( 0, m_pPort, 1 );
+ return TRUE;
+ }
+ OutputDebugString( "Could not add port to the performance\n" );
+ return FALSE;
+}
+
+BOOL CDMPlayer::SelectOutputPort(WORD wPortIndex)
+{
+ if (!m_bIsInitialized)
+ return FALSE;
+
+ // Stop the performance and release the current port
+ BOOL bStatus = m_bIsPlaying;
+ m_bIsPlaying = FALSE;
+ if (m_pPort && m_pPerformance)
+ {
+ m_pPerformance->Invalidate(0, 0);
+ Stop();
+ m_pPerformance->RemovePort(m_pPort);
+ }
+ if (m_pBand)
+ {
+ m_pBand->Unload(m_pPerformance);
+ }
+ if (m_pPort)
+ {
+ m_pPort->Release();
+ m_pPort = NULL;
+ }
+
+ // Enumerate the new port to get its GUID
+ HRESULT hr;
+ DMUS_PORTCAPS dmpc;
+ GUID guidSynthGUID;
+ dmpc.dwSize = sizeof(DMUS_PORTCAPS);
+
+ hr = m_pDirectMusic->EnumPort(wPortIndex, &dmpc);
+
+ // Open the new port
+ if(SUCCEEDED(hr) && hr != S_FALSE)
+ {
+ CopyMemory(&guidSynthGUID, &dmpc.guidPort, sizeof(GUID));
+
+ DMUS_PORTPARAMS dmos;
+ ZeroMemory(&dmos, sizeof(dmos));
+ // create 1 channel group on the port
+ dmos.dwChannelGroups = 1;
+ // set the dwChannelGroups field as valid
+ dmos.dwValidParams = DMUS_PORTPARAMS_CHANNELGROUPS;
+ dmos.dwSize = sizeof(DMUS_PORTPARAMS);
+
+ hr = m_pDirectMusic->CreatePort(guidSynthGUID,
+ &dmos, &m_pPort, NULL);
+
+ if (FAILED (hr) )
+ return FALSE;
+
+ hr = m_pPort->Activate(TRUE);
+ if (FAILED(hr))
+ return FALSE;
+
+ // Add it to the performance
+ if( SUCCEEDED( m_pPerformance->AddPort( m_pPort)))
+ {
+ m_pPerformance->AssignPChannelBlock( 0, m_pPort, 1 );
+ if (m_pBand)
+ {
+ m_pBand->Download(m_pPerformance);
+ }
+ ResetMidiStream();
+ if (bStatus)
+ Start();
+
+ return TRUE;
+ }
+ }
+ OutputDebugString( "Could not select output port\n" );
+ return FALSE;
+}
+
+// Returns VALID_PORT for valid output ports
+// Returns INVALID_PORT for input or invalid ports
+// Returns SELECTED_PORT for the port that is currently selected
+WORD CDMPlayer::EnumOutputPort(WORD wPortIndex, PWSTR pwzPortName, WORD wBufferLength)
+{
+ if (!m_bIsInitialized)
+ return INVALID_PORT;
+
+ HRESULT hr;
+ DMUS_PORTCAPS dmpc;
+ GUID guidEnumPort;
+ dmpc.dwSize = sizeof(DMUS_PORTCAPS);
+
+ hr = m_pDirectMusic->EnumPort(wPortIndex, &dmpc);
+
+ if(SUCCEEDED(hr) && hr != S_FALSE)
+ {
+ if ((dmpc.dwClass == DMUS_PC_OUTPUTCLASS) && (dmpc.dwFlags & DMUS_PC_DLS))
+ {
+ //Get string length and account for the ending NULL character
+ WORD wStrLength = wcslen(dmpc.wszDescription) + 1;
+ if (wStrLength > wBufferLength)
+ {
+ wStrLength = wBufferLength - 1; //leave room for null character
+ *(pwzPortName + (wBufferLength - 1) ) = 0; //change the last character to NULL
+ //realizing that there are wSize charaters
+ //counting from 0, not 1
+ }
+ wcsncpy(pwzPortName, dmpc.wszDescription, wStrLength);
+ guidEnumPort = dmpc.guidPort;
+ if( m_pPort )
+ {
+ hr = m_pPort->GetCaps(&dmpc);
+ if(SUCCEEDED(hr) && hr != S_FALSE)
+ {
+ if (dmpc.guidPort == guidEnumPort)
+ return SELECTED_PORT;
+ }
+ }
+ return VALID_PORT;
+ }
+ else
+ {
+ OutputDebugString( "Non-DLS-compatible port\n" );
+ return INVALID_PORT;
+ }
+ }
+ else
+ {
+ OutputDebugString( "Finished enumertating ports\n" );
+ return NO_PORT;
+ }
+}
+
+// This routine loads the style and band
+// there is a hard coded assumption that the band name is "Default"
+BOOL CDMPlayer::LoadStyle(WCHAR* pwzFileName)
+{
+ DMUS_OBJECTDESC ObjectDescript;
+ ObjectDescript.dwSize = sizeof(DMUS_OBJECTDESC);
+ ObjectDescript.guidClass = CLSID_DirectMusicStyle;
+ wcscpy(ObjectDescript.wszFileName, pwzFileName );
+ ObjectDescript.dwValidData = DMUS_OBJ_CLASS | DMUS_OBJ_FILENAME ;
+
+ if (SUCCEEDED(m_pLoader->GetObject( &ObjectDescript, IID_IDirectMusicStyle,
+ (void**)&m_pStyle)))
+ {
+ BSTR bstr = SysAllocString(L"Default");
+ m_pStyle->GetBand(bstr, &m_pBand) ;
+ SysFreeString(bstr);
+ if (m_pBand)
+ {
+ m_pBand->Download(m_pPerformance);
+ return TRUE;
+ }
+ }
+ OutputDebugString( "Could not load style\n" );
+ return FALSE;
+}
+
+BOOL CDMPlayer::LoadChordMap(WCHAR* pwzFileName)
+{
+ DMUS_OBJECTDESC ObjectDescript;
+ ObjectDescript.dwSize = sizeof(DMUS_OBJECTDESC);
+ ObjectDescript.guidClass = CLSID_DirectMusicChordMap;
+ wcscpy(ObjectDescript.wszFileName, pwzFileName);
+ ObjectDescript.dwValidData = DMUS_OBJ_CLASS | DMUS_OBJ_FILENAME;
+ if (SUCCEEDED(m_pLoader->GetObject( &ObjectDescript, IID_IDirectMusicChordMap,
+ (void**)&m_pChordMap)))
+ {
+ return TRUE;
+ }
+ OutputDebugString( "Could not load chord map\n" );
+ return FALSE;
+}
+
+BOOL CDMPlayer::LoadTemplate(DWORD dwIndex, WCHAR* pwzName)
+{
+ if (m_pTemplates[dwIndex])
+ m_pTemplates[dwIndex]->Release();
+
+ DMUS_OBJECTDESC ObjectDescript;
+ ObjectDescript.dwSize = sizeof(DMUS_OBJECTDESC);
+ ObjectDescript.guidClass = CLSID_DirectMusicSegment;
+ wcscpy(ObjectDescript.wszFileName, pwzName);
+ ObjectDescript.dwValidData = DMUS_OBJ_CLASS | DMUS_OBJ_FILENAME;
+ if (SUCCEEDED(m_pLoader->GetObject( &ObjectDescript, IID_IDirectMusicSegment,
+ (void**)&m_pTemplates[dwIndex])))
+ {
+ return TRUE;
+ }
+ OutputDebugString( "Could not load template\n" );
+ return FALSE;
+}
+
+BOOL CDMPlayer::ComposeSegment(DWORD dwIndex)
+{
+ m_pComposer->ComposeSegmentFromTemplate(
+ m_pStyle,
+ m_pTemplates[dwIndex],
+ 1,
+ m_pChordMap,
+ &m_pPrimarySegments[dwIndex]);
+ if (m_pPrimarySegments[dwIndex])
+ {
+ m_pPrimarySegments[dwIndex]->SetRepeats(999);
+ return TRUE;
+ }
+ OutputDebugString( "Could not compose segment\n" );
+ return FALSE;
+}
+//
+//\83e\83\93\83v\83\8c\81[\83g\82ð\89\89\91t\82·\82é\8aÖ\90\94
+//
+void CDMPlayer::PlaySegment(void)
+{
+ if (!m_bIsInitialized)
+ return;
+ if(!m_bIsPlaying)
+ return;
+
+ if (m_pPrimarySegments[m_wTemplateNum] )
+ {
+ m_pPerformance->PlaySegment(
+ m_pPrimarySegments[m_wTemplateNum], DMUS_SEGF_BEAT , 0, NULL);
+ }
+}
+
+void CDMPlayer::StopSegment(void)
+{
+ if(!m_bIsInitialized)
+ return;
+ if(!m_bIsPlaying)
+ return;
+
+ if (m_pPrimarySegments[m_wTemplateNum] )
+ {
+ m_pPerformance->Stop(
+ m_pPrimarySegments[m_wTemplateNum], NULL,0,0);
+ }
+}
+
+// Load the dls set that the band needs, but just leave it in the cache.
+// Then, it will be referenced and loaded by the bands in the styles and segments.
+BOOL CDMPlayer::LoadDLS(WCHAR* sFileName)
+{
+ // No need to load GM.DLS. The filename will be blank in this case
+ if ( wcscmp(sFileName, L"") == 0 )
+ return TRUE;
+
+ DMUS_OBJECTDESC ObjectDescript;
+ ObjectDescript.dwSize = sizeof(DMUS_OBJECTDESC);
+ ObjectDescript.guidClass = CLSID_DirectMusicCollection;
+ wcscpy(ObjectDescript.wszFileName, sFileName);
+ ObjectDescript.dwValidData = DMUS_OBJ_CLASS | DMUS_OBJ_FILENAME ;
+ IDirectMusicObject* pObject = NULL;
+ if (SUCCEEDED(m_pLoader->GetObject(&ObjectDescript, IID_IDirectMusicObject,
+ (void**)&pObject)))
+ {
+ pObject->Release();
+ return TRUE;
+ }
+ OutputDebugString( "Could not load dls\n" );
+ return FALSE;
+}
+
+void CDMPlayer::PlayMotif(WORD wMotif)
+{
+ if (!m_bIsPlaying)
+ return;
+
+ if (!m_bIsInitialized)
+ return;
+
+
+ if (wMotif >= DME_MAXEVENTNUM)
+ return;
+
+ // Throw away redundant events that occur in the same beat.
+ // The purpose is to prevent more than one motif of any given
+ // type from triggering in the same beat.
+ MUSIC_TIME mtNow, mtNowBeat;
+ m_pPerformance->GetTime(NULL, &mtNow);
+ mtNowBeat = mtNow/DMUS_PPQ;
+ if (mtNowBeat == m_mtPreviousEventBeatNumber[wMotif])
+ return;
+ m_mtPreviousEventBeatNumber[wMotif] = mtNowBeat;
+
+ //Play the motif
+ if (m_pMotifs[wMotif] && m_pPerformance)
+ {
+ m_pPerformance->PlaySegment(m_pMotifs[wMotif],
+ (DMUS_SEGF_SECONDARY | DMUS_SEGF_BEAT), 0, NULL);
+ }
+}
+
+BOOL CDMPlayer::LoadScheme(WORD wSchIndx)
+{
+ if (!LoadDLS(Schemes[wSchIndx].DLSName) )
+ return FALSE;
+ if (!LoadStyle(Schemes[wSchIndx].StyleName) )
+ return FALSE;
+ if (!LoadChordMap(Schemes[wSchIndx].ChordMapName) )
+ return FALSE;
+
+ WORD x;
+
+ for ( x = 0; x < NUM_TEMPLATES ; x++)
+ {
+ if (wcscmp(Schemes[wSchIndx].TemplateNames[x], L"") != 0)
+ if ( LoadTemplate( x, Schemes[wSchIndx].TemplateNames[x] ) )
+ ComposeSegment( x );
+ }
+
+ for ( x = 0; x < DME_MAXEVENTNUM ; x++)
+ {
+ if ( Schemes[wSchIndx].MotifNames[x] )
+ if (wcscmp(Schemes[wSchIndx].MotifNames[x], L"") != 0)
+ m_pStyle->GetMotif(Schemes[wSchIndx].MotifNames[x], &m_pMotifs[x]);
+ }
+
+ return TRUE;
+}
+
+BOOL CDMPlayer::SelectNewScheme(WORD wSchemeNum)
+{
+ if (!m_bIsInitialized)
+ return FALSE;
+
+ ReleaseMediaPointers();
+ NullMediaPointers();
+ BOOL bReturn = LoadScheme(wSchemeNum);
+
+ ResetMidiStream();
+
+ return bReturn;
+}
+
+BOOL CDMPlayer::GetSchemeName(WORD wSchemeNum, PWSTR pwzSchemeName, WORD wBufferLength)
+{
+ if (wSchemeNum >= NUM_SCHEMES)
+ return FALSE;
+ WORD wStrLength = wcslen(Schemes[wSchemeNum].FriendlySchemeName) + 1; //grab null char also
+ if (wStrLength > wBufferLength)
+ {
+ wStrLength = wBufferLength - 1; //leave room for null character
+ *(pwzSchemeName + (wBufferLength - 1) ) = 0; //change the last character to NULL
+ //realizing that there are wSize charaters
+ //counting from 0, not 1
+ }
+ wcsncpy(pwzSchemeName, Schemes[wSchemeNum].FriendlySchemeName, wStrLength);
+ return TRUE;
+}
+
+void CDMPlayer::Start()
+{
+ if (!m_bIsInitialized)
+ return;
+ m_bIsPlaying = TRUE;
+}
+
+void CDMPlayer::Stop()
+{
+ if (m_pPerformance)
+ m_pPerformance->Stop( NULL, NULL, 0, 0 );
+
+ ResetMidiStream();
+ m_bIsPlaying = FALSE;
+}
+
+BOOL CDMPlayer::IsPlaying()
+{
+ return m_bIsPlaying;
+}
+
+void CDMPlayer::NullMediaPointers()
+{
+ for (int x = 0; x < NUM_TEMPLATES; x++)
+ m_pPrimarySegments[x] = NULL;
+
+ m_pChordMap = NULL;
+
+ m_pStyle = NULL;
+
+ for (x = 0; x < DME_MAXEVENTNUM; x++)
+ m_pMotifs[x] = NULL;
+
+ for (x = 0; x < NUM_TEMPLATES; x++)
+ m_pTemplates[x] = NULL;
+
+ m_pBand = NULL;
+
+ for (x = 0; x < DME_MAXEVENTRANGE; x++)
+ m_mtPreviousEventBeatNumber[x] = 0;
+
+}
+
+void CDMPlayer::ReleaseMediaPointers()
+{
+ for (int x = 0; x < DME_MAXEVENTNUM; x++)
+ {
+ if (m_pMotifs[x])
+ m_pMotifs[x]->Release();
+ }
+
+ if (m_pChordMap)
+ m_pChordMap->Release();
+
+ for (x = 0; x < NUM_TEMPLATES; x++)
+ {
+ if (m_pPrimarySegments[x])
+ m_pPrimarySegments[x]->Release();
+ }
+
+ if (m_pStyle)
+ m_pStyle->Release();
+
+ for (x = 0; x < NUM_TEMPLATES; x++)
+ {
+ if (m_pTemplates[x])
+ m_pTemplates[x]->Release();
+ }
+
+ if (m_pBand)
+ {
+ m_pBand->Unload(m_pPerformance);
+ m_pBand->Release();
+ }
+}
+
+void CDMPlayer::ResetMidiStream()
+{
+ if (!m_pPerformance)
+ return;
+
+ DMUS_MIDI_PMSG* pMidi;
+ DMUS_PMSG* pEvent;
+ for (int x = 0; x < 16; x ++ )
+ {
+ if( SUCCEEDED( m_pPerformance->AllocPMsg( sizeof(DMUS_MIDI_PMSG),
+ (DMUS_PMSG**)&pMidi )))
+ {
+ ZeroMemory( pMidi, sizeof(DMUS_MIDI_PMSG) );
+ pMidi->bStatus = 0xb0 | x;
+ pMidi->bByte1 = 0x79; //Reset all controllers
+ pMidi->bByte2 = 0x00;
+ pMidi->dwType = DMUS_PMSGT_MIDI;
+ pEvent = (DMUS_PMSG*)pMidi;
+ pEvent->dwFlags = DMUS_PMSGF_REFTIME;
+ m_pPerformance->SendPMsg( pEvent );
+ }
+ if( SUCCEEDED( m_pPerformance->AllocPMsg( sizeof(DMUS_MIDI_PMSG),
+ (DMUS_PMSG**)&pMidi )))
+ {
+ ZeroMemory( pMidi, sizeof(DMUS_MIDI_PMSG) );
+ pMidi->bStatus = 0xb0 | x;
+ pMidi->bByte1 = 0x7b; //All notes off
+ pMidi->bByte2 = 0x00;
+ pMidi->dwType = DMUS_PMSGT_MIDI;
+ pEvent = (DMUS_PMSG*)pMidi;
+ pEvent->dwFlags = DMUS_PMSGF_REFTIME;
+ m_pPerformance->SendPMsg( pEvent );
+ }
+ }
+}
+
+// Get registry search path
+//
+static char szDirectMusicMedia[] = "\\DMusic\\Media";
+
+static BOOL GetSearchPath(WCHAR wszPath[MAX_PATH])
+{
+ return FALSE;
+
+ HKEY hkDirectX;
+ BOOL bRet = FALSE;
+ char szPath[MAX_PATH];
+ DWORD cbPath;
+
+
+ // Get DirectX SDK search path from the registry
+ //
+ if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,
+ "Software\\Microsoft\\DirectX",
+ 0, // Reserved
+ KEY_READ,
+ &hkDirectX))
+ {
+ OutputDebugString( "Could not open registry\n" );
+ return FALSE;
+ }
+
+ cbPath = sizeof(szPath);
+ if (RegQueryValueEx(hkDirectX,
+ "DX6SDK Samples Path",
+ NULL, // Reserved
+ NULL, // Type: don't care
+ (LPBYTE)szPath,
+ &cbPath) == ERROR_SUCCESS)
+ {
+ if (cbPath + sizeof(szDirectMusicMedia) > MAX_PATH)
+ {
+ return FALSE;
+ }
+
+ strcat(szPath, szDirectMusicMedia);
+
+ // DirectMusic requires the search path as a wide string
+ //
+ mbstowcs(wszPath,
+ szPath,
+ MAX_PATH);
+ bRet = TRUE;
+ }
+
+ RegCloseKey(hkDirectX);
+ return bRet;
+}
+
+void CDMPlayer::SelectTemplateNum(WORD wTemplateNum){
+ if (wTemplateNum > NUM_TEMPLATES)
+ return;
+ m_wTemplateNum = wTemplateNum;
+}
+
+
+
--- /dev/null
+// dmplayer.h : header file
+//
+// Copyright (c) 1998 Microsoft Corporation. All rights reserved.
+/////////////////////////////////////////////////////////////////////////////
+#ifndef _DMPLAYER_H
+#define _DMPLAYER_H
+#include <windows.h>
+#include <objbase.h>
+//#include <initguid.h>
+#include <direct.h>
+#include <dmusicc.h>
+#include <dmusici.h>
+#include "events.h"
+#include "events.h"
+
+#define NUM_SCHEMES 1
+#define NUM_TEMPLATES 5
+
+// The scheme structure stores all of the filename and motif names associated with
+// a musical scheme.
+struct SCHEME
+{
+ PWSTR FriendlySchemeName; //Human readable name for the menu
+ PWSTR StyleName; //Filename
+ PWSTR DLSName; //Filename (blank if the style uses GM.DLS)
+ PWSTR ChordMapName; //Filename
+ PWSTR TemplateNames[NUM_TEMPLATES]; //Filename
+ PWSTR MotifNames[DME_MAXEVENTNUM]; //Motif name contained in the style (referenced above)
+};
+
+#define MENU_FIELD_LENGTH 256
+#define ITEM_LENGTH 128
+#define INVALID_PORT 0
+#define VALID_PORT 1
+#define SELECTED_PORT 2
+#define NO_PORT 3
+
+/////////////////////////////////////////////////////////////////////////////
+// The DMPlayer class encapsulates all of the DirectMusic interface and objects.
+// CMain calls DMPlayer to respond to incoming Shell events and user input
+// from the popup menu.
+//
+
+class CDMPlayer
+{
+public:
+ CDMPlayer(HWND hWnd);
+ virtual ~CDMPlayer();
+ BOOL SelectNewScheme(WORD wSchemeNum);
+ BOOL SelectOutputPort(WORD wPortIndex);
+ BOOL GetSchemeName(WORD wSchemeNum, PWSTR pwzSchemeName, WORD wBufferLength);
+ WORD EnumOutputPort(WORD wPortIndex, PWSTR pwzPortName, WORD wBufferLength);
+ void Start();
+ void Stop();
+ BOOL IsPlaying();
+ BOOL IsInitialized(void){return m_bIsInitialized;};
+ void PlayMotif(WORD wMotif);
+ void PlaySegment(void);
+ void StopSegment(void);
+ void SelectTemplateNum(WORD wTemplateNum);
+ WORD GetTemplateNum(void){return m_wTemplateNum;};
+protected:
+ void ResetMidiStream();
+ void NullMediaPointers();
+ void ReleaseMediaPointers();
+ BOOL InitializeSynth();
+ BOOL LoadScheme(WORD wSchemeIndex);
+ BOOL LoadStyle(WCHAR* pwzFileName);
+ BOOL LoadDLS(WCHAR* pwzFileName);
+ BOOL LoadChordMap(WCHAR* pwzFileName);
+ BOOL LoadTemplate(DWORD dwIndex, WCHAR* pwzName);
+ BOOL ComposeSegment(DWORD dwIndex);
+
+ IDirectMusicLoader* m_pLoader;
+ IDirectMusicPerformance* m_pPerformance;
+ IDirectMusicStyle* m_pStyle;
+ IDirectMusicSegment* m_pMotifs[DME_MAXEVENTNUM];
+ IDirectMusicChordMap* m_pChordMap;
+ IDirectMusicSegment* m_pTemplates[NUM_TEMPLATES];
+ IDirectMusicSegment* m_pPrimarySegments[NUM_TEMPLATES];
+ // the primary segments correspond to the templates
+ // on a 1:1 basis
+ IDirectMusicComposer* m_pComposer;
+ IDirectMusic* m_pDirectMusic;
+ IDirectMusicPort* m_pPort;
+ IDirectMusicBand* m_pBand;
+
+ HWND m_hWnd;
+ BOOL m_bIsPlaying;
+ BOOL m_bIsInitialized;
+ MUSIC_TIME m_mtPreviousEventBeatNumber[DME_MAXEVENTRANGE];
+ WORD m_wTemplateNum;
+};
+
+#endif // _DMPLAYER_H
+
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
--- /dev/null
+// events.h : header file
+//
+// Copyright (c) 1998 Microsoft Corporation. All rights reserved.
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _EVENTS_H
+#define _EVENTS_H
+
+
+//Events played on Motifs
+#define DME_STARTBUTTON 0
+#define DME_GAMEABORT 1
+#define DME_MAXEVENTNUM 2 //Max for array sizing
+
+//Special case events
+#define DME_MAXEVENTRANGE 2 //Array size for event filter
+
+#define NUM_PORTS 10
+
+#endif // _EVENTS_H
+
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
--- /dev/null
+// Scheme.cpp : implementation file
+//
+// Copyright (c) 1998 Microsoft Corporation. All rights reserved.
+/////////////////////////////////////////////////////////////////////////////
+
+#include "scheme.h"
+
+
+
+CTemplateIndex::CTemplateIndex(HWND hWnd, WORD wTemplate)
+{
+ m_hWnd = hWnd;
+ m_wTemplate = wTemplate;
+ m_pNextIndex = NULL;
+}
+
+CTemplateIndex::~CTemplateIndex()
+{
+}
+
+CTemplateMapper::CTemplateMapper()
+{
+ m_pFirstIndex = NULL;
+}
+
+CTemplateMapper::~CTemplateMapper()
+{
+ DeleteAll();
+}
+
+WORD CTemplateMapper::GetTemplate(HWND hWnd)
+{
+ // Scan through list looking for hWnd
+ CTemplateIndex** ppTI = &m_pFirstIndex;
+ while (*ppTI != NULL)
+ {
+ if ( (*ppTI)->m_hWnd == hWnd )
+ {
+ return (*ppTI)->m_wTemplate;
+ }
+ ppTI = &( (*ppTI)->m_pNextIndex );
+ }
+
+ //hWnd is new, generate optimal template number and create a new index entry
+ WORD wTemplate = PickNewTemplate();
+ CTemplateIndex* pTI = new CTemplateIndex(hWnd, wTemplate);
+ *ppTI = pTI;
+ return wTemplate;
+}
+
+WORD CTemplateMapper::PickNewTemplate()
+{
+ WORD wTemplHistogram[NUM_TEMPLATES];
+ for (WORD x = 0; x < NUM_TEMPLATES; x++)
+ wTemplHistogram[x] = 0;
+
+ //Fill the histogram array with the number of open apps using each template
+ CTemplateIndex* pTI = m_pFirstIndex;
+ while (pTI != NULL)
+ {
+ if ( pTI->m_wTemplate < NUM_TEMPLATES )
+ wTemplHistogram[pTI->m_wTemplate]++;
+
+ pTI = pTI->m_pNextIndex;
+ }
+
+ //Determine the lowest level in the histogram
+ WORD wLowestReferenceCount = 0xFFFF;
+ for (x = 0; x < NUM_TEMPLATES; x++)
+ {
+ if ( wTemplHistogram[x] < wLowestReferenceCount)
+ wLowestReferenceCount = wTemplHistogram[x];
+ }
+
+ //Fill an array with the template numbers having the lowest number of app references
+ WORD wNumTemplsWithLowestRefCount = 0;
+ WORD wOptimalTemplSelections[NUM_TEMPLATES];
+ for (x = 0; x < NUM_TEMPLATES; x++)
+ {
+ if ( wTemplHistogram[x] == wLowestReferenceCount)
+ {
+ wOptimalTemplSelections[wNumTemplsWithLowestRefCount] = x;
+ wNumTemplsWithLowestRefCount++;
+ }
+ }
+
+ //error conditions
+ if (wNumTemplsWithLowestRefCount == 0 || wNumTemplsWithLowestRefCount > NUM_TEMPLATES)
+ wNumTemplsWithLowestRefCount = NUM_TEMPLATES;
+
+
+ //Randomly select between the templates with the least number of references
+ WORD wTemplateNum;
+ if (wNumTemplsWithLowestRefCount == 1)
+ {
+ //Choice is obvious
+ wTemplateNum = wOptimalTemplSelections[0];
+ }
+ else
+ {
+ SYSTEMTIME sysTime;
+ GetSystemTime( &sysTime);
+ srand ( sysTime.wMilliseconds);
+ WORD wTemplateIndex = rand() % wNumTemplsWithLowestRefCount ;
+ wTemplateNum = wOptimalTemplSelections[wTemplateIndex];
+ }
+
+ //Disaster protection
+ if (wTemplateNum >= NUM_TEMPLATES)
+ wTemplateNum = 0;
+
+ return wTemplateNum;
+}
+
+void CTemplateMapper::DeleteAll()
+{
+ CTemplateIndex* pTICurrent = m_pFirstIndex;
+ CTemplateIndex* pTINext = NULL;
+ while (pTICurrent != NULL)
+ {
+ pTINext = pTICurrent->m_pNextIndex;
+ delete pTICurrent;
+ pTICurrent = pTINext;
+ }
+}
+
+void CTemplateMapper::DeleteWin(HWND hWnd)
+{
+ return;
+ CTemplateIndex* pTIPrevious = NULL;
+ CTemplateIndex* pTICurrent = m_pFirstIndex;
+ CTemplateIndex* pTINext = NULL;
+ while (pTICurrent != NULL)
+ {
+ pTINext = pTICurrent->m_pNextIndex;
+ if (pTICurrent->m_hWnd == hWnd)
+ {
+ if (pTIPrevious == NULL)
+ {
+ delete pTICurrent;
+ m_pFirstIndex = pTINext;
+ }
+ else
+ {
+ delete pTICurrent;
+ pTIPrevious->m_pNextIndex = pTINext;
+ }
+ }
+ }
+}
--- /dev/null
+// scheme.h : header file
+//
+// Copyright (c) 1998 Microsoft Corporation. All rights reserved.
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _SCHEME_H
+#define _SCHEME_H
+
+
+
+static SCHEME Schemes[NUM_SCHEMES] =
+{
+/* {L"Euro Dance",
+ L"Mix.sty",
+ L"shell.dls",
+ L"mix.per",
+ {L"mix1.tpl", L"mix2.tpl", L"mix3.tpl", L"mix4.tpl",L"mix5.tpl"},
+ {
+ L"Closeapp", //DME_WINDOWCLOSE
+ L"Maxwindow", //DME_MAXIMIZE
+ L"Minwindow", //DME_MINIMIZE
+ L"Maxwindow", //DME_RESTORE
+ L"Scrollbar", //DME_SCROLL
+ L"Movemenu" , //DME_WINDOWMOVE
+ L"Movemenu", //DME_WINDOWSIZE
+ L"Movemenu", //DME_MENUPOPUP
+ L"Movemenu", //DME_MENUSELECT
+ L"Keyboard", //DME_KEYRETURN
+ L"Keyboard", //DME_KEYBACKSPACE
+ L"Keyboard", //DME_KEYSPACE
+ L"Keyboard", //DME_KEYGENERIC
+ L"Startmenu", //DME_STARTBUTTON
+ L"", //DME_MOUSELBDOWN
+ L"", //DME_MOUSELBUP
+ L"", //DME_MOUSELDBLCLK
+ L"", //DME_MOUSERBDOWN
+ L"", //DME_MOUSERBUP
+ L"", //DME_MOUSERDBLCLK
+ L"Openapp" //DME_APPOPEN
+ }
+ }
+ */
+ {L"Adult Contemporary",
+ L"Style1.sty",
+ L"",
+ L"ChordMap1.cdm",
+ {L"test1.tpl", L"test1.tpl", L"test1.tpl", L"test1.tpl",L"test1.tpl"},
+ {
+ L"gamestartbutton", //DME_WINDOWCLOSE
+ L"gameabort" //DME_MAXIMIZE
+/* L"win min", //DME_MINIMIZE
+ L"win max", //DME_RESTORE
+ L"scroll", //DME_SCROLL
+ L"win min", //DME_WINDOWMOVE
+ L"win min", //DME_WINDOWSIZE
+ L"menu mvt", //DME_MENUPOPUP
+ L"menu mvt", //DME_MENUSELECT
+ L"scroll", //DME_KEYRETURN
+ L"", //DME_KEYBACKSPACE
+ L"", //DME_KEYSPACE
+ L"", //DME_KEYGENERIC
+ L"start menu", //DME_STARTBUTTON
+ L"", //DME_MOUSELBDOWN
+ L"", //DME_MOUSELBUP
+ L"", //DME_MOUSELDBLCLK
+ L"", //DME_MOUSERBDOWN
+ L"", //DME_MOUSERBUP
+ L"", //DME_MOUSERDBLCLK
+ L"app open" //DME_APPOPEN
+ */
+ }
+ }
+ /* {L"New Age",
+ L"MinimalD.sty",
+ L"",
+ L"Minimal.per",
+ {L"Minimal1.tpl", L"Minimal2.tpl",L"Minimal3.tpl", L"Minimal4.tpl",L"Minimal5.tpl"},
+ {
+ L"OpenApp", //DME_WINDOWCLOSE
+ L"CloseApp" //DME_WINDOWMOVE
+
+ L"MaxWindow", //DME_MAXIMIZE
+ L"MinWindow", //DME_MINIMIZE
+ L"MaxWindow", //DME_RESTORE
+ L"MinWindow", //DME_SCROLL
+ L"CloseApp", //DME_WINDOWMOVE
+ L"CloseApp", //DME_WINDOWSIZE
+ L"CloseApp", //DME_MENUPOPUP
+ L"CloseApp", //DME_MENUSELECT
+ L"Placeholder2", //DME_KEYRETURN
+ L"Placeholder1", //DME_KEYBACKSPACE
+ L"Placeholder1", //DME_KEYSPACE
+ L"Placeholder3", //DME_KEYGENERIC
+ L"OpenApp", //DME_STARTBUTTON
+ L"", //DME_MOUSELBDOWN
+ L"", //DME_MOUSELBUP
+ L"", //DME_MOUSELDBLCLK
+ L"", //DME_MOUSERBDOWN
+ L"", //DME_MOUSERBUP
+ L"", //DME_MOUSERDBLCLK
+ L"OpenApp" //DME_APPOPEN
+ }
+ }
+*/
+};
+#endif
+/////////////////////////////////////////////////////////////////////////////
+
--- /dev/null
+[Picasa]
+name=project
--- /dev/null
+<h2>BCC55\82É\82æ\82é\81A\83r\83\8b\83h\95û\96@</h2>
+<p>\82±\82Ì\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82Í\81A
+<ul>
+<li><a href="http://www.borland.co.jp" >Borland C++ Compiler\81@5.5</a></li>
+<li>DirectX8SDK</li>
+<li><a href="http://www.geocities.com/foetsch/">Michael Fotsch\82³\82ñ\82Ì\83y\81[\83W</a>\82É\82 \82é\81A<a href="http://www.geocities.com/foetsch/borlibs/index.htm">BCC\97pDirectX8\83C\83\93\83|\81[\83g\83\89\83C\83u\83\89\83\8a</a></li>
+</ul>
+\82ð\8eg\97p\82µ\82Ä\83r\83\8b\83h\82³\82ê\82Ä\82¢\82Ü\82·\81B</p>
+<p>
+\83A\81[\83J\83C\83u\83t\83@\83C\83\8b\82Í\81A\95\81\92Ê\82É\89ð\93\80\82µ\82Ü\82·\82Æ\81A\88È\89º\82Ì\82æ\82¤\82È\8aK\91w\8d\\91¢\82É\82È\82Á\82Ä\82¢\82Ü\82·\81B<br/>
+<img src="images/folder.png"><br/>
+source\83f\83B\83\8c\83N\83g\83\8a\81i\96{\91Ì\81j\82¨\82æ\82Ñsource\sfglib\81i\83\89\83C\83u\83\89\83\8aDLL\81j\83f\83B\83\8c\83N\83g\83\8a\82É\81ABCC55\97p\82ÌMAKEFILE\82ª\93ü\82Á\82Ä\82¢\82Ü\82·\81B<br/>
+lib\83f\83B\83\8c\83N\83g\83\8a\82É\82Í\81A<a href="http://www.geocities.com/foetsch/">Michael Fotsch\82³\82ñ\82Ì\83y\81[\83W</a>\82É\82 \82é\81A<a href="http://www.geocities.com/foetsch/borlibs/index.htm">BCC\97pDirectX8\83C\83\93\83|\81[\83g\83\89\83C\83u\83\89\83\8a</a>\82Æ\81Asfglib.lib\83t\83@\83C\83\8b\82ª\93ü\82Á\82Ä\82¢\82Ü\82·\81B<br/>
+\95\81\92Ê\82ÉDX8SDK(c:\mssdk)\81ABCC(c:\borland)\82ª\83C\83\93\83X\83g\81[\83\8b\82³\82ê\82Ä\82¢\82ê\82Î\81AMS-DOS\83v\83\8d\83\93\83v\83g\82©\82ç\8ae\83f\83B\83\8c\83N\83g\83\8a\82É\88Ú\93®\82µ\81Amake\82Å\83r\83\8b\83h\82Å\82«\82é\82Í\82¸\82Å\82·\81B<br/>
+source\sfglib\82Ì\95û\82ð\90æ\82É\83r\83\8b\83h\82µ\82Ä\82\82¾\82³\82¢\81B<br/>
+</p>
--- /dev/null
+/Author.DRW/1.1.1.1/Fri May 11 10:14:02 2001/-kb/
+/Author.bmp/1.1.1.1/Fri May 11 10:14:02 2001/-kb/
+/ENE_XG.MID/1.1.1.1/Fri May 11 10:14:02 2001/-kb/
+/FloppyCopy.bat/1.1.1.1/Fri May 11 10:14:04 2001//
+/FloppyRestore.bat/1.1.1.1/Fri May 11 10:14:02 2001//
+/Font1.bmp/1.1.1.1/Fri May 11 10:14:04 2001/-kb/
+/Font2.bmp/1.1.1.1/Fri May 11 10:14:04 2001/-kb/
+/HomePageCopy.bat/1.1.1.1/Fri May 11 10:14:02 2001//
+/LFNDOS.TXT/1.1.1.1/Fri May 11 10:14:04 2001//
+/Style1.sty/1.1.1.1/Fri May 11 10:14:02 2001/-kb/
+/WIN32B55.MAK/1.1.1.1/Fri May 11 10:14:04 2001//
+/blank.bmp/1.1.1.1/Fri May 11 10:14:04 2001/-kb/
+/chrfile.dat/1.1.1.1/Fri May 11 10:14:04 2001//
+/debug.bat/1.1.1.1/Fri May 11 10:14:02 2001//
+/episode.dat/1.1.1.1/Fri May 11 10:14:04 2001//
+/fdcopy.bat/1.1.1.1/Fri May 11 10:14:02 2001//
+/flip.lst/1.1.1.1/Fri May 11 10:14:02 2001//
+/font.dat/1.1.1.1/Fri May 11 10:14:04 2001//
+/genx.mak/1.1.1.1/Fri May 11 10:14:02 2001//
+/highscore.dat/1.1.1.1/Fri May 11 10:14:04 2001//
+/icon1.ico/1.1.1.1/Fri May 11 10:14:02 2001/-kb/
+/make.log/1.1.1.1/Fri May 11 10:14:02 2001//
+/make.txt/1.1.1.1/Fri May 11 10:14:02 2001//
+/sf1.dat/1.1.1.1/Fri May 11 10:14:04 2001//
+/test.X/1.1.1.1/Fri May 11 10:14:04 2001//
+/test.map/1.1.1.1/Fri May 11 10:14:02 2001//
+/test2.dat/1.1.1.1/Fri May 11 10:14:04 2001//
+/test1.dis/1.2/Tue May 29 01:13:32 2001//
+/resource.h/1.2/Tue May 29 09:27:52 2001//
+/genx.rc/1.1.1.1/Tue May 29 09:27:52 2001//
+/sourcefilelist.wsf/1.2/Fri Jun 22 20:28:54 2001//
+/test.dis/1.8/Wed Jun 13 02:20:06 2001//
+/err.txt/1.3/Fri Jul 06 21:43:50 2001//
+D/sfglib////
+D/s2001////
+/BuildMethod.html/1.1/Sun Oct 28 01:39:20 2001//
+/MAKEFILE/1.8/Sun Oct 28 21:45:04 2001//
+/WinMain.cpp/1.7/Sun Oct 28 21:45:06 2001//
+/buildcopy.bat/1.1/Sat Oct 27 23:47:24 2001//
+/game.dat/1.3/Sat Jul 21 22:54:28 2001//
+/genx.plg/1.13/Sun Oct 28 14:10:42 2001//
--- /dev/null
+A D/s2001editor////
+A D/s2001editor////
--- /dev/null
+:local:c:\home
--- /dev/null
+\r#if !defined(AFX_EA01_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_)\r#define AFX_EA01_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_\r\r#if _MSC_VER > 1000\r#pragma once\r#endif
+\r#include "AbstractEnemy.h"\rnamespace sf {\r namespace application {\r namespace enemy {\r\rclass EA01 : public AbstractEnemy\r{\rpublic:\r
+ EA01();\r virtual ~EA01();\r
+ void initialize();\r
+ void move(void);\r void hit(Character * const pDest);\r void allBomb(void);\r
+ static void load(void);\r static void unload(void);\r static Character * const create(float x,float y ,float z,sf::application::scene::Game * const pGame,int index);\r
+ sf::application::hit::Interface * const hitObj(void){return &mHitRect;};\rprivate:\r enum State {\r MOVE,\r SHOOT,\r DEAD\r } mState;\r\r void die(void);\r\r int mDirCount;\r float mDirSpeed;\r sf::application::hit::HitRect mHitRect;\r sf::system::console::ObjRectangle mObj;\r sf::system::console::ObjRectangle mObjFoot;\r\r static sf::system::console::sprite::PSprite mspSprite[2];\r static const sf::system::console::sprite::Info msSpriteInfo[2];\r\r static const int SCORE; \r \r bool mbHit;\r int mShootCount;\r int mShootTimer;\r float mDeltaTime;\r float mDeltaTimeRev;\r float mSpeed;\r float mDirBackup;\r int mAnimTimer;\r int mAnimSpeed;\r\r};\r }\r }\r}\r\r#endif
--- /dev/null
+fdcopy.bat < fdcopy.in
--- /dev/null
+xcopy a:\*.* "c:\my documents\genx\project" /D
--- /dev/null
+Turbo Debugger restart file
\ No newline at end of file
--- /dev/null
+xcopy "c:\my documents\genx\project\*.cpp" c:\inetpub\wwwroot\source\game /D
+xcopy "c:\my documents\genx\project\*.h" c:\inetpub\wwwroot\source\game /D
+xcopy "c:\my documents\genx\project\*.rc" c:\inetpub\wwwroot\source\game /D
+xcopy "c:\my documents\genx\project\MAKEFILE" c:\inetpub\wwwroot\source\game /D
+xcopy "c:\my documents\genx\project\*.ico" c:\inetpub\wwwroot\source\game /D
+xcopy "c:\my documents\genx\project\*.bmp" c:\inetpub\wwwroot\source\game /D
--- /dev/null
+<html><head>
+<title>InputImpl.cpp</title>
+</head>
+<body><pre>
+<p>InputImpl.cpp</p>
+<font color="green">//@STATE=\8dì\90¬\92\86</font>
+<font color="green">//@DESCRIPTION ---------------------------------------------------------------</font>
+<font color="green">// InputImpl \92\8a\8fÛ\83N\83\89\83X\82Ì\8bï\8fÛ\81i\8eÀ\91\95\81j\83N\83\89\83X</font>
+<font color="green">// \83T\83\93\83v\83\8b\82©\82ç\83p\83N\83\8a\82Ü\82\82Á\82Ä\82Ü\82·\81B </font>
+<font color="green">// \97\9a\97ð:</font>
+<font color="green">// $Log: InputImpl.cpp,v $</font>
+<font color="green">// Revision 1.5 2001/07/09 20:30:08 fujiwara</font>
+<font color="green">// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý</font>
+<font color="green">//</font>
+<font color="green">// Revision 1.4 2001/07/01 21:30:34 fujiwara</font>
+<font color="green">// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ</font>
+<font color="green">//</font>
+<font color="green">// Revision 1.3 2001/07/01 01:03:44 fujiwara</font>
+<font color="green">// const \82Ì\8c©\92¼\82µ</font>
+<font color="green">// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß</font>
+<font color="green">//</font>
+<font color="green">// Revision 1.2 2001/05/29 01:12:45 fujiwara</font>
+<font color="green">// \8eG\8b\9b\83L\83\83\83\89(\94ò\8ds\95¨\81j\82Ì\8dì\90¬\81B\94z\92u\83G\83f\83B\83^\82Ì\83o\83O\8fC\90³</font>
+<font color="green">//</font>
+<font color="green">// Revision 1.1 2001/05/12 01:07:33 fujiwara</font>
+<font color="green">// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á</font>
+<font color="green">//</font>
+<font color="green">// 2001/01/29 \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p\83\89\83C\83u\83\89\83\8a\82Ì\92Ç\89Á </font>
+<font color="green">//@DESCRIPTION_END -----------------------------------------------------------</font>
+<font color="green">//@AUTHOR=S.F.</font>
+<font color="green">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</font>
+<font color="green">///////////////////////////////////////////////////////////////////////////////</font>
+<font color="blue">#pragma</font> warning( disable : 4786 ) <font color="green">//STL\82Ì\8cx\8d\90\8aO\82µ</font>
+
+<font color="green">// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p</font>
+<font color="blue">#include</font> "sfdebug.h"
+
+<font color="blue">#define</font> WIN32_LEAN_AND_MEAN
+<font color="blue">#define</font> _WIN32_WINNT 0x0400
+<font color="blue">#include</font> "math.h"
+<font color="blue">#include</font> <list>
+<font color="blue">#include</font> <queue>
+<font color="blue">#include</font> <memory>
+<font color="blue">#include</font> <map>
+
+<font color="blue">#include</font> "windows.h"
+<font color="blue">#include</font> "windowsx.h"
+<font color="blue">#include</font> "d3d8.h"
+<font color="blue">#include</font> "d3dx8.h"
+<font color="blue">#include</font> "dmusici.h"
+<font color="blue">#include</font> "dinput.h"
+<font color="blue">#include</font> "dxerr8sf.h"
+
+<font color="green">// PROJECT INCLUDES</font>
+<font color="green">//</font>
+
+<font color="blue">#include</font> "exception.h"
+<font color="blue">#include</font> "resource.h"
+<font color="blue">#include</font> "<font color="DarkRed">System</font>.h"
+<font color="blue">#include</font> "Console.h"
+<font color="blue">#include</font> "Obj.h"
+<font color="blue">#include</font> "singleton.h"
+<font color="blue">#include</font> "AbstractSprite.h"
+<font color="blue">#include</font> "ConsoleImpl.h"
+<font color="blue">#include</font> "<font color="Brown">SoundImpl</font>.h"
+
+<font color="blue">#ifdef</font> _DEBUG
+<font color="blue">#define</font> new DEBUG_NEW
+<font color="blue">#endif</font>
+
+<font color="blue">#include</font> "<font color="Brown">InputImpl</font>.h"
+<font color="blue">#include</font> "<font color="DarkRed">Scene</font>.h"
+<font color="blue">#include</font> "MainApp.h"
+<font color="blue">#include</font> "<font color="Brown">SystemImpl</font>.h"
+
+<font color="green">//////////////////////////////////////////////////////////////////////</font>
+<font color="green">// \8d\\92z/\8fÁ\96Å</font>
+<font color="green">//////////////////////////////////////////////////////////////////////</font>
+
+<font color="blue">using</font> <font color="blue">namespace</font> <font color="darkblue">sf</font>::<font color="darkblue">system</font>::<font color="darkblue">input</font>;
+
+<font color="green">// \83f\83t\83H\83\8b\83g\83R\83\93\83X\83g\83\89\83N\83^ ---------------------------------------------------</font>
+<font color="Brown">InputImpl</font>::InputImpl()
+{
+
+}
+
+<font color="green">// \83R\83\93\83X\83g\83\89\83N\83^ -------------------------------------------------------------</font>
+<font color="Brown">InputImpl</font>::InputImpl(HWND hwnd)
+{
+ mHWND = hwnd;
+<font color="green">// initialize(); </font>
+}
+
+<font color="green">// \83f\83X\83g\83\89\83N\83^ ---------------------------------------------------------------</font>
+<font color="Brown">InputImpl</font>::~InputImpl()
+{
+ uninitialize();
+}<font color="green">// ~InputImpl()</font>
+
+<font color="green">// \8f\89\8aú\89» ---------------------------------------------------------------------</font>
+<font color="blue">void</font> <font color="Brown">InputImpl</font>::initialize(void)
+{
+
+ mpDI = NULL;
+ mpJoystick = NULL;
+ mpKeyboard = NULL;
+ mbEnabled = false;
+
+ mbLeft = false;
+ mbRight = false;
+ mbUp = false;
+ mbDown = false;
+
+ mbButtonA = false;
+ mbButtonB = false;
+ mbButtonC = false;
+ mbButtonD = false;
+
+ mbStart = false;
+ mbExit = false;
+
+ mbBeforeLeft = false;
+ mbBeforeRight = false;
+ mbBeforeUp = false;
+ mbBeforeDown = false;
+
+ mbBeforeButtonA = false;
+ mbBeforeButtonB = false;
+ mbBeforeButtonC = false;
+ mbBeforeButtonD = false;
+
+ mbBeforeStart = false;
+ mbBeforeExit = false;
+<font color="green">// uninitialize();</font>
+ mbEnabled = false;
+ mbMouseCursor = false;
+
+ HRESULT hr;
+
+
+ <font color="green">// DirectInput \83I\83u\83W\83F\83N\83g\82Ì\90¶\90¬</font>
+ <font color="blue">if</font>( FAILED( hr = DirectInput8Create( GetModuleHandle(NULL), DIRECTINPUT_VERSION,
+ IID_IDirectInput8, (VOID**)&mpDI, NULL ) ) )
+ { <font color="blue">std</font>::string tmp("DirectInput8Create() Error : ");
+ tmp += DXGetErrorString8(hr);
+ tmp += " ";
+ throw FatalErrorException(tmp,__FILE__,__LINE__);
+ }
+
+ <font color="green">// Joystick\82Ì\8f\89\8aú\89» </font>
+ <font color="blue">try</font> {
+ initJoystick();
+ } <font color="blue">catch</font> (RecoverbleErrorException e)
+ {
+ <font color="blue">if</font>(mpJoystick != NULL){
+ mpJoystick->Release();
+ mpJoystick = NULL;
+ }
+ } <font color="blue">catch</font> (...){
+ throw;
+ }
+
+
+ <font color="green">// KeyBoard\82Ì\8f\89\8aú\89»</font>
+
+ <font color="blue">try</font> {
+ initKeyboard();
+ } <font color="blue">catch</font> (RecoverbleErrorException e) {
+ <font color="blue">if</font>(mpKeyboard != NULL)
+ {
+ mpKeyboard->Release();
+ mpKeyboard = NULL;
+ }
+
+ } <font color="blue">catch</font> (...){
+ throw;
+ }
+
+ <font color="green">// \93ü\97Í\83f\83o\83C\83X\82ª\91¶\8dÝ\82µ\82È\82¢\8fê\8d\87\82Í\81A\83G\83\89\81[\82Å\8fI\97¹\82·\82é\81B</font>
+
+ <font color="blue">if</font>(NULL == mpJoystick && NULL == mpKeyboard)
+ {
+ throw FatalErrorException("<font color="Brown">InputImpl</font> Device Not Found\r\n",__FILE__,__LINE__);
+ };
+
+ addWindowMessageMap();
+
+ mbEnabled = true;
+}<font color="green">// intialize()</font>
+
+<font color="green">// \8fI\97¹ -----------------------------------------------------------------------</font>
+<font color="blue">void</font> <font color="Brown">InputImpl</font>::uninitialize(void)
+{
+ KeyboardListenerList::iterator it = mKeyboardListenerList.begin();
+
+ <font color="blue">while</font>(it != mKeyboardListenerList.end())
+ {
+ <font color="blue">if</font>(*it != NULL){
+ (*it)->keyboardTalkerIsDeleted();
+<font color="green">// ++it;</font>
+ }
+ it = mKeyboardListenerList.erase(it);
+ }
+
+ it = mKeyboardListenerQ.begin();
+
+ <font color="blue">while</font>(it != mKeyboardListenerQ.end())
+ {
+ <font color="blue">if</font>(*it != NULL){
+ (*it)->keyboardTalkerIsDeleted();
+
+ }
+ it = mKeyboardListenerQ.erase(it);
+ }
+
+ MouseListenerList::iterator itm = mMouseListenerList.begin();
+
+ <font color="blue">while</font>(itm != mMouseListenerList.end())
+ {
+ <font color="blue">if</font>(*itm != NULL){
+ (*itm)->mouseTalkerIsDeleted();
+<font color="green">// ++itm;</font>
+ }
+ itm = mMouseListenerList.erase(itm);
+ }
+
+ itm = mMouseListenerQ.begin();
+
+ <font color="blue">while</font>(itm != mMouseListenerQ.end())
+ {
+ <font color="blue">if</font>(*itm != NULL){
+ (*itm)->mouseTalkerIsDeleted();
+<font color="green">// ++itm;</font>
+ }
+ itm = mMouseListenerQ.erase(itm);
+ }
+
+ <font color="blue">if</font>(mpJoystick){
+ mpJoystick->Release();
+ mpJoystick = NULL;
+ }
+
+ <font color="blue">if</font>(mpKeyboard){
+ mpKeyboard->Release();
+ mpKeyboard = NULL;
+ }
+
+ <font color="blue">if</font>(mpDI){
+ mpDI->Release();
+ mpDI = NULL;
+ }
+
+}<font color="green">// uninitialize()</font>
+
+<font color="green">// \83W\83\87\83C\83X\83e\83B\83b\83N\83f\83o\83C\83X\97ñ\8b\93\97p\83R\81[\83\8b\83o\83b\83N ---------------------------------</font>
+BOOL <font color="Brown">InputImpl</font>::enumJoysticksCallback(<font color="blue">const</font> DIDEVICEINSTANCE *pdidInstance)
+{
+ HRESULT hr;
+
+ <font color="green">// Obtain an interface to the enumerated joystick.</font>
+ hr = mpDI->CreateDevice( pdidInstance->guidInstance, &mpJoystick, NULL );
+
+ <font color="green">// If it failed, then we can't use this joystick. (Maybe the user unplugged</font>
+ <font color="green">// it while we were in the middle of enumerating it.)</font>
+ <font color="blue">if</font>( FAILED(hr) )
+ <font color="blue">return</font> DIENUM_CONTINUE;
+
+ <font color="green">// Stop enumeration. Note: we're just taking the first joystick we get. You</font>
+ <font color="green">// could store all the enumerated joysticks and let the user pick.</font>
+ <font color="blue">return</font> DIENUM_STOP;
+}
+
+
+<font color="green">// \83W\83\87\83C\83X\83e\83B\83b\83N\82Ì\8f\89\8aú\89» ---------------------------------------------------</font>
+<font color="blue">void</font> <font color="Brown">InputImpl</font>::initJoystick(void)
+{
+
+ HRESULT hr = E_FAIL;
+
+ <font color="green">// DirectInput\83f\83o\83C\83X\82Ì\97ñ\8b\93</font>
+ <font color="blue">if</font>( FAILED(hr = mpDI->EnumDevices( DI8DEVCLASS_GAMECTRL,
+ enumJoysticksCallback,
+ (VOID*)this, DIEDFL_ATTACHEDONLY ) ) )
+ {
+ throw RecoverbleErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+ }
+
+ <font color="green">// Make sure we got a joystick</font>
+ <font color="blue">if</font>( NULL == mpJoystick )
+ { throw RecoverbleErrorException(" NULL == mpJoystick",__FILE__,__LINE__);}
+
+ <font color="blue">if</font>( FAILED(mpJoystick->SetDataFormat( &c_dfDIJoystick2 ) ) )
+ {
+ throw RecoverbleErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+ }
+
+ <font color="green">// Set the cooperative level to let DInputImpl know how this device should</font>
+ <font color="green">// interact with the system and with other DInputImpl applications.</font>
+ <font color="blue">if</font>( FAILED(mpJoystick->SetCooperativeLevel( mHWND, DISCL_EXCLUSIVE |
+ DISCL_FOREGROUND ) ) )
+ {
+ throw RecoverbleErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);}
+
+ <font color="green">// Determine how many axis the joystick has (so we don't error out setting</font>
+ <font color="green">// properties for unavailable axis)</font>
+ mDIJoystickDevCaps.dwSize = sizeof(DIDEVCAPS);
+ <font color="blue">if</font> ( FAILED(mpJoystick->GetCapabilities(&mDIJoystickDevCaps) ) )
+ {
+ throw RecoverbleErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+
+ }
+
+
+ <font color="green">// Enumerate the axes of the joyctick and set the range of each axis. Note:</font>
+ <font color="green">// we could just use the defaults, but we're just trying to show an example</font>
+ <font color="green">// of enumerating device objects (axes, buttons, etc.).</font>
+ <font color="blue">if</font> ( FAILED(mpJoystick->EnumObjects( enumAxesCallback,
+ (VOID*)this, DIDFT_AXIS ) ) )
+ {
+ throw RecoverbleErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+
+ }
+}<font color="green">// InitJoystick()</font>
+
+<font color="green">// \83W\83\87\83C\83X\83e\83B\83b\83N\82Ì\90Ý\92è\83R\81[\83\8b\83o\83b\83N\81@-------------------------------------------------</font>
+BOOL <font color="Brown">InputImpl</font>::enumAxesCallback( <font color="blue">const</font> DIDEVICEOBJECTINSTANCE* pdidoi)
+{
+
+ DIPROPRANGE diprg;
+ diprg.diph.dwSize = sizeof(DIPROPRANGE);
+ diprg.diph.dwHeaderSize = sizeof(DIPROPHEADER);
+ diprg.diph.dwHow = DIPH_BYID;
+ diprg.diph.dwObj = pdidoi->dwType; <font color="green">// Specify the enumerated axis</font>
+ diprg.lMin = -1000;
+ diprg.lMax = +1000;
+
+ <font color="green">// Set the range for the axis</font>
+ <font color="blue">if</font>( FAILED( mpJoystick->SetProperty( DIPROP_RANGE, &diprg.diph ) ) )
+ {
+ <font color="blue">return</font> DIENUM_STOP;
+ }
+
+ <font color="blue">return</font> DIENUM_CONTINUE;
+}<font color="green">// enumAxesCallback </font>
+
+<font color="green">// \83L\81[\83{\81[\83h\83f\83o\83C\83X\82Ì\8f\89\8aú\89» -------------------------------------------------</font>
+<font color="blue">void</font> <font color="Brown">InputImpl</font>::initKeyboard(void)
+{
+ HRESULT hr = E_FAIL;
+
+ <font color="green">// \83L\81[\83{\81[\83h\83f\83o\83C\83X\82Ì\8dì\90¬</font>
+ <font color="blue">if</font>( FAILED( hr = mpDI->CreateDevice( GUID_SysKeyboard, &mpKeyboard, NULL ) ) )
+ { <font color="green">//system::Factory::getInstance()->outputError(DXGetErrorString8(hr));</font>
+ throw RecoverbleErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+ }
+
+ <font color="blue">if</font>( FAILED( hr = mpKeyboard->SetDataFormat( &c_dfDIKeyboard ) ) )
+ {
+ <font color="green">//system::Factory::getInstance()->outputError(DXGetErrorString8(hr));</font>
+ throw RecoverbleErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+ }
+
+ <font color="green">// \8b¦\92²\83\8c\83x\83\8b\82Ì\90Ý\92è </font>
+ <font color="blue">if</font>(FAILED(mpKeyboard->SetCooperativeLevel( mHWND, DISCL_NONEXCLUSIVE | DISCL_FOREGROUND )))
+ {
+ throw RecoverbleErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+ }
+
+ <font color="green">// Acquire the newly created device</font>
+ mpKeyboard->Acquire();
+}<font color="green">// initKeyboard</font>
+
+<font color="green">// \83L\81[\83{\81[\83h\81E\83W\83\87\83C\83X\83e\83B\83b\83N\82Ì\8c»\8dÝ\82Ì\8fó\91Ô\82ð\8eæ\93¾ -----------------------------</font>
+<font color="blue">void</font> <font color="Brown">InputImpl</font>::update(void)
+{
+ HRESULT hr = E_FAIL;
+ <font color="blue">bool</font> b_joystick = false;
+ <font color="blue">bool</font> b_keyboard = false;
+
+ <font color="green">// \83W\83\87\83C\83X\83e\83B\83b\83N\82Ì\8c»\8dÝ\8fó\91Ô\82ð\8eæ\93¾ //</font>
+ <font color="blue">if</font>(mpJoystick){
+ mpJoystick->Poll();
+ hr = mpJoystick->GetDeviceState(sizeof(DIJOYSTATE2),(LPVOID)&mDIJoyState);
+ <font color="blue">if</font>(FAILED(hr)){
+ mpJoystick->Acquire();
+ <font color="blue">while</font>( hr == DIERR_INPUTLOST )
+ hr = mpJoystick->Acquire();
+ } <font color="blue">else</font> {
+ b_joystick = true;
+ }
+
+
+ }
+
+ <font color="green">// \83L\81[\83{\81[\83h\82Ì\8c»\8dÝ\8fó\91Ô\82ð\8eæ\93¾ //</font>
+ <font color="blue">if</font>(mpKeyboard){
+<font color="green">// ZeroMemory( &mDIKeys, sizeof(mDIKeys) );</font>
+ hr = mpKeyboard->GetDeviceState(sizeof(mDIKeys),(LPVOID)&mDIKeys);
+ <font color="blue">if</font>(FAILED(hr)){
+<font color="blue">#ifdef</font> _DEBUG
+ OutputDebugString(DXGetErrorString8(hr));
+<font color="blue">#endif</font>
+ mpKeyboard->Acquire();
+ <font color="blue">while</font>( hr == DIERR_INPUTLOST )
+ hr = mpKeyboard->Acquire();
+ } <font color="blue">else</font> {
+ b_keyboard = true;
+ }
+ }
+
+ <font color="green">//</font>
+ mbBeforeLeft = mbLeft;
+ mbBeforeRight = mbRight;
+ mbBeforeUp = mbUp;
+ mbBeforeDown = mbDown;
+
+ mbBeforeButtonA = mbButtonA;
+ mbBeforeButtonB = mbButtonB;
+ mbBeforeButtonC = mbButtonC;
+ mbBeforeButtonD = mbButtonD;
+
+ mbBeforeStart = mbStart;
+ mbBeforeExit = mbExit;
+
+ mbLeft = mbRight = mbUp = mbDown = false;
+ mbButtonA = mbButtonB = mbButtonC = mbButtonD = false;
+ mbStart = mbExit = false;
+
+
+ <font color="blue">if</font>(b_joystick){
+
+ <font color="blue">if</font>(mDIJoyState.lX > 300){
+ mbRight = true;
+ } <font color="blue">else</font> {
+ <font color="blue">if</font>(mDIJoyState.lX < -300)
+ {
+
+ mbLeft = true;
+ }
+ }
+
+ <font color="blue">if</font>(mDIJoyState.lY > 300)
+ mbDown = true;
+ <font color="blue">else</font>
+ <font color="blue">if</font>(mDIJoyState.lY < -300)
+ mbUp = true;
+
+ <font color="blue">if</font>(mDIJoyState.rgbButtons[0])
+ {
+ mbButtonA = true;
+ mbStart = true;
+ }
+
+ <font color="blue">if</font>(mDIJoyState.rgbButtons[1])
+ mbButtonB = true;
+
+ <font color="blue">if</font>(mDIJoyState.rgbButtons[2])
+ mbButtonC = true;
+
+ <font color="blue">if</font>(mDIJoyState.rgbButtons[3])
+ mbButtonD = true;
+ }
+
+ <font color="blue">if</font>(b_keyboard){
+
+ <font color="blue">if</font>(mDIKeys[DIK_LEFT] & 0x80)
+ mbLeft = true;
+
+ <font color="blue">if</font>(mDIKeys[DIK_RIGHT] & 0x80)
+ mbRight = true;
+
+ <font color="blue">if</font>(mDIKeys[DIK_UP] & 0x80)
+ mbUp = true;
+
+ <font color="blue">if</font>(mDIKeys[DIK_DOWN] & 0x80)
+ mbDown = true;
+
+ <font color="blue">if</font>(mDIKeys[DIK_Z] & 0x80)
+ mbButtonA = true;
+
+ <font color="blue">if</font>(mDIKeys[DIK_X] & 0x80)
+ mbButtonB = true;
+
+ <font color="blue">if</font>(mDIKeys[DIK_C] & 0x80)
+ mbButtonC = true;
+
+ <font color="blue">if</font>(mDIKeys[DIK_V] & 0x80)
+ mbButtonD = true;
+
+ <font color="blue">if</font>(mDIKeys[DIK_SPACE] & 0x80)
+ mbStart = true;
+
+ <font color="blue">if</font>(mDIKeys[DIK_ESCAPE] & 0x80)
+ mbExit = true;
+
+ }
+
+ <font color="green">// \83C\83x\83\93\83g\83\8a\83X\83i\81[Q\81¨\83C\83x\83\93\83g\83\8a\83X\83i\81[\83\8a\83X\83g\82Ö //</font>
+ MouseListenerList::iterator it = mMouseListenerQ.begin();
+
+ <font color="blue">while</font>(it != mMouseListenerQ.end())
+ {
+ <font color="blue">if</font>(*it != NULL){
+ mMouseListenerList.push_back(*it);
+ }
+ it = mMouseListenerQ.erase(it);
+
+ }
+
+ KeyboardListenerList::iterator itk = mKeyboardListenerQ.begin();
+
+ <font color="blue">while</font>(itk != mKeyboardListenerQ.end())
+ {
+ <font color="blue">if</font>(*itk != NULL){
+ mKeyboardListenerList.push_back(*itk);
+ }
+ itk = mKeyboardListenerQ.erase(itk);
+ }
+}<font color="green">// update() </font>
+
+LRESULT <font color="Brown">InputImpl</font>::onSetCursor(<font color="blue">const</font> HWND hwnd, <font color="blue">const</font> WPARAM wParam, <font color="blue">const</font> LPARAM lParam)
+{
+ <font color="blue">if</font>(<font color="darkblue">system</font>::Factory::getInstance()->isActive() && !mouseCursorVisibility())
+ {
+ SetCursor(NULL);<font color="green">//\83}\83E\83X\83J\81[\83\\83\8b\82ð\8fÁ\82·\81B</font>
+ <font color="blue">return</font> 0;
+ }
+ <font color="blue">return</font> DefWindowProc (hwnd, WM_SETCURSOR,wParam, lParam);
+}<font color="green">// onSetCursor()</font>
+
+<font color="green">// \83}\83E\83X\82Ì\8d¶\83{\83^\83\93\82ª\89\9f\82³\82ê\82½ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|</font>
+LRESULT <font color="Brown">InputImpl</font>::onLButtonDown(<font color="blue">const</font> HWND hwnd, <font color="blue">const</font> WPARAM wParam, <font color="blue">const</font> LPARAM lParam)
+{
+ <font color="blue">return</font> callMouseListenerMethod(hwnd,wParam,lParam,<font color="darkblue">input</font>::<font color="darkblue">mouse</font>::<font color="DarkRed">Listener</font>::leftButtonDown);
+}<font color="green">// onLButtonDown()</font>
+
+<font color="green">// \83}\83E\83X\82Ì\8d¶\83{\83^\83\93\82ª\97£\82³\82ê\82½ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|</font>
+LRESULT <font color="Brown">InputImpl</font>::onLButtonUp(<font color="blue">const</font> HWND hwnd, <font color="blue">const</font> WPARAM wParam, <font color="blue">const</font> LPARAM lParam)
+{
+ <font color="blue">return</font> callMouseListenerMethod(hwnd,wParam,lParam,<font color="darkblue">input</font>::<font color="darkblue">mouse</font>::<font color="DarkRed">Listener</font>::leftButtonUp);
+}<font color="green">// onLButtonUp()</font>
+
+<font color="green">// \83}\83E\83X\82Ì\8d¶\83{\83^\83\93\82ª\83_\83u\83\8b\83N\83\8a\83b\83N\82³\82ê\82½\81@\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|</font>
+LRESULT <font color="Brown">InputImpl</font>::onLButtonDoubleClick(<font color="blue">const</font> HWND hwnd, <font color="blue">const</font> WPARAM wParam, <font color="blue">const</font> LPARAM lParam)
+{
+ <font color="blue">return</font> callMouseListenerMethod(hwnd,wParam,lParam,<font color="darkblue">input</font>::<font color="darkblue">mouse</font>::<font color="DarkRed">Listener</font>::leftButtonDoubleClick);
+}<font color="green">// onLButtonDoubleClick()</font>
+
+<font color="green">// \83}\83E\83X\82Ì\89E\83{\83^\83\93\82ª\97£\82³\82ê\82½ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|</font>
+LRESULT <font color="Brown">InputImpl</font>::onRButtonDown(<font color="blue">const</font> HWND hwnd, <font color="blue">const</font> WPARAM wParam, <font color="blue">const</font> LPARAM lParam)
+{
+ <font color="blue">return</font> callMouseListenerMethod(hwnd,wParam,lParam,<font color="darkblue">input</font>::<font color="darkblue">mouse</font>::<font color="DarkRed">Listener</font>::rightButtonDown);
+}<font color="green">// onRButtonDown()</font>
+
+<font color="green">// \83}\83E\83X\82Ì\89E\83{\83^\83\93\82ª\89\9f\82³\82ê\82½ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|</font>
+LRESULT <font color="Brown">InputImpl</font>::onRButtonUp(<font color="blue">const</font> HWND hwnd, <font color="blue">const</font> WPARAM wParam, <font color="blue">const</font> LPARAM lParam)
+{
+ <font color="blue">return</font> callMouseListenerMethod(hwnd,wParam,lParam,<font color="darkblue">input</font>::<font color="darkblue">mouse</font>::<font color="DarkRed">Listener</font>::rightButtonUp);
+}<font color="green">// onRButtonUp()</font>
+
+<font color="green">// \83}\83E\83X\82Ì\89E\83{\83^\83\93\82ª\83_\83u\83\8b\83N\83\8a\83b\83N\82³\82ê\82½\81@\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|</font>
+LRESULT <font color="Brown">InputImpl</font>::onRButtonDoubleClick(<font color="blue">const</font> HWND hwnd, <font color="blue">const</font> WPARAM wParam, <font color="blue">const</font> LPARAM lParam)
+{
+ <font color="blue">return</font> callMouseListenerMethod(hwnd,wParam,lParam,<font color="darkblue">input</font>::<font color="darkblue">mouse</font>::<font color="DarkRed">Listener</font>::rightButtonDoubleClick);
+}<font color="green">// onRButtonDoubleClick()</font>
+
+<font color="green">// \83}\83E\83X\82ª\93®\82¢\82½\81@\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|</font>
+LRESULT <font color="Brown">InputImpl</font>::onMouseMove(<font color="blue">const</font> HWND hwnd, <font color="blue">const</font> WPARAM wParam, <font color="blue">const</font> LPARAM lParam)
+{
+ <font color="blue">return</font> callMouseListenerMethod(hwnd,wParam,lParam,<font color="darkblue">input</font>::<font color="darkblue">mouse</font>::<font color="DarkRed">Listener</font>::mouseMove);
+}<font color="green">// onMouseMove()</font>
+
+<font color="green">// \83z\83C\81[\83\8b\82ª\93®\82¢\82½\81@\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|</font>
+LRESULT <font color="Brown">InputImpl</font>::onMouseWheel(<font color="blue">const</font> HWND hwnd, <font color="blue">const</font> WPARAM wParam, <font color="blue">const</font> LPARAM lParam)
+{
+ <font color="blue">return</font> callMouseListenerMethod(hwnd,wParam,lParam,<font color="darkblue">input</font>::<font color="darkblue">mouse</font>::<font color="DarkRed">Listener</font>::mouseWheel);
+}<font color="green">// onMouseWheel()</font>
+
+<font color="green">// MouseListener\82Ì\83\81\83\\83b\83h\82ð\8cÄ\82Ñ\8fo\82· \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|</font>
+LRESULT <font color="Brown">InputImpl</font>::callMouseListenerMethod(<font color="blue">const</font> HWND hwnd, <font color="blue">const</font> WPARAM wParam, <font color="blue">const</font> LPARAM lParam,<font color="blue">void</font>(<font color="darkblue">mouse</font>::<font color="DarkRed">Listener</font>::* pMethod)(<font color="blue">const</font> <font color="blue">int</font>,<font color="blue">const</font> <font color="blue">int</font>,<font color="blue">const</font> DWORD))
+{
+ <font color="blue">using</font> <font color="blue">namespace</font> <font color="darkblue">sf</font>::<font color="darkblue">system</font>::<font color="darkblue">input</font>;
+
+ <font color="blue">if</font>(mMouseListenerList.size() == 0)
+ <font color="blue">return</font> 0;
+
+ POINT pt;
+
+ pt.x = LOWORD(lParam);
+ pt.y = HIWORD(lParam);
+
+ ClientToScreen(hwnd,&pt);
+
+ DWORD mkey = 0;
+
+ <font color="blue">if</font>(MK_CONTROL & wParam)
+ mkey |= <font color="darkblue">mouse</font>::MKEY_CONTROL;
+
+ <font color="blue">if</font>(MK_SHIFT & wParam)
+ mkey |= <font color="darkblue">mouse</font>::MKEY_SHIFT;
+
+ mkey |= (wParam & 0xffff0000);
+
+
+ MouseListenerList::iterator it = mMouseListenerList.begin();
+
+ <font color="blue">while</font>(it != mMouseListenerList.end())
+ {
+ <font color="blue">if</font>(*it == NULL){
+ it = mMouseListenerList.erase(it);
+ } <font color="blue">else</font> {
+ <font color="blue">if</font>((*it)->isListeningMouse()){
+ ((*it)->*pMethod)(pt.x,pt.y,mkey);
+ }
+ ++it;
+ }
+ }
+
+ <font color="blue">return</font> 0;
+}<font color="green">// callListener</font>
+
+<font color="green">// \83L\81[\89\9f\89º\8e\9e\82Ì\8f\88\97\9d -----------------------------------------------------------</font>
+LRESULT <font color="Brown">InputImpl</font>::onKeyDown(<font color="blue">const</font> HWND hwnd, <font color="blue">const</font> WPARAM wParam, <font color="blue">const</font> LPARAM lParam)
+{
+ DWORD extKey = 0;
+
+ <font color="green">// \82Æ\82è\82 \82¦\82¸\81AESC\83L\81[\82ª\89\9f\82³\82ê\82½\82ç\8fI\97¹\82·\82é\82æ\82¤\82É\82µ\82Ä\82¢\82é</font>
+ <font color="blue">switch</font>(wParam)
+ {
+ <font color="blue">case</font> 'Q':
+ PostMessage( hwnd, WM_CLOSE, 0, 0L );
+ break;
+ <font color="blue">default</font>:
+
+ <font color="blue">if</font>(GetAsyncKeyState(VK_SHIFT))
+ extKey |= <font color="darkblue">keyboard</font>::SHIFT;
+
+ <font color="blue">if</font>(GetAsyncKeyState(VK_CONTROL))
+ extKey |= <font color="darkblue">keyboard</font>::CONTROL;
+
+
+ KeyboardListenerList::iterator it = mKeyboardListenerList.begin();
+
+ <font color="blue">while</font>(it != mKeyboardListenerList.end())
+ {
+ <font color="blue">if</font>(*it == NULL){
+ it = mKeyboardListenerList.erase(it);
+ } <font color="blue">else</font> {
+ <font color="blue">if</font>((*it)->isListeningKeyboard()){
+ (*it)->keyDown(wParam,extKey);
+ }
+ ++it;
+ }
+ }
+
+ }
+ <font color="blue">return</font> 0; <font color="green">// WM_KEYDOWN</font>
+}<font color="green">// onKeyDown</font>
+
+<font color="green">// \83L\81[\82ª\97£\82³\82ê\82½\8e\9e\82Ì\8f\88\97\9d -----------------------------------------------------------</font>
+LRESULT <font color="Brown">InputImpl</font>::onKeyUp(<font color="blue">const</font> HWND hwnd, <font color="blue">const</font> WPARAM wParam, <font color="blue">const</font> LPARAM lParam)
+{
+ <font color="blue">return</font> 0;
+}<font color="green">// onKeyUp</font>
+
+<font color="green">// \83E\83B\83\93\83h\83E\83\81\83b\83Z\81[\83W\83n\83\93\83h\83\89\82ðSystemImpl\82É\93o\98^ \81|\81|\81|\81|\81|\81|\81|\81|</font>
+<font color="blue">void</font> <font color="Brown">InputImpl</font>::addWindowMessageMap()
+{
+ <font color="Brown">SystemImpl</font> *pSys = dynamic_cast<<font color="Brown">SystemImpl</font> *>(<font color="darkblue">system</font>::Factory::getInstance());
+
+ pSys->addWindowMessage(WM_SETCURSOR, new WindowMessageImpl<<font color="Brown">InputImpl</font>>(this,&<font color="Brown">InputImpl</font>::onSetCursor));
+ pSys->addWindowMessage(WM_LBUTTONDOWN,new WindowMessageImpl<<font color="Brown">InputImpl</font>>(this,&<font color="Brown">InputImpl</font>::onLButtonDown));
+ pSys->addWindowMessage(WM_LBUTTONUP,new WindowMessageImpl<<font color="Brown">InputImpl</font>>(this,&<font color="Brown">InputImpl</font>::onLButtonUp));
+ pSys->addWindowMessage(WM_LBUTTONDBLCLK,new WindowMessageImpl<<font color="Brown">InputImpl</font>>(this,&<font color="Brown">InputImpl</font>::onLButtonDoubleClick));
+
+ pSys->addWindowMessage(WM_RBUTTONDOWN,new WindowMessageImpl<<font color="Brown">InputImpl</font>>(this,&<font color="Brown">InputImpl</font>::onRButtonDown));
+ pSys->addWindowMessage(WM_RBUTTONUP,new WindowMessageImpl<<font color="Brown">InputImpl</font>>(this,&<font color="Brown">InputImpl</font>::onRButtonUp));
+ pSys->addWindowMessage(WM_RBUTTONDBLCLK,new WindowMessageImpl<<font color="Brown">InputImpl</font>>(this,&<font color="Brown">InputImpl</font>::onRButtonDoubleClick));
+
+ pSys->addWindowMessage(WM_MOUSEMOVE,new WindowMessageImpl<<font color="Brown">InputImpl</font>>(this,&<font color="Brown">InputImpl</font>::onMouseMove));
+ pSys->addWindowMessage(WM_MOUSEWHEEL,new WindowMessageImpl<<font color="Brown">InputImpl</font>>(this,&<font color="Brown">InputImpl</font>::onMouseWheel));
+
+ pSys->addWindowMessage(WM_KEYDOWN,new WindowMessageImpl<<font color="Brown">InputImpl</font>>(this,&<font color="Brown">InputImpl</font>::onKeyDown));
+ pSys->addWindowMessage(WM_KEYUP,new WindowMessageImpl<<font color="Brown">InputImpl</font>>(this,&<font color="Brown">InputImpl</font>::onKeyUp));
+
+}
+</pre></body>
+</html>
--- /dev/null
+
+ LFN(Long File Name)\91Î\89\9e DOS \83\82\81[\83h\82Ì\8d\\92z\95û\96@ Ver.1.00
+ Copyright (C) 2000 K.Takata
+
+
+\82P\81DLFN \91Î\89\9e DOS \83\82\81[\83h\82Ì\8aT\97v
+\81@\92Ê\8fí\82Ì Win9x \82Ì MS-DOS \83\82\81[\83h\82Å\82Í LFN \82ð\88µ\82¤\82±\82Æ\82ª\82Å\82«\82Ü\82¹\82ñ\82ª\81A\88È\89º\82É
+\8e¦\82·\95û\96@\82Å\8aÂ\8b«\82ð\8d\\92z\82·\82é\82±\82Æ\82Å\81ADOS \83\82\81[\83h\82Å LFN \82ð\88µ\82¤\82±\82Æ\82ª\82Å\82«\82é\82æ\82¤
+\82É\82È\82è\82Ü\82·\81B\82±\82Ì LFN \91Î\89\9e DOS \83\82\81[\83h\82É\95K\97v\82È\83f\83B\83X\83N\97e\97Ê\82Í 4\81`5MB \92ö\93x\82Å
+\82·\81B\81i\82¤\82Ü\82\82¢\82¯\82Î\83t\83\8d\83b\83s\81[\82Å\8bN\93®\82³\82¹\82é\82±\82Æ\82à\89Â\94\\82©\82à\82µ\82ê\82Ü\82¹\82ñ\81B\81j
+Win9x \82ª\8bN\93®\82µ\82È\82\82È\82Á\82½\82Æ\82«\82Ì\8fC\95\9c\97p\82Ì\8aÂ\8b«\82Æ\82µ\82Ä\8eg\82¤\82È\82Ç\82Ì\97\98\97p\96@\82ª\8dl\82¦\82ç
+\82ê\82Ü\82·\81Bcopy \82È\82Ç\82Ì\95W\8f\80\82Ì\83R\83}\83\93\83h\82Å LFN \82ª\88µ\82¦\82é\82Ì\82Å\81A\95\81\92Ê\82Ì DOS \83\82\81[\83h
+\82É\94ä\82×\82Ä\81ALFN \82ð\8eg\82Á\82½\83t\83@\83C\83\8b\82Ì\91\80\8dì\82ª\8ai\92i\82É\8ay\82É\82È\82è\82Ü\82·\81B
+\81@\82±\82Ì\95û\96@\82Ì\83I\83\8a\83W\83i\83\8b\82Í Andrew Schulman \82Ì\81uWindows95 \93à\95\94\89ð\90Í\81v\82É\8bL\82³
+\82ê\82Ä\82¢\82é\82»\82¤\82Å\82·\82ª\81A\82±\82Ì\96{\82Í\8aù\82É\90â\94Å\82Æ\82È\82Á\82Ä\82¢\82é\82Ì\82Å\8e\84\8e©\90g\82Í\8am\94F\82µ\82Ä\82¢\82Ü
+\82¹\82ñ\81B\88È\89º\82É\8e¦\82·\95û\96@\82Í @nifty \82Ì\96^\8f\8a\82Å\82½\82Ü\82½\82Ü\8c©\82Â\82¯\82½\95¶\8fÍ\82ð\8c³\82É\81A\8e\84\8e©\90g
+\82ª\8e\8e\8ds\8dö\8cë\82ð\8ds\82Á\82Ä\8fo\97\88\8fã\82ª\82Á\82½\95û\96@\82Å\82·\81B\93®\8dì\8am\94F\82Í Win95 OSR2(PC-98),
+Win98 SE(PC/AT) \82Å\8ds\82Á\82Ä\82¢\82Ü\82·\81B
+
+
+
+\82Q\81DLFN \91Î\89\9e DOS \83\82\81[\83h\82Ì\8d\\92z
+\81@\88È\89º\82Å\82Í Win9x \82ª a: \82É\83C\83\93\83X\83g\81[\83\8b\82³\82ê\82Ä\82¨\82è\81ALFN \91Î\89\9e DOS \83\82\81[\83h\82Í b:
+\82©\82ç\8bN\93®\82³\82¹\82é\82à\82Ì\82Æ\82µ\82Ä\98b\82ð\90i\82ß\82Ü\82·\81B\81i\8e©\95ª\82Ì\8aÂ\8b«\82É\8d\87\82í\82¹\82Ä\83h\83\89\83C\83u\96¼\82ð
+\93Ç\82Ý\91Ö\82¦\82Ä\82\82¾\82³\82¢\81B\81j
+
+b:\vmm32 \82Æ\82¢\82¤\83f\83B\83\8c\83N\83g\83\8a\82ð\8dì\82è\81A\82»\82Ì\92\86\82É\95K\97v\82È\83t\83@\83C\83\8b\82ð\93ü\82ê\82é\82±\82Æ\82É
+\82µ\82Ü\82·\81B\88È\89º\82Ì\95\94\95ª\82ð lfndos.bat \82Æ\82¢\82¤\96¼\91O\82Å\95Û\91¶\82µ\82Ä\8eÀ\8ds\82·\82ê\82Î\8ay\82Å\82µ\82å\82¤\81B
+\81i\82à\82¿\82ë\82ñ\83h\83\89\83C\83u\96¼\82Ì\95\94\95ª\82Í\8e©\95ª\82Ì\8aÂ\8b«\82É\8d\87\82í\82¹\82Ä\8f\91\82«\8a·\82¦\82Ä\82\82¾\82³\82¢\81B\81j
+
+------------------------------------------------------------------------
+@echo off
+rem \83f\83B\83\8c\83N\83g\83\8a\82ð\8dì\90¬
+mkdir b:\vmm32
+mkdir b:\vmm32\iosubsys
+mkdir b:\vmm32\vmm32
+
+rem VxD \83t\83@\83C\83\8b\82ð\83R\83s\81[
+copy a:\windows\system\*.vxd b:\vmm32
+copy a:\windows\system\iosubsys\*.* b:\vmm32\iosubsys
+copy a:\windows\system\vmm32\*.* b:\vmm32\vmm32
+
+rem \83f\83o\83C\83X\83h\83\89\83C\83o\82È\82Ç\82ð\83R\83s\81[
+copy a:\windows\himem.sys b:\vmm32
+copy a:\windows\ifshlp.sys b:\vmm32
+copy a:\windows\win.com b:\vmm32
+copy a:\windows\system.ini b:\vmm32
+copy a:\windows\ios.ini b:\vmm32
+copy a:\windows\command.com b:\vmm32\krnl386.exe
+
+rem \83\8c\83W\83X\83g\83\8a\82ð\83R\83s\81[
+attrib -s -h a:\windows\system.dat
+attrib -s -h a:\windows\user.dat
+copy a:\windows\system.dat b:\vmm32
+copy a:\windows\user.dat b:\vmm32
+attrib +s +h a:\windows\system.dat
+attrib +s +h a:\windows\user.dat
+
+rem \88È\89º\82Ì\83t\83@\83C\83\8b\82ª\82È\82¢\82Æ\93ú\96{\8cê\82Ì LFN \82ª\88µ\82¦\82È\82¢
+copy a:\windows\system\unicode.bin b:\vmm32
+------------------------------------------------------------------------
+
+\8fã\8bL\82Ì\82æ\82¤\82É\82·\82ê\82Î\95K\97v\82È\83t\83@\83C\83\8b\82ª b:\vmm32 \82É\83R\83s\81[\82³\82ê\82Ü\82·\81B
+
+
+attrib -r -s -h b:\msdos.sys \82Æ\82µ\82Ä b:\msdos.sys \82ð\95Ò\8fW\89Â\94\\82É\82µ\82Ä\82©\82ç\83e
+\83L\83X\83g\83G\83f\83B\83^\82È\82Ç\82Å\88È\89º\82Ì\82æ\82¤\82É\8f\91\82«\8a·\82¦\82Ü\82·\81B\82±\82±\82Å\82à\82à\82¿\82ë\82ñ\83h\83\89\83C\83u\96¼
+\82ð\8e©\95ª\82Ì\8aÂ\8b«\82É\8d\87\82í\82¹\82Ä\8f\91\82«\8a·\82¦\82é\95K\97v\82ª\82 \82è\82Ü\82·\81B
+
+------------------------------------------------------------------------
+;SYS
+[Paths]
+WinDir=B:\VMM32
+WinBootDir=B:\VMM32
+HostWinBootDrv=B
+
+[Options]
+BootGUI=0
+;\88È\89º\8fÈ\97ª
+------------------------------------------------------------------------
+
+\88È\8fã\82Å\82Ð\82Æ\82Ü\82¸\8aÂ\8b«\8d\\92z\82Í\8fI\82í\82è\82Å\82·\81B
+
+
+b: \82©\82ç\8dÄ\8bN\93®\82µ\82Ä\81A\83v\83\8d\83\93\83v\83g\82ª\95\\8e¦\82³\82ê\82½\82ç\81A
+B:\> win
+\82 \82é\82¢\82Í
+B:\> \vmm32\win
+\82Æ\82µ\82Ä\81Awin.com \82ð\8bN\93®\82µ\82Ä\82\82¾\82³\82¢\81B\82µ\82Î\82ç\82\82µ\82Ä\8dÄ\82Ñ\83v\83\8d\83\93\83v\83g\82ª\95\\8e¦\82³\82ê
+\82½\82ç LFN \82ª\8eg\82¦\82é\82æ\82¤\82É\82È\82Á\82Ä\82¢\82Ü\82·\81BLFN \82ª\8eg\82í\82ê\82Ä\82¢\82é\83t\83@\83C\83\8b\82ª\82 \82é\83f
+\83B\83\8c\83N\83g\83\8a\82Å dir \82ð\8eÀ\8ds\82µ\82Ä\82Ý\82Ü\82µ\82å\82¤\81B\82¿\82á\82ñ\82Æ\89E\91¤\82É LFN \82ª\95\\8e¦\82³\82ê\82é\82Í
+\82¸\82Å\82·\81B\82È\82¨\8aÂ\8b«\82É\82à\8añ\82è\82Ü\82·\82ª\81A\82±\82Ì\82Æ\82« DOS \97p\83h\83\89\83C\83o\82ð\91g\82Ý\8d\9e\82ñ\82Å\82¢\82È
+\82¢\82É\82à\8aÖ\82í\82ç\82¸ CD-ROM \83h\83\89\83C\83u\82â\81APC \83J\81[\83h\8co\97R\82Å\90Ú\91±\82µ\82Ä\82¢\82é\83h\83\89\83C\83u\82È
+\82Ç\82ª\8eg\82¦\82é\82æ\82¤\82É\82È\82Á\82Ä\82¢\82é\82Í\82¸\82Å\82·\81B\81i\82½\82¾\82µ\83z\83b\83g\83v\83\89\83O\82É\82Í\91Î\89\9e\82µ\82Ä\82¢\82Ü
+\82¹\82ñ\81B\81j
+
+LFN \91Î\89\9e DOS \83\82\81[\83h\82©\82ç\94²\82¯\82é\82É\82Í exit \82Æ\93ü\97Í\82µ\82Ä\82\82¾\82³\82¢\81B\83\\83t\83g\83E\83F\83A
+\93I\82É\93d\8c¹\82ð\90Ø\82é\82±\82Æ\82ª\82Å\82«\82é\83p\83\\83R\83\93\82Å\82Í\81ALFN \91Î\89\9e DOS \83\82\81[\83h\82©\82ç\94²\82¯\82é\82Æ
+\93¯\8e\9e\82É\8f\9f\8eè\82É\93d\8c¹\82ª\90Ø\82ê\82Ü\82·\81B
+
+
+
+\82R\81DLFN \91Î\89\9e DOS \83\82\81[\83h\82Ì\83`\83\85\81[\83j\83\93\83O
+\81@\82Q\81D\82Å\8dì\90¬\82µ\82½\8aÂ\8b«\82É\82Í\82©\82È\82è\82Ì\96³\91Ê\82ª\82 \82è\82Ü\82·\81B\82±\82±\82Å\82Í\82»\82Ì\96³\91Ê\82ð\8fÈ\82\95û
+\96@\82È\82Ç\82ð\90à\96¾\82µ\82Ü\82·\81B
+
+
+3.1.\83\8c\83W\83X\83g\83\8a\82Ì\83`\83\85\81[\83j\83\93\83O
+\81@Win9x \82Ì\83\8c\83W\83X\83g\83\8a\82Í \90\94MB \82 \82è\82Ü\82·\82ª\81ALFN \91Î\89\9e DOS \83\82\81[\83h\82Å\95K\97v\82È\95\94\95ª
+\82Í\82±\82Ì\93à\82Ì\82Ù\82ñ\82Ì\88ê\95\94\82Å\82·\81B\88È\89º\82Ì\8dì\8bÆ\82Å\83\8c\83W\83X\83g\83\8a\82Ì\83T\83C\83Y\82ð\96ñ 10\95ª\82Ì 1 \82É
+\82·\82é\82±\82Æ\82ª\89Â\94\\82Å\82·\81B
+
+DOS \83\82\81[\83h\82Å\8bN\93®\82µ\82Ä\82©\82ç\88È\89º\82Ì\82æ\82¤\82É\8eÀ\8ds\82µ\82Ä\82\82¾\82³\82¢\81B\8cë\82Á\82Ä\96{\97\88\82Ì
+Windows \82Ì\83\8c\83W\83X\83g\83\8a\82ð\94j\89ó\82µ\82Ä\82µ\82Ü\82í\82È\82¢\82æ\82¤\82É\81A\95K\82¸ /l \82Æ /r \82Å LFN \91Î
+\89\9e DOS \83\82\81[\83h\82Ì\83\8c\83W\83X\83g\83\8a\82Ì\8fê\8f\8a\82ð\8ew\92è\82µ\82Ä\82¨\82«\82Ü\82µ\82å\82¤\81B\82Ü\82½ Windows \82Æ
+LFN \91Î\89\9e DOS \83\82\81[\83h\82Ì\97¼\95û\82Ì\83\8c\83W\83X\83g\83\8a\82Ì\83o\83b\83N\83A\83b\83v\82ð\8eæ\82Á\82Ä\82¨\82«\82Ü\82µ\82å\82¤\81B
+
+------------------------------------------------------------------------
+regedit /l:b:\vmm32\system.dat /r:b:\vmm32\user.dat /d \81¨
+ HKEY_LOCAL_MACHINE\SOFTWARE
+
+regedit /l:b:\vmm32\system.dat /r:b:\vmm32\user.dat /e lfndos.reg \81¨
+ HKEY_LOCAL_MACHINE
+
+regedit /l:b:\vmm32\system.dat /r:b:\vmm32\user.dat /c lfndos.reg
+------------------------------------------------------------------------
+
+\81i\92\8d\81j \92·\82¢\82Ì\82Å"\81¨"\82Ì\95\94\95ª\82Å\90Ü\82è\95Ô\82µ\82Ä\82¢\82Ü\82·\81B\8eÀ\8dÛ\82É\82Í"\81¨"\82Ì\82 \82Æ\82à\82»\82Ì\82Ü
+ \82Ü\91±\82¯\82Ä\93ü\97Í\82µ\82Ä\82\82¾\82³\82¢\81B
+
+\82Ü\82¸ HKEY_LOCAL_MACHINE\SOFTWARE \82Ì\95\94\95ª\82ª\95K\97v\82È\82¢\82Ì\82Å\8dí\8f\9c\82µ\82Ü\82·\81B\81i\8aÂ\8b«
+\82É\82æ\82Á\82Ä\82Í HKEY_LOCAL_MACHINE\Software \82Æ\82¢\82¤\82æ\82¤\82É\81A\91å\95¶\8e\9a\8f¬\95¶\8e\9a\82ª\88á\82Á
+\82Ä\82¢\82é\8fê\8d\87\82ª\82 \82è\82Ü\82·\82ª\81A\8aÖ\8cW\82È\82¢\82æ\82¤\82Å\82·\81B\81j
+
+\83\8c\83W\83X\83g\83\8a\82Ì HKEY_LOCAL_MACHINE \82Ì\95\94\95ª\82ð lfndos.reg \82É\8f\91\82«\8fo\82µ\82Ä\82©\82ç\81A\83\8c
+\83W\83X\83g\83\8a\82Ì\8dÄ\8d\\92z\82ð\8ds\82¤\82±\82Æ\82Å\83T\83C\83Y\82Í \96ñ300\81`400KB \82Ü\82Å\8f¬\82³\82\82È\82è\82Ü\82·\81B\8dÄ
+\8d\\92z\8cã\82Í system.dat \82Í\83o\83b\83N\83A\83b\83v\82ð\8eæ\82Á\82Ä\82¨\82¢\82½\95û\82ª\82æ\82¢\82Å\82µ\82å\82¤\81B
+user.dat \82Ì\95û\82Í\8dí\8f\9c\82µ\82Ä\82µ\82Ü\82Á\82Ä\8d\\82¢\82Ü\82¹\82ñ\81Blfndos.reg \82à\95K\97v\82 \82è\82Ü\82¹\82ñ\81B
+
+
+3.2.\97]\95ª\82È VxD \83t\83@\83C\83\8b\82Ì\8dí\8f\9c
+\81@\82Q\81D\82Å\82Í \windows\system \82É\82 \82é\82·\82×\82Ä\82Ì VxD \83t\83@\83C\83\8b\82ð \vmm32 \82É\83R\83s\81[
+\82µ\82Ü\82µ\82½\82ª\81A\82»\82Ì\92\86\82É\82Í LFN \91Î\89\9e DOS \83\82\81[\83h\82Å\82Í\8eg\82í\82ê\82È\82¢\83t\83@\83C\83\8b\82à\8aÜ\82Ü\82ê
+\82Ä\82¢\82Ü\82·\81B\95K\97v\82È\82¢\83t\83@\83C\83\8b\82É\82Í\82Ü\82¸\81ADirectX \8aÖ\8cW\82Ì\83t\83@\83C\83\8b\82ª\82 \82è\82Ü\82·\81B
+ddraw.vxd, dsound.vxd, dinput.vxd, joyhid.vxd \82È\82Ç\82ª\82»\82ê\82É\93\96\82½\82è\82Ü\82·\81B\83f
+\83B\83X\83v\83\8c\83C\83h\83\89\83C\83o\82à\95K\97v\82 \82è\82Ü\82¹\82ñ\81B\82±\82ê\82ç\82Ì\83t\83@\83C\83\8b\82Í\8dí\8f\9c\82µ\82Ä\82µ\82Ü\82Á\82Ä\96â
+\91è\82 \82è\82Ü\82¹\82ñ\81B
+
+\91¼\82É\82Í\81A
+ netbeui.vxd
+ nwredir.vxd
+ wsock.vxd
+ wshtcp.vxd
+ wsipx.vxd
+ afvxd.vxd
+ pppmac.vxd
+ vgateway.vxd
+ nwsp.vxd
+ paralink.vxd
+ nesa.vxd
+ lpt.vxd
+ lptenum.vxd
+ serial.vxd
+ serenum.vxd
+ serwave.vxd
+ unimodem.vxd
+ p1284.vxd
+ ser8251.vxd
+ ser8251f.vxd
+\82È\82Ç\82Ì\83t\83@\83C\83\8b\82ª\8dí\8f\9c\82µ\82Ä\96â\91è\82È\82¢\82Æ\8ev\82í\82ê\82Ü\82·\81B\82±\82ê\82ç\82Í\83l\83b\83g\83\8f\81[\83N\8aÖ\98A\82â\81A
+\83V\83\8a\83A\83\8b\81E\83p\83\89\83\8c\83\8b\83|\81[\83g\81A\83\82\83f\83\80\8aÖ\98A\82Ì VxD \83t\83@\83C\83\8b\82¾\82Æ\8ev\82í\82ê\82Ü\82·\81B\82à\82µ
+VxD \83t\83@\83C\83\8b\82ð\8dí\8f\9c\82µ\82½\82½\82ß\82É LFN \91Î\89\9e DOS \83\82\81[\83h\82ª\8bN\93®\82µ\82È\82\82È\82Á\82½\8fê\8d\87\82Í\81A
+\82à\82¤\88ê\93x\82»\82Ì\83t\83@\83C\83\8b\82ð\83R\83s\81[\82µ\92¼\82µ\82Ä\82\82¾\82³\82¢\81B\81i\8bt\82É\81A\83l\83b\83g\83\8f\81[\83N\82ð\8eg\82¤
+\82É\82Í\8fã\8bL\82Ì\83t\83@\83C\83\8b\88È\8aO\82É\8ag\92£\8eq\82ª .386 \82Ì\83t\83@\83C\83\8b\82Æ LAN \83J\81[\83h\82Ì\83h\83\89\83C\83o
+\82à\83R\83s\81[\82µ\82Ä\82¨\82\95K\97v\82ª\82 \82è\82Ü\82·\81B\82½\82¾\82µ\81A\82»\82ê\82Å\8eÀ\8dÛ\82É\83l\83b\83g\83\8f\81[\83N\82ª\8eg\82¦\82é
+\82Ì\82©\8am\94F\82Í\82µ\82Ä\82¢\82Ü\82¹\82ñ\81B\81j
+
+
+3.3.\8aÂ\8b«\95Ï\90\94\82Ì\90Ý\92è
+\81@LFN \91Î\89\9e DOS \83\82\81[\83h\82Å\8bN\93®\82µ\82½\8fê\8d\87\81A\82È\82º\82©\8aÂ\8b«\95Ï\90\94\82ª\90Ý\92è\82³\82ê\82Ü\82¹\82ñ\81B\8aÂ
+\8b«\95Ï\90\94\82ð\90Ý\92è\82·\82é\82½\82ß\82Ì\83o\83b\83`\83t\83@\83C\83\8b\82ð\83\8b\81[\83g\83f\83B\83\8c\83N\83g\83\8a\82É env.bat \82Æ\82Å
+\82à\82µ\82Ä\97p\88Ó\82µ\82Ä\82¨\82\82Æ\82¢\82¢\82©\82à\82µ\82ê\82Ü\82¹\82ñ\81B\82 \82é\82¢\82Í command.com \82ð\81Acommand
+/k \env.bat \82Æ\82µ\82Ä\8cÄ\82Ñ\8fo\82·\8eÀ\8ds\83t\83@\83C\83\8b\82ð\8dì\82Á\82Ä\82»\82ê\82ð krnl386.exe \82Æ\83\8a\83l
+\81[\83\80\82µ\82Ä\82¨\82¯\82Î\81A\8e©\93®\93I\82É\8aÂ\8b«\95Ï\90\94\82ª\90Ý\92è\82³\82ê\82Ü\82·\81B
+
+
+
+\82S\81DLFN \91Î\89\9e DOS \83\82\81[\83h\82Å\93®\8dì\82·\82é\83\\83t\83g
+\81@LFN \91Î\89\9e DOS \83\82\81[\83h\82Å\82Í int 21h AX=71xxh \8cn\82Ì\83t\83@\83\93\83N\83V\83\87\83\93\82ð\97\98\97p\82·\82é
+\83\\83t\83g\82Å LFN \82ð\88µ\82¤\82±\82Æ\82ª\82Å\82«\82é\82æ\82¤\82É\82È\82è\82Ü\82·\81B\97v\82·\82é\82É Win9x \82Ì DOS \91\8b
+\82Å LFN \82ð\88µ\82¤\82±\82Æ\82ª\82Å\82«\82é DOS \83v\83\8d\83O\83\89\83\80\82Í\81A\82»\82Ì\82Ü\82Ü LFN \91Î\89\9e DOS \83\82\81[\83h
+\82Å LFN \82ð\88µ\82¤\82±\82Æ\82ª\82Å\82«\82Ü\82·\81BWin9x \82Ì\95W\8f\80\83R\83}\83\93\83h\82ª LFN \82ð\88µ\82¦\82é\82Ù\82©\81A\83t
+\83\8a\81[\83\\83t\83g\82Å\82Í MIEL \82â K-Launcher \82È\82Ç\82Ì\83\\83t\83g\82ª LFN \82ð\88µ\82¦\82Ü\82·\81B\82Ü\82½\81A
+\90Ù\8dì\82Ì LFN library \82ð\97\98\97p\82µ\82Ä\8dì\90¬\82³\82ê\82½\83\\83t\83g\82Å\82à LFN \82ð\88µ\82¤\82±\82Æ\82ª\82Å\82«\82Ü
+\82·\81B
+\81@LFN \91Î\89\9e DOS \83\82\81[\83h\82Í\81A\8eÀ\82Í\94¼\95ª Windows \82ª\93®\8dì\82µ\82Ä\82¢\82é\82æ\82¤\82È\8fó\91Ô\82È\82Ì\82Å\81A
+\8cë\93®\8dì\82·\82é\83\\83t\83g\82à\91¶\8dÝ\82µ\82Ü\82·\81B\90Ù\8dì\82Ì Exsel \82à\8c»\83o\81[\83W\83\87\83\93(Ver.1.12)\82Å\82Í
+Windows \82ª\93®\8dì\82µ\82Ä\82¢\82é\82Æ\8cë\82Á\82Ä\94»\92f\82µ\82Ä\81AWindows \97p\82Ì\83v\83\8d\83O\83\89\83\80\82ð\8eÀ\8ds\82µ\82æ
+\82¤\82Æ\82µ\82Ä\82µ\82Ü\82¢\82Ü\82·\81Bint 2fh AX=1600h \82È\82Ç\82ð\97\98\97p\82µ\82Ä Windows \82ª\93®\8dì\82µ\82Ä\82¢
+\82é\82©\82ð\94»\92f\82µ\82Ä\82¢\82é\83v\83\8d\83O\83\89\83\80\82Í\93¯\97l\82É\8cë\93®\8dì\82·\82é\89Â\94\\90«\82ª\82 \82è\82Ü\82·\81B
+
+
+
+\82T\81D\95t\91®\83c\81[\83\8b\82É\8aÖ\82µ\82Ä
+\81@lfndos.bat, krnl386.exe, execdw.asm \82É\8aÖ\82·\82é\90à\96¾\82Å\82·\81B
+
+
+5.1.lfndos.bat
+\81@\82Q\81D\82Å\8fÐ\89î\82µ\82½ lfndos.bat \82É\8f\82µ\8eè\82ð\89Á\82¦\82½\82à\82Ì\82Å\82·\81Ba:\windows \82É
+Win9x \82ª\83C\83\93\83X\83g\81[\83\8b\82µ\82Ä\82 \82è\81Ab:\vmm32 \82É LFN \91Î\89\9e DOS \83\82\81[\83h\82ð\8d\\92z\82·\82é
+\8fê\8d\87\81A
+ > lfndos a: b:
+\82Æ\82·\82é\82±\82Æ\82Å\81A\95K\97v\82È\83t\83@\83C\83\8b\82ª\83R\83s\81[\82³\82ê\82Ü\82·\81B
+
+
+5.2.krnl386.exe
+\81@3.3.\82Å\90à\96¾\82µ\82½\81A\8aÂ\8b«\95Ï\90\94\82ð\90Ý\92è\82·\82é\82½\82ß\82Ì\83v\83\8d\83O\83\89\83\80\82Å\82·\81B\82±\82ê\82ð \vmm32
+\82É\83R\83s\81[\82µ\82Ä\81A\83\8b\81[\83g\83f\83B\83\8c\83N\83g\83\8a\82É\8aÂ\8b«\95Ï\90\94\82ð\90Ý\92è\82·\82é\82½\82ß\82Ì\83o\83b\83`\83t\83@\83C\83\8b
+\82ð env.bat \82Æ\82¢\82¤\96¼\91O\82Å\97p\88Ó\82µ\82Ä\82¨\82\82Æ\81ALFN \91Î\89\9e DOS \83\82\81[\83h\8bN\93®\8e\9e\82É\81A\8e©\93®
+\93I\82É\8aÂ\8b«\95Ï\90\94\82ª\90Ý\92è\82³\82ê\82Ü\82·\81B\90Ù\8dì\82Ì Exsel Ver.1.12 \82ð\8c³\82É\8dì\82Á\82½\83v\83\8d\83O\83\89\83\80
+\82Å\82·\81Bexecdw.asm \82ª\83\\81[\83X\83t\83@\83C\83\8b\82Å\82·\81B
+ > lcc -o krnl386.exe -a execdw.asm -k-Fc
+\82Æ\82µ\82Ä\83R\83\93\83p\83C\83\8b\82µ\82Ä\82 \82è\82Ü\82·\81B
+
+
+
+\82U\81D\92\8d\88Ó\8e\96\8d\80\81A\82»\82Ì\91¼
+\81E\82±\82Ì\95¶\8fÍ\82Ì\88µ\82¢\82Í\83t\83\8a\81[\83\\83t\83g\83E\83F\83A\82Æ\93¯\97l\82Æ\82µ\82Ü\82·\81B
+\81E\82±\82Ì\95¶\8fÍ\82Ì\92\98\8dì\8c \82Í\92\98\8eÒ\82Å\82 \82é\8e\84 K.Takata\81i\8d\82\93c \8cª\81j\82É\8bA\91®\82µ\82Ü\82·\81B
+\81E\82±\82Ì\95¶\8fÍ\82É\8f\91\82¢\82Ä\82 \82é\82±\82Æ\82ð\8ds\82Á\82½\82±\82Æ\82Å\89½\82ç\82©\82Ì\96â\91è\82ª\94\90¶\82µ\82Ä\82à\92\98\8eÒ\82Í\88ê
+ \90Ø\82Ì\90Ó\94C\82ð\95\89\82¢\82Ü\82¹\82ñ\81B\8ae\8e©\82Ì\90Ó\94C\82É\82¨\82¢\82Ä\8ds\82Á\82Ä\82\82¾\82³\82¢\81B
+\81E\82±\82Ì\95¶\8fÍ\82ð\88ê\90Ø\95Ï\8dX\82µ\82È\82¢\8cÀ\82è\94z\95z\81^\93]\8dÚ\82Í\8e©\97R\82Å\82·\81B
+
+
+ \92\98\8eÒ : K.Takata\81i\8d\82\93c \8cª\81j
+ E-mail : kentkt@anet.ne.jp, HZL03275@nifty.ne.jp
+ URL : http://webs.to/ken/
+ http://member.nifty.ne.jp/k-takata/
+
+
--- /dev/null
+#//@STATE=\8a®\90¬
+#//@DESCRIPTION
+# Borland C++ 5.5\97p\83\81\83C\83N\83t\83@\83C\83\8b
+#$Log: MAKEFILE,v $
+#Revision 1.8 2001/10/28 21:45:04 fujiwara
+#DLL\82É\95ª\8a\84
+#
+#Revision 1.7 2001/07/09 20:30:08 fujiwara
+#\97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+#
+#Revision 1.6 2001/07/01 01:03:44 fujiwara
+#const \82Ì\8c©\92¼\82µ
+#\94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+#
+#Revision 1.5 2001/06/10 21:17:01 fujiwara
+#\83^\81[\83Q\83b\83g\92Ç\89Á\81i\92n\8fã\97p\81j
+#
+#Revision 1.4 2001/05/29 01:12:35 fujiwara
+#\8eG\8b\9b\83L\83\83\83\89(\94ò\8ds\95¨\81j\82Ì\8dì\90¬\81B\94z\92u\83G\83f\83B\83^\82Ì\83o\83O\8fC\90³
+#
+#Revision 1.3 2001/05/13 20:04:24 fujiwara
+#\83\81\83\82\83\8a\81[\83\8a\81[\83N\82ª\94\90¶\82µ\82½\82Ì\82Å\8eæ\82è\8f\9c\82\81B
+#\8e©\92e\82Ì\83T\83E\83\93\83h\83e\83X\83g
+#
+#Revision 1.2 2001/05/12 01:35:32 fujiwara
+#(none)
+#
+#//@DESCRIPTION_END
+#//@AUTHOR=S.F.
+
+
+CC = bcc32
+RC = brc32
+AS = tasm32
+CXX = bcc32 -P
+CPP = bcc32 -P
+CPP32 = cpp32
+
+LINKER = ilink32
+LINK = ilink32
+LIBRARIAN = tlib /P128
+
+# \83R\83\93\83p\83C\83\8b\83I\83u\83W\83F\83N\83g\90¶\90¬\90æ\83f\83B\83\8c\83N\83g\83\8a\82ð\91\8a\91Î\83p\83X\82Å\8ew\92è
+OUT = ..\obj
+INT = .
+PRODUCT = ..
+
+#\8c\9f\8dõ\83p\83X\82Ì\90Ý\92è
+.path.obj = $(OUT)
+.path.cpp = $(INT)
+.path.h = $(INT)
+
+# \83C\83\93\83N\83\8b\81[\83h\83t\83@\83C\83\8b\82Ì\83p\83X
+# SDK\82â\8aJ\94\8aÂ\8b«\82Ö\82Ì\83p\83X
+INCLUDEPATH = $(PRODUCT)\lib\;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib
+# \83\89\83C\83u\83\89\83\8a\82Ö\82Ì\83p\83X
+LIBPATH = $(PRODUCT)\lib\;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;
+#
+!ifdef _DEBUG
+CFLAGS = -c -v -Od -WM- -H -Hs -5 -a8 -W -I$(INCLUDEPATH) -L$(LIBPATH) -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n$(OUT)
+!else
+CFLAGS = -c -O2 -WM- -H -Hs -5 -a8 -W -I$(INCLUDEPATH) -L$(LIBPATH) -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n$(OUT)
+!endif
+CFLAGS1 = -VM
+CFLAGS1 = $(CFLAGS1) -Dsinf=(float)sin
+CFLAGS1 = $(CFLAGS1) -Dcosf=(float)cos
+CFLAGS1 = $(CFLAGS1) -Dasinf=(float)asin
+CFLAGS1 = $(CFLAGS1) -Dacosf=(float)acos
+CFLAGS1 = $(CFLAGS1) -Dsqrtf=(float)sqrt
+CFLAGS1 = $(CFLAGS1) -Dexpf=(float)exp
+CFLAGS1 = $(CFLAGS1) -D_BORLAND
+!ifdef _DEBUG
+ CFLAGS1 = $(CFLAGS1) -D_DEBUG
+!endif
+
+CFLAGS = $(CFLAGS) $(CFLAGS1)
+
+RCFLAGS = -r -i$(INCLUDEPATH)
+!ifdef _DEBUG
+LINKFLAGS = -Tpe -aa -v -r -c -L$(LIBPATH) /j$(OUT) /I$(OUT)
+!else
+LINKFLAGS = -Tpe -aa -r -c -x -L$(LIBPATH) /j$(OUT) /I$(OUT)
+!endif
+LINKLIBS = ..\lib\sfglib.lib c_dinput.lib import32.lib cw32.lib dinput8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib dxerr8bor.lib winmm.lib
+
+.cpp.obj:
+ $(CC) $(CFLAGS) $<
+
+.h.obj:
+ $(CC) $(CFLAGS) $&.cpp
+
+.rc.res:
+ $(RC) $(RCFLAGS) $&.rc -fo$(OUT)\$&
+
+
+PROJ = genx
+EXE = $(PROJ).exe
+OBJS = WinMain.obj
+OBJS = $(OBJS) MainApp.obj Scene.obj SceneAuthor.obj
+OBJS = $(OBJS) Fade.obj AbstractScene.obj title.obj
+OBJS = $(OBJS) Start.obj Game.obj Over.obj Character.obj MyShip.obj
+OBJS = $(OBJS) BGEditor.obj Hit.Obj dispositioncontrol.obj AbstractCharacter.obj MyBullets.obj
+OBJS = $(OBJS) Enemys.obj ZK01.obj Explosion.obj Effects.obj DispositionEditor.obj EnemyBullets.obj
+OBJS = $(OBJS) EB01.obj ea01.obj armys.obj abstractenemy.obj target.obj zk02.obj mygroundbullets.obj
+
+
+
+RESOURCE_OBJ = $(PROJ).res
+
+## DEFS = $(PROJ).def
+
+
+$(OUT)\$(EXE): {$(OUT)}$(OBJS) {$(OUT)}$(RESOURCE_OBJ)
+ $(LINKER) $(LINKFLAGS) c0w32.obj $(OBJS),$*,,$(LINKLIBS),$(DEFS),$(OUT)\$(RESOURCE_OBJ)
+ copy $(OUT)\$(EXE) $(PRODUCT)
+
+MAKEFILE: $(OUT)\$(EXE)
+
+MainApp.obj: MainApp.cpp MainApp.h
+Scene.obj: Scene.h Scene.cpp
+
+all: $(OUT)\$(EXE)
+
+clean:
+ del $(OUT)\*.obj
+ del $(OUT)\*.i??
+ del $(OUT)\*.t??
+ del $(OUT)\*.res
+ del $(OUT)\$(EXE)
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type='text/xsl' href='_UpgradeReport_Files/UpgradeReport.xslt'?><UpgradeLog>
+<Properties><Property Name="Solution" Value="genx">
+</Property><Property Name="ソリューション ファイル" Value="C:\Users\satoshi\Documents\genx\project\genx.sln">
+</Property><Property Name="ユーザー オプション ファイル" Value="C:\Users\satoshi\Documents\genx\project\genx.suo">
+</Property><Property Name="Date" Value="2008年6月28日">
+</Property><Property Name="Time" Value="22:28">
+</Property></Properties><Event ErrorLevel="0" Project="" Source="genx.sln" Description="ファイルは正常に C:\Users\satoshi\Documents\genx\project\genx.sln.old としてバックアップされました。">
+</Event><Event ErrorLevel="0" Project="" Source="genx.suo" Description="ファイルは正常に C:\Users\satoshi\Documents\genx\project\genx.suo.old としてバックアップされました。">
+</Event><Event ErrorLevel="0" Project="genx" Source="genx.vcproj" Description="シングル スレッドのランタイム ライブラリ スイッチ (/MLd, /ML) が C++ コンパイラから削除されました。プロジェクトは、マルチ スレッドのランタイム ライブラリ スイッチ (/MTd, /MT) を使用するように、自動的に変換されました。">
+</Event><Event ErrorLevel="1" Project="genx" Source="genx.vcproj" Description="C/C++ コンパイラ スイッチ /YX は現在サポートされていません。/YX はプロジェクト設置から削除されました。">
+</Event><Event ErrorLevel="0" Project="genx" Source="genx.vcproj" Description="ローカルの IIS サーバーへの Web 配置はサポートされなくなりました。Web 配置ビルド ツールはプロジェクト設定から削除されました。">
+</Event><Event ErrorLevel="0" Project="genx" Source="genx.vcproj" Description="Visual C++ では、C および C++ ライブラリの安全性が向上しています。これには、新しい関数や強化された関数、追加のチェック機能や検証機能、および内部設計の変更が含まれます。これらのライブラリは、既定で有効になっています。プロジェクトをビルドするときに、安全ではない関数やパラメータに関する警告が表示される可能性があります。通常、この警告にはより安全なコーディング方法や関数が示されます。コードをより安全にするために、これらの警告に従って修正することをお勧めします。詳細については、ドキュメントの「CRT のセキュリティ強化」および「Checked Iterators」を参照してください。">
+</Event><Event ErrorLevel="0" Project="genx" Source="genx.vcproj" Description="C/C++ コンパイラの既定の設定は、ISO 標準の C++ により準拠するように編集されました。変更には、ループ スコープに対して標準 C++ を適用したり、wchar_t をネイティブ型としてサポートすることなどが含まれます。これらの変更によって、既存のコードが、コードへの変更、またはビルドされたときのコンパイラ オプションを含まずに、コンパイルされることがなくなる可能性があります。">
+</Event><Event ErrorLevel="1" Project="genx" Source="genx.vcproj" Description="Visual C++ プロジェクトが埋め込み (既定で) Windows SxS マニフェストを生成する必要条件によって、プロジェクト内のマニフェスト ファイルは、マニフェスト ツールで自動的にビルドされるようになります。正常動作のために、場合によってはビルドを変更する必要があります。たとえば、すべてのマニフェスト ファイルに含まれる依存関係情報を、ソース コードからインクルードされたヘッダー ファイル内で、"#pragma コメント (リンカ、"<依存関係をここに挿入>")" に変換することをお勧めします。プロジェクトが、リソース (.rc) ファイルをとおして RT_MANIFEST リソース セクションにマニフェストを埋め込んでいる場合、その行をコメント アウトしないと、正しくビルドされない可能性があります。">
+</Event><Event ErrorLevel="1" Project="genx" Source="genx.vcproj" Description="C++ コンパイラの準拠の変更によって、プロジェクトがビルドする前にコード変更が必要になる場合があります。C++ コンパイラの旧バージョンは、メンバ関数名 (例: MemberFunctionName) によるメンバ関数ポインタの指定を許可していました。C++ 標準では、演算子のアドレスを使用した完全修飾名 (例: &ClassName::MemberFunctionName) が必要です。プロジェクトが Windows フォーム デザイナで使用されたフォームやコントロールを含む場合は、デザイナが生成したコードがデリゲート構築で規格外の構文を使ったため (イベント ハンドラを使用して)、InitializeComponent でコード変更をしなければならない可能性があります。">
+</Event><Event ErrorLevel="1" Project="genx" Source="genx.vcproj" Description="このアプリケーションは、Windows Vista のユーザー アカウント制御 (UAC) 機能に関連する設定を含むように更新されました。既定で、UAC を有効にして Windows Vista 上でアプリケーションを実行すると、起動したプロセスと同じ特権で実行するようにマークされます。このマークによって、アプリケーションの仮想化による実行も無効になります。プロジェクトのプロパティ ページから UAC 関連の設定を変更できます。">
+</Event><Event ErrorLevel="0" Project="genx" Source="genx.vcproj" Description="プロジェクト ファイルは正常に 'C:\Users\satoshi\Documents\genx\project\genx.vcproj.7.10.old' としてバックアップされました。">
+</Event><Event ErrorLevel="0" Project="genx" Source="genx.vcproj" Description="プロジェクトは正常にアップグレードされました。">
+</Event><Event ErrorLevel="3" Project="genx" Source="genx.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="s2001" Source="s2001\s2001.vcproj" Description="ローカルの IIS サーバーへの Web 配置はサポートされなくなりました。Web 配置ビルド ツールはプロジェクト設定から削除されました。">
+</Event><Event ErrorLevel="1" Project="s2001" Source="s2001\s2001.vcproj" Description="C/C++ コンパイラ スイッチ /YX は現在サポートされていません。/YX はプロジェクト設置から削除されました。">
+</Event><Event ErrorLevel="0" Project="s2001" Source="s2001\s2001.vcproj" Description="Visual C++ では、C および C++ ライブラリの安全性が向上しています。これには、新しい関数や強化された関数、追加のチェック機能や検証機能、および内部設計の変更が含まれます。これらのライブラリは、既定で有効になっています。プロジェクトをビルドするときに、安全ではない関数やパラメータに関する警告が表示される可能性があります。通常、この警告にはより安全なコーディング方法や関数が示されます。コードをより安全にするために、これらの警告に従って修正することをお勧めします。詳細については、ドキュメントの「CRT のセキュリティ強化」および「Checked Iterators」を参照してください。">
+</Event><Event ErrorLevel="0" Project="s2001" Source="s2001\s2001.vcproj" Description="C/C++ コンパイラの既定の設定は、ISO 標準の C++ により準拠するように編集されました。変更には、ループ スコープに対して標準 C++ を適用したり、wchar_t をネイティブ型としてサポートすることなどが含まれます。これらの変更によって、既存のコードが、コードへの変更、またはビルドされたときのコンパイラ オプションを含まずに、コンパイルされることがなくなる可能性があります。">
+</Event><Event ErrorLevel="1" Project="s2001" Source="s2001\s2001.vcproj" Description="Visual C++ プロジェクトが埋め込み (既定で) Windows SxS マニフェストを生成する必要条件によって、プロジェクト内のマニフェスト ファイルは、マニフェスト ツールで自動的にビルドされるようになります。正常動作のために、場合によってはビルドを変更する必要があります。たとえば、すべてのマニフェスト ファイルに含まれる依存関係情報を、ソース コードからインクルードされたヘッダー ファイル内で、"#pragma コメント (リンカ、"<依存関係をここに挿入>")" に変換することをお勧めします。プロジェクトが、リソース (.rc) ファイルをとおして RT_MANIFEST リソース セクションにマニフェストを埋め込んでいる場合、その行をコメント アウトしないと、正しくビルドされない可能性があります。">
+</Event><Event ErrorLevel="1" Project="s2001" Source="s2001\s2001.vcproj" Description="C++ コンパイラの準拠の変更によって、プロジェクトがビルドする前にコード変更が必要になる場合があります。C++ コンパイラの旧バージョンは、メンバ関数名 (例: MemberFunctionName) によるメンバ関数ポインタの指定を許可していました。C++ 標準では、演算子のアドレスを使用した完全修飾名 (例: &ClassName::MemberFunctionName) が必要です。プロジェクトが Windows フォーム デザイナで使用されたフォームやコントロールを含む場合は、デザイナが生成したコードがデリゲート構築で規格外の構文を使ったため (イベント ハンドラを使用して)、InitializeComponent でコード変更をしなければならない可能性があります。">
+</Event><Event ErrorLevel="1" Project="s2001" Source="s2001\s2001.vcproj" Description="このアプリケーションは、Windows Vista のユーザー アカウント制御 (UAC) 機能に関連する設定を含むように更新されました。既定で、UAC を有効にして Windows Vista 上でアプリケーションを実行すると、起動したプロセスと同じ特権で実行するようにマークされます。このマークによって、アプリケーションの仮想化による実行も無効になります。プロジェクトのプロパティ ページから UAC 関連の設定を変更できます。">
+</Event><Event ErrorLevel="0" Project="s2001" Source="s2001\s2001.vcproj" Description="プロジェクト ファイルは正常に 'C:\Users\satoshi\Documents\genx\project\s2001\s2001.vcproj.7.10.old' としてバックアップされました。">
+</Event><Event ErrorLevel="0" Project="s2001" Source="s2001\s2001.vcproj" Description="プロジェクトは正常にアップグレードされました。">
+</Event><Event ErrorLevel="3" Project="s2001" Source="s2001\s2001.vcproj" Description="Converted">
+</Event><Event ErrorLevel="1" Project="s2001Editor" Source="s2001Editor\s2001Editor.vcproj" Description="C/C++ コンパイラ スイッチ /YX は現在サポートされていません。/YX はプロジェクト設置から削除されました。">
+</Event><Event ErrorLevel="0" Project="s2001Editor" Source="s2001Editor\s2001Editor.vcproj" Description="ローカルの IIS サーバーへの Web 配置はサポートされなくなりました。Web 配置ビルド ツールはプロジェクト設定から削除されました。">
+</Event><Event ErrorLevel="0" Project="s2001Editor" Source="s2001Editor\s2001Editor.vcproj" Description="Visual C++ では、C および C++ ライブラリの安全性が向上しています。これには、新しい関数や強化された関数、追加のチェック機能や検証機能、および内部設計の変更が含まれます。これらのライブラリは、既定で有効になっています。プロジェクトをビルドするときに、安全ではない関数やパラメータに関する警告が表示される可能性があります。通常、この警告にはより安全なコーディング方法や関数が示されます。コードをより安全にするために、これらの警告に従って修正することをお勧めします。詳細については、ドキュメントの「CRT のセキュリティ強化」および「Checked Iterators」を参照してください。">
+</Event><Event ErrorLevel="0" Project="s2001Editor" Source="s2001Editor\s2001Editor.vcproj" Description="C/C++ コンパイラの既定の設定は、ISO 標準の C++ により準拠するように編集されました。変更には、ループ スコープに対して標準 C++ を適用したり、wchar_t をネイティブ型としてサポートすることなどが含まれます。これらの変更によって、既存のコードが、コードへの変更、またはビルドされたときのコンパイラ オプションを含まずに、コンパイルされることがなくなる可能性があります。">
+</Event><Event ErrorLevel="1" Project="s2001Editor" Source="s2001Editor\s2001Editor.vcproj" Description="Visual C++ プロジェクトが埋め込み (既定で) Windows SxS マニフェストを生成する必要条件によって、プロジェクト内のマニフェスト ファイルは、マニフェスト ツールで自動的にビルドされるようになります。正常動作のために、場合によってはビルドを変更する必要があります。たとえば、すべてのマニフェスト ファイルに含まれる依存関係情報を、ソース コードからインクルードされたヘッダー ファイル内で、"#pragma コメント (リンカ、"<依存関係をここに挿入>")" に変換することをお勧めします。プロジェクトが、リソース (.rc) ファイルをとおして RT_MANIFEST リソース セクションにマニフェストを埋め込んでいる場合、その行をコメント アウトしないと、正しくビルドされない可能性があります。">
+</Event><Event ErrorLevel="1" Project="s2001Editor" Source="s2001Editor\s2001Editor.vcproj" Description="C++ コンパイラの準拠の変更によって、プロジェクトがビルドする前にコード変更が必要になる場合があります。C++ コンパイラの旧バージョンは、メンバ関数名 (例: MemberFunctionName) によるメンバ関数ポインタの指定を許可していました。C++ 標準では、演算子のアドレスを使用した完全修飾名 (例: &ClassName::MemberFunctionName) が必要です。プロジェクトが Windows フォーム デザイナで使用されたフォームやコントロールを含む場合は、デザイナが生成したコードがデリゲート構築で規格外の構文を使ったため (イベント ハンドラを使用して)、InitializeComponent でコード変更をしなければならない可能性があります。">
+</Event><Event ErrorLevel="1" Project="s2001Editor" Source="s2001Editor\s2001Editor.vcproj" Description="このアプリケーションは、Windows Vista のユーザー アカウント制御 (UAC) 機能に関連する設定を含むように更新されました。既定で、UAC を有効にして Windows Vista 上でアプリケーションを実行すると、起動したプロセスと同じ特権で実行するようにマークされます。このマークによって、アプリケーションの仮想化による実行も無効になります。プロジェクトのプロパティ ページから UAC 関連の設定を変更できます。">
+</Event><Event ErrorLevel="0" Project="s2001Editor" Source="s2001Editor\s2001Editor.vcproj" Description="プロジェクト ファイルは正常に 'C:\Users\satoshi\Documents\genx\project\s2001Editor\s2001Editor.vcproj.7.10.old' としてバックアップされました。">
+</Event><Event ErrorLevel="0" Project="s2001Editor" Source="s2001Editor\s2001Editor.vcproj" Description="プロジェクトは正常にアップグレードされました。">
+</Event><Event ErrorLevel="3" Project="s2001Editor" Source="s2001Editor\s2001Editor.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="s2001scene" Source="s2001scene\s2001scene.vcproj" Description="ローカルの IIS サーバーへの Web 配置はサポートされなくなりました。Web 配置ビルド ツールはプロジェクト設定から削除されました。">
+</Event><Event ErrorLevel="1" Project="s2001scene" Source="s2001scene\s2001scene.vcproj" Description="C/C++ コンパイラ スイッチ /YX は現在サポートされていません。/YX はプロジェクト設置から削除されました。">
+</Event><Event ErrorLevel="0" Project="s2001scene" Source="s2001scene\s2001scene.vcproj" Description="Visual C++ では、C および C++ ライブラリの安全性が向上しています。これには、新しい関数や強化された関数、追加のチェック機能や検証機能、および内部設計の変更が含まれます。これらのライブラリは、既定で有効になっています。プロジェクトをビルドするときに、安全ではない関数やパラメータに関する警告が表示される可能性があります。通常、この警告にはより安全なコーディング方法や関数が示されます。コードをより安全にするために、これらの警告に従って修正することをお勧めします。詳細については、ドキュメントの「CRT のセキュリティ強化」および「Checked Iterators」を参照してください。">
+</Event><Event ErrorLevel="0" Project="s2001scene" Source="s2001scene\s2001scene.vcproj" Description="C/C++ コンパイラの既定の設定は、ISO 標準の C++ により準拠するように編集されました。変更には、ループ スコープに対して標準 C++ を適用したり、wchar_t をネイティブ型としてサポートすることなどが含まれます。これらの変更によって、既存のコードが、コードへの変更、またはビルドされたときのコンパイラ オプションを含まずに、コンパイルされることがなくなる可能性があります。">
+</Event><Event ErrorLevel="1" Project="s2001scene" Source="s2001scene\s2001scene.vcproj" Description="Visual C++ プロジェクトが埋め込み (既定で) Windows SxS マニフェストを生成する必要条件によって、プロジェクト内のマニフェスト ファイルは、マニフェスト ツールで自動的にビルドされるようになります。正常動作のために、場合によってはビルドを変更する必要があります。たとえば、すべてのマニフェスト ファイルに含まれる依存関係情報を、ソース コードからインクルードされたヘッダー ファイル内で、"#pragma コメント (リンカ、"<依存関係をここに挿入>")" に変換することをお勧めします。プロジェクトが、リソース (.rc) ファイルをとおして RT_MANIFEST リソース セクションにマニフェストを埋め込んでいる場合、その行をコメント アウトしないと、正しくビルドされない可能性があります。">
+</Event><Event ErrorLevel="1" Project="s2001scene" Source="s2001scene\s2001scene.vcproj" Description="C++ コンパイラの準拠の変更によって、プロジェクトがビルドする前にコード変更が必要になる場合があります。C++ コンパイラの旧バージョンは、メンバ関数名 (例: MemberFunctionName) によるメンバ関数ポインタの指定を許可していました。C++ 標準では、演算子のアドレスを使用した完全修飾名 (例: &ClassName::MemberFunctionName) が必要です。プロジェクトが Windows フォーム デザイナで使用されたフォームやコントロールを含む場合は、デザイナが生成したコードがデリゲート構築で規格外の構文を使ったため (イベント ハンドラを使用して)、InitializeComponent でコード変更をしなければならない可能性があります。">
+</Event><Event ErrorLevel="1" Project="s2001scene" Source="s2001scene\s2001scene.vcproj" Description="このアプリケーションは、Windows Vista のユーザー アカウント制御 (UAC) 機能に関連する設定を含むように更新されました。既定で、UAC を有効にして Windows Vista 上でアプリケーションを実行すると、起動したプロセスと同じ特権で実行するようにマークされます。このマークによって、アプリケーションの仮想化による実行も無効になります。プロジェクトのプロパティ ページから UAC 関連の設定を変更できます。">
+</Event><Event ErrorLevel="0" Project="s2001scene" Source="s2001scene\s2001scene.vcproj" Description="プロジェクト ファイルは正常に 'C:\Users\satoshi\Documents\genx\project\s2001scene\s2001scene.vcproj.7.10.old' としてバックアップされました。">
+</Event><Event ErrorLevel="0" Project="s2001scene" Source="s2001scene\s2001scene.vcproj" Description="プロジェクトは正常にアップグレードされました。">
+</Event><Event ErrorLevel="3" Project="s2001scene" Source="s2001scene\s2001scene.vcproj" Description="Converted">
+</Event><Event ErrorLevel="1" Project="sfglib" Source="sfglib\sfglib.vcproj" Description="C/C++ コンパイラ スイッチ /YX は現在サポートされていません。/YX はプロジェクト設置から削除されました。">
+</Event><Event ErrorLevel="0" Project="sfglib" Source="sfglib\sfglib.vcproj" Description="ローカルの IIS サーバーへの Web 配置はサポートされなくなりました。Web 配置ビルド ツールはプロジェクト設定から削除されました。">
+</Event><Event ErrorLevel="0" Project="sfglib" Source="sfglib\sfglib.vcproj" Description="Visual C++ では、C および C++ ライブラリの安全性が向上しています。これには、新しい関数や強化された関数、追加のチェック機能や検証機能、および内部設計の変更が含まれます。これらのライブラリは、既定で有効になっています。プロジェクトをビルドするときに、安全ではない関数やパラメータに関する警告が表示される可能性があります。通常、この警告にはより安全なコーディング方法や関数が示されます。コードをより安全にするために、これらの警告に従って修正することをお勧めします。詳細については、ドキュメントの「CRT のセキュリティ強化」および「Checked Iterators」を参照してください。">
+</Event><Event ErrorLevel="0" Project="sfglib" Source="sfglib\sfglib.vcproj" Description="C/C++ コンパイラの既定の設定は、ISO 標準の C++ により準拠するように編集されました。変更には、ループ スコープに対して標準 C++ を適用したり、wchar_t をネイティブ型としてサポートすることなどが含まれます。これらの変更によって、既存のコードが、コードへの変更、またはビルドされたときのコンパイラ オプションを含まずに、コンパイルされることがなくなる可能性があります。">
+</Event><Event ErrorLevel="1" Project="sfglib" Source="sfglib\sfglib.vcproj" Description="Visual C++ プロジェクトが埋め込み (既定で) Windows SxS マニフェストを生成する必要条件によって、プロジェクト内のマニフェスト ファイルは、マニフェスト ツールで自動的にビルドされるようになります。正常動作のために、場合によってはビルドを変更する必要があります。たとえば、すべてのマニフェスト ファイルに含まれる依存関係情報を、ソース コードからインクルードされたヘッダー ファイル内で、"#pragma コメント (リンカ、"<依存関係をここに挿入>")" に変換することをお勧めします。プロジェクトが、リソース (.rc) ファイルをとおして RT_MANIFEST リソース セクションにマニフェストを埋め込んでいる場合、その行をコメント アウトしないと、正しくビルドされない可能性があります。">
+</Event><Event ErrorLevel="1" Project="sfglib" Source="sfglib\sfglib.vcproj" Description="C++ コンパイラの準拠の変更によって、プロジェクトがビルドする前にコード変更が必要になる場合があります。C++ コンパイラの旧バージョンは、メンバ関数名 (例: MemberFunctionName) によるメンバ関数ポインタの指定を許可していました。C++ 標準では、演算子のアドレスを使用した完全修飾名 (例: &ClassName::MemberFunctionName) が必要です。プロジェクトが Windows フォーム デザイナで使用されたフォームやコントロールを含む場合は、デザイナが生成したコードがデリゲート構築で規格外の構文を使ったため (イベント ハンドラを使用して)、InitializeComponent でコード変更をしなければならない可能性があります。">
+</Event><Event ErrorLevel="1" Project="sfglib" Source="sfglib\sfglib.vcproj" Description="このアプリケーションは、Windows Vista のユーザー アカウント制御 (UAC) 機能に関連する設定を含むように更新されました。既定で、UAC を有効にして Windows Vista 上でアプリケーションを実行すると、起動したプロセスと同じ特権で実行するようにマークされます。このマークによって、アプリケーションの仮想化による実行も無効になります。プロジェクトのプロパティ ページから UAC 関連の設定を変更できます。">
+</Event><Event ErrorLevel="0" Project="sfglib" Source="sfglib\sfglib.vcproj" Description="プロジェクト ファイルは正常に 'C:\Users\satoshi\Documents\genx\project\sfglib\sfglib.vcproj.7.10.old' としてバックアップされました。">
+</Event><Event ErrorLevel="0" Project="sfglib" Source="sfglib\sfglib.vcproj" Description="プロジェクトは正常にアップグレードされました。">
+</Event><Event ErrorLevel="3" Project="sfglib" Source="sfglib\sfglib.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="" Source="genx.sln" Description="ソリューションは正常に変換されました">
+</Event><Event ErrorLevel="3" Project="" Source="genx.sln" Description="Converted">
+</Event></UpgradeLog>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type='text/xsl' href='_UpgradeReport_Files/UpgradeReport.xslt'?><UpgradeLog>
+<Properties><Property Name="Solution" Value="genx">
+</Property><Property Name="ソリューション ファイル" Value="H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\genx.sln">
+</Property><Property Name="ユーザー オプション ファイル" Value="H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\genx.suo">
+</Property><Property Name="Date" Value="2011年6月16日">
+</Property><Property Name="Time" Value="7:25">
+</Property><Property Name="ログ番号" Value="2">
+</Property></Properties><Event ErrorLevel="2" Project="" Source="genx.sln" Description="バックアップ ファイル H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\genx.sln.old の作成中にエラーが発生しました">
+</Event><Event ErrorLevel="2" Project="" Source="genx.suo" Description="バックアップ ファイル H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\genx.suo.old の作成中にエラーが発生しました">
+</Event><Event ErrorLevel="0" Project="genx" Source="genx.vcproj" Description="Converting project file 'H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\genx.vcproj'.">
+</Event><Event ErrorLevel="1" Project="genx" Source="genx.vcproj" Description="VCWebServiceProxyGeneratorTool is no longer supported. The tool has been removed from your project settings.">
+</Event><Event ErrorLevel="1" Project="genx" Source="genx.vcproj" Description="MSB8012: $(TargetPath) ('H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\.\Release\genx.exe') does not match the Linker's OutputFile property value '.\Release/genx.exe' ('H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\Release/genx.exe') in project configuration 'Release|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Link.OutputFile).">
+</Event><Event ErrorLevel="1" Project="genx" Source="genx.vcproj" Description="MSB8012: $(TargetPath) ('H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\.\Debug\genx.exe') does not match the Linker's OutputFile property value '.\Debug/genx.exe' ('H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\Debug/genx.exe') in project configuration 'Debug|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Link.OutputFile).">
+</Event><Event ErrorLevel="0" Project="genx" Source="genx.vcproj" Description="Done converting to new project file 'H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\genx.vcxproj'.">
+</Event><Event ErrorLevel="3" Project="genx" Source="genx.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="s2001" Source="s2001\s2001.vcproj" Description="Converting project file 'H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\s2001\s2001.vcproj'.">
+</Event><Event ErrorLevel="1" Project="s2001" Source="s2001\s2001.vcproj" Description="VCWebServiceProxyGeneratorTool is no longer supported. The tool has been removed from your project settings.">
+</Event><Event ErrorLevel="1" Project="s2001" Source="s2001\s2001.vcproj" Description="MSB8012: $(TargetPath) ('H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\s2001\.\Release\s2001.dll') does not match the Linker's OutputFile property value '.\Release/s2001.dll' ('H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\Release/s2001.dll') in project configuration 'Release|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Link.OutputFile).">
+</Event><Event ErrorLevel="1" Project="s2001" Source="s2001\s2001.vcproj" Description="MSB8012: $(TargetPath) ('H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\s2001\.\Debug\s2001.dll') does not match the Linker's OutputFile property value '.\Debug/s2001.dll' ('H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\Debug/s2001.dll') in project configuration 'Debug|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Link.OutputFile).">
+</Event><Event ErrorLevel="0" Project="s2001" Source="s2001\s2001.vcproj" Description="Done converting to new project file 'H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\s2001\s2001.vcxproj'.">
+</Event><Event ErrorLevel="3" Project="s2001" Source="s2001\s2001.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="s2001Editor" Source="s2001Editor\s2001Editor.vcproj" Description="Converting project file 'H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\s2001Editor\s2001Editor.vcproj'.">
+</Event><Event ErrorLevel="1" Project="s2001Editor" Source="s2001Editor\s2001Editor.vcproj" Description="VCWebServiceProxyGeneratorTool is no longer supported. The tool has been removed from your project settings.">
+</Event><Event ErrorLevel="1" Project="s2001Editor" Source="s2001Editor\s2001Editor.vcproj" Description="MSB8012: $(TargetPath) ('H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\s2001Editor\.\Debug\s2001Editor.dll') does not match the Linker's OutputFile property value '.\Debug/s2001Editor.dll' ('H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\Debug/s2001Editor.dll') in project configuration 'Debug|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Link.OutputFile).">
+</Event><Event ErrorLevel="1" Project="s2001Editor" Source="s2001Editor\s2001Editor.vcproj" Description="MSB8012: $(TargetPath) ('H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\s2001Editor\.\Release\s2001Editor.dll') does not match the Linker's OutputFile property value '.\Release/s2001Editor.dll' ('H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\Release/s2001Editor.dll') in project configuration 'Release|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Link.OutputFile).">
+</Event><Event ErrorLevel="0" Project="s2001Editor" Source="s2001Editor\s2001Editor.vcproj" Description="Done converting to new project file 'H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\s2001Editor\s2001Editor.vcxproj'.">
+</Event><Event ErrorLevel="3" Project="s2001Editor" Source="s2001Editor\s2001Editor.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="s2001scene" Source="s2001scene\s2001scene.vcproj" Description="Converting project file 'H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\s2001scene\s2001scene.vcproj'.">
+</Event><Event ErrorLevel="1" Project="s2001scene" Source="s2001scene\s2001scene.vcproj" Description="VCWebServiceProxyGeneratorTool is no longer supported. The tool has been removed from your project settings.">
+</Event><Event ErrorLevel="1" Project="s2001scene" Source="s2001scene\s2001scene.vcproj" Description="MSB8012: $(TargetPath) ('H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\s2001scene\.\Release\s2001scene.dll') does not match the Linker's OutputFile property value '.\Release/s2001scene.dll' ('H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\Release/s2001scene.dll') in project configuration 'Release|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Link.OutputFile).">
+</Event><Event ErrorLevel="1" Project="s2001scene" Source="s2001scene\s2001scene.vcproj" Description="MSB8012: $(TargetPath) ('H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\s2001scene\.\Debug\s2001scene.dll') does not match the Linker's OutputFile property value '.\Debug/s2001scene.dll' ('H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\Debug/s2001scene.dll') in project configuration 'Debug|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Link.OutputFile).">
+</Event><Event ErrorLevel="0" Project="s2001scene" Source="s2001scene\s2001scene.vcproj" Description="Done converting to new project file 'H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\s2001scene\s2001scene.vcxproj'.">
+</Event><Event ErrorLevel="3" Project="s2001scene" Source="s2001scene\s2001scene.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="sfglib" Source="sfglib\sfglib.vcproj" Description="Converting project file 'H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\sfglib\sfglib.vcproj'.">
+</Event><Event ErrorLevel="1" Project="sfglib" Source="sfglib\sfglib.vcproj" Description="VCWebServiceProxyGeneratorTool is no longer supported. The tool has been removed from your project settings.">
+</Event><Event ErrorLevel="1" Project="sfglib" Source="sfglib\sfglib.vcproj" Description="MSB8012: $(TargetPath) ('H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\sfglib\.\Debug\sfglib.dll') does not match the Linker's OutputFile property value '.\Debug/sfglib.dll' ('H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\Debug/sfglib.dll') in project configuration 'Debug|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Link.OutputFile).">
+</Event><Event ErrorLevel="1" Project="sfglib" Source="sfglib\sfglib.vcproj" Description="MSB8012: $(TargetPath) ('H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\sfglib\.\Release\sfglib.dll') does not match the Linker's OutputFile property value '.\Release/sfglib.dll' ('H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\Release/sfglib.dll') in project configuration 'Release|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Link.OutputFile).">
+</Event><Event ErrorLevel="0" Project="sfglib" Source="sfglib\sfglib.vcproj" Description="Done converting to new project file 'H:\satoshi_documents\documents\Visual Studio 2010\Projects\genx\project\sfglib\sfglib.vcxproj'.">
+</Event><Event ErrorLevel="3" Project="sfglib" Source="sfglib\sfglib.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="" Source="genx.sln" Description="ソリューションは正常に変換されました">
+</Event><Event ErrorLevel="3" Project="" Source="genx.sln" Description="Converted">
+</Event></UpgradeLog>
\ No newline at end of file
--- /dev/null
+## Borland C++ Compiler 5.5 generic make
+## Mc.N (kfb02545@nifty.ne.jp)
+##
+## 00.05.30 : first making
+##
+
+##################################################
+## generic make setting...
+## If you change default .mak setting, BEGIN-END flag override.
+## note : * is default setting
+##################################################
+
+### <--- BEGIN BEGIN BEGIN ---> ###
+
+## TARGET = CONSOLE # *CONSOLE, WIN32GUI, WIN32DLL, ... and more
+
+TARGET = WIN32GUI
+
+## MT = 0 # *0(single thread), 1(multi thread)
+## ALIGN = 8 # 1(BYTE), 2(WORD), 4(DWORD), *8(QWORD).
+## CPUOPT = 3 # *3(i386), 4(i486), 5(Pentium), 6(PentiumPro)
+
+CPUOPT = 5
+
+## DEBUG = 0 # *0(release), 1(debug)
+
+DEBUG = 1
+
+## # (note) BCB is not make debug symbol ;-(... You don't have debug.
+## OPTIMIZE = 1 # 0(No optimize), *1(size), 2(speed), 3(size&speed, and more). debug mode is 0.
+
+OPTIMIZE = 2
+
+## PRECOMPILE = 1 # *0(No use), 1(Use pre-compiled header)
+
+PRECOMPILE = 1
+
+## NOPATCHS = 0 # 1 is no need patchs. default is 0 (under patch included)
+## WINVER = 0x400 # (patch) Why? BCC5.5 is default 0x500. You need only W2K program?
+## IE_VER = 0x300 # (patch) Why? BCC5.5 is default 0x501. I think no need IE function.
+## WINNT_VER = 0x400 # (patch)
+
+## BCBMAKEPATH = C:\Borland\Bcc55\bin
+## If you cannot use default BCB make.exe, you must set Borland bin path.
+
+## ENABLEDIRECTX = 0 # 1 is include directx setting. default is 0
+## DIRECTXPATH = C:\mssdk
+## If you cannot use default BCB include and lib, you must set directx path.
+## (note) If you installed Platform SDK too, maybe you have meny error... I don't know ;-(.
+
+### <--- END END END ---> ###
+
+!ifndef BCBMAKEPATH
+BCBMAKEPATH = $(MAKEDIR)
+!endif
+INCLUDEPATH = $(BCBMAKEPATH)\..\include;$(INCLUDEPATH)
+LIBRARYPATH = $(BCBMAKEPATH)\..\lib;$(BCBMAKEPATH)\..\lib\PSDK;$(LIBRARYPATH)
+
+!ifndef ENABLEDIRECTX
+ENABLEDIRECTX = 0
+!endif
+!if $(ENABLEDIRECTX) != 0
+MT = 1
+!ifdef DIRECTXPATH
+INCLUDEPATH = $(DIRECTXPATH)\include;$(INCLUDEPATH)
+LIBRARYPATH = $(DIRECTXPATH)\lib\Borland;$(LIBRARYPATH)
+!else
+ !error [WIN32B55.MAK] You must set DirectX SDK path (DIRECTXPATH)! BCB lib is good for nothing.
+!endif
+!endif
+
+TGTFLG =
+LIBSUF =
+TARGSUF =
+LINKSUF =
+LINKSTARTUP =
+
+## multi thread support?
+!ifndef MT
+ MT = 0
+!endif
+!if $(MT) == 0
+ TGTFLG = $(TGTFLG) -WM-
+ LIBSUF =
+!else
+ !message [WIN32B55.MAK] Multi thread library used
+ TGTFLG = $(TGTFLG) -WM
+ LIBSUF = mt
+!endif
+
+## build target
+!ifndef TARGET
+ !message [WIN32B55.MAK] default target build is CONSOLE...
+ TARGET = CONSOLE
+!endif
+!if $(TARGET) == CONSOLE
+ TGTFLG = $(TGTFLG) -WC
+ LIBSUF = $(LIBSUF)
+ TARGSUF =
+ LINKSUF = -Tpe -ap
+ LINKSTARTUP = c0x32.obj
+!elif $(TARGET) == WIN32GUI
+ TGTFLG = $(TGTFLG) -W
+ LIBSUF = $(LIBSUF)
+ TARGSUF =
+ LINKSUF = -Tpe -aa
+ LINKSTARTUP = c0w32.obj
+!elif $(TARGET) == WIN32DLL
+ TGTFLG = $(TGTFLG) -WD
+ TARGSUF=R
+ LIBSUF=$(LIBSUF)i
+ LINKSUF = -Tpd -aa
+ LINKSTARTUP = c0d32.obj
+!else
+ !error
+!endif
+
+## Alignment settting ---> DWORD
+!ifndef ALIGN
+ ALIGN = 8
+!endif
+!if !($(ALIGN)==1|| $(ALIGN)==2|| $(ALIGN)==4|| $(ALIGN)==8)
+ !error [WIN32B55.MAK] error found ALIGN.
+!endif
+
+## CPU Optimize ---> i386
+!ifndef CPUOPT
+ CPUOPT = 3
+!endif
+!if $(CPUOPT) < 3 || $(CPUOPT) > 6
+ !error [WIN32B55.MAK] error found CPUOPT.
+!endif
+
+## debug option
+!if $(DEBUG) != 0
+ !message [WIN32B55.MAK] debug build version
+ DEBFLG = -v
+ CDEBUG = -N
+!else
+ !message [WIN32B55.MAK] release build version
+!endif
+
+## Optimize compile
+!ifndef OPTIMIZE
+ OPTIMIZE = 1
+!endif
+!if $(OPTIMIZE) == 0 || $(DEBUG) != 0
+ CFLAGS = $(CFLAGS) -Od
+!elif $(OPTIMIZE) == 1
+ CFLAGS = $(CFLAGS) -O1
+!elif $(OPTIMIZE) == 2
+ CFLAGS = $(CFLAGS) -O2
+!elif $(OPTIMIZE) == 3
+ CFLAGS = $(CFLAGS) -O1 -O2 -Oi -Oc
+!else
+ !error [WIN32B55.MAK] error found OPTIMIZE.
+!endif
+
+## pre-compiled header
+!ifndef PRECOMPILE
+ PRECOMPILE = 0
+!endif
+!if $(PRECOMPILE) == 1
+ CFLAGS = $(CFLAGS) -H -Hs
+!endif
+
+## patchs
+!ifndef NOPATCHS
+ NOPATCHS = 0
+!endif
+!if $(NOPATCHS) == 0
+!ifndef WINVER
+ WINVER = 0x400
+ !message [WIN32B55.MAK] default WINVER = 0x400.
+!endif
+
+!ifndef IE_VER
+ IE_VER = 0x300
+ !message [WIN32B55.MAK] default IE version = 0x300.
+!endif
+
+!ifndef WINNT_VER
+ WINNT_VER = 0x400
+ !message [WIN32B55.MAK] default WINNT version = 0x400.
+!endif
+
+PATCHDEF = $(PATCHDEF) -DWINVER=$(WINVER) -D_WIN32_IE=$(IE_VER) -D_WIN32_WINNT=$(WINNT_VER)
+
+!endif # NOPATCHS
+
+##
+## FLAGS
+##
+CFLAGS = -c $(DEBFLG) $(CDEBUG) $(CFLAGS) -$(CPUOPT) -a$(ALIGN) $(TGTFLG) -I"$(INCLUDEPATH)" -L"$(LIBRARYPATH)" $(PATCHDEF)
+LINKFLAGS = $(LINKSUF) $(DEBFLG) -c -x -L"$(LIBRARYPATH)"
+LINKLIBS = import32.lib cw32$(LIBSUF).lib
+RCFLAGS = -r -i"$(INCLUDEPATH)"
+
+
+!if $(ENABLEDIRECTX) != 0
+CFLAGS = -Vd $(CFLAGS)
+CFLAGS = $(CFLAGS) -Dsinf=(FLOAT)sin
+CFLAGS = $(CFLAGS) -Dcosf=(FLOAT)cos
+CFLAGS = $(CFLAGS) -Dasinf=(FLOAT)asin
+CFLAGS = $(CFLAGS) -Dacosf=(FLOAT)acos
+CFLAGS = $(CFLAGS) -Dsqrtf=(FLOAT)sqrt
+CFLAGS = $(CFLAGS) -Dexpf=(FLOAT)exp
+LINKLIBS = $(LINKLIBS) ole2w32.lib
+LINKLIBS = $(LINKLIBS) d3dim.lib d3drm.lib d3dxof.lib ddraw.lib dplayx.lib dsetup.lib dsound.lib dxguid.lib
+## LINKLIBS = $(LINKLIBS) dinput.lib
+## d3dframe=..\..\lib\borland\d3dframe.lib
+!endif
+
+
+##
+## standard rules
+##
+
+CC = bcc32
+RC = brc32
+AS = tasm32
+CXX = bcc32 -P
+CPP = bcc32 -P
+CPP32 = cpp32
+LINKER = ilink32
+LINK = ilink32
+LIBRARIAN = tlib /P128
+
+.asm.obj:
+ $(AS) $(AFLAGS) -n$(OUT) $&.asm
+
+.c.obj:
+ $(CC) $(CFLAGS) -n$(OUT) $&.c
+
+.cpp.obj:
+ $(CC) $(CFLAGS) -n$(OUT) $&.cpp
+
+.rc.res:
+ $(RC) $(RCFLAGS) $&.rc -fo$(OUT)$&
+
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// Window\83\81\83C\83\93
+// \82±\82ê\82¾\82¯\82Í\82Í\82¸\82¹\82È\82¢\81D\81D\81D\81B
+// \97\9a\97ð:
+// $Log: WinMain.cpp,v $
+// Revision 1.7 2001/10/28 21:45:06 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.6 2001/07/09 20:30:10 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.5 2001/07/01 21:30:34 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.4 2001/07/01 01:03:45 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.3 2001/05/13 20:04:24 fujiwara
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\82ª\94\90¶\82µ\82½\82Ì\82Å\8eæ\82è\8f\9c\82\81B
+// \8e©\92e\82Ì\83T\83E\83\93\83h\83e\83X\83g
+//
+// Revision 1.2 2001/05/12 00:48:35 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+// 2001/01/29 \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p\83\89\83C\83u\83\89\83\8a\82Ì\92Ç\89Á
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+#define WINMAIN
+#define WIN32_LEAN_AND_MEAN
+#include "sfdebug.h"
+
+
+#include "windows.h"
+#include "windowsx.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+// WinMain --------------------------------------------------------------------
+typedef int (*WINMAINPROC)(HINSTANCE,HINSTANCE,LPSTR,int);
+
+int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance,
+ LPSTR lpszCmdParam, int nCmdShow)
+{
+#ifdef _DEBUG
+#ifndef _BORLAND
+ _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
+#endif
+#endif
+ HINSTANCE hGame = LoadLibrary("s2001.dll");
+ if(hGame){
+ WINMAINPROC proc = (WINMAINPROC)GetProcAddress(hGame,"S2001Main");
+ if(proc){
+ return (*proc)(hThisInstance,hPrevInstance,lpszCmdParam,nCmdShow);
+ } else {
+ return -1;
+/* char * pm[1024];
+ FormatMessage(
+ FORMAT_MESSAGE_FROM_SYSTEM |
+ FORMAT_MESSAGE_IGNORE_INSERTS,
+ NULL,
+ GetLastError(),
+
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // \83f\83t\83H\83\8b\83g\8c¾\8cê
+
+ (LPTSTR) &pm,
+
+ 1024,
+
+ NULL
+ );
+*/
+ }
+ } else {
+ return -1;
+ }
+};// WinMain
+
--- /dev/null
+<html><head>
+<title>ZK01.h</title>
+</head>
+<body><pre>
+<p>ZK01.h</p>
+<font color="green">//@STATE=\8dì\90¬\92\86</font>
+<font color="green">//@DESCRIPTION ---------------------------------------------------------------</font>
+<font color="green">// ZK01.h: ZK01 \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X</font>
+<font color="green">// \97\9a\97ð\81F</font>
+<font color="green">// $Log: ZK01.h,v $</font>
+<font color="green">// Revision 1.8 2001/07/09 20:30:10 fujiwara</font>
+<font color="green">// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý</font>
+<font color="green">//</font>
+<font color="green">// Revision 1.7 2001/07/01 01:03:45 fujiwara</font>
+<font color="green">// const \82Ì\8c©\92¼\82µ</font>
+<font color="green">// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß</font>
+<font color="green">//</font>
+<font color="green">// Revision 1.6 2001/06/03 09:22:32 fujiwara</font>
+<font color="green">// \92n\8fã\93G\83N\83\89\83X\82¨\82æ\82Ñ\8eG\8b\9b\93G\82Ì\94÷\92²\90®</font>
+<font color="green">//</font>
+<font color="green">// Revision 1.5 2001/05/29 01:12:10 fujiwara</font>
+<font color="green">// \8eG\8b\9b\83L\83\83\83\89(\94ò\8ds\95¨\81j\82Ì\8dì\90¬\81B\94z\92u\83G\83f\83B\83^\82Ì\83o\83O\8fC\90³</font>
+<font color="green">//</font>
+<font color="green">// Revision 1.4 2001/05/13 20:04:24 fujiwara</font>
+<font color="green">// \83\81\83\82\83\8a\81[\83\8a\81[\83N\82ª\94\90¶\82µ\82½\82Ì\82Å\8eæ\82è\8f\9c\82\81B</font>
+<font color="green">// \8e©\92e\82Ì\83T\83E\83\93\83h\83e\83X\83g</font>
+<font color="green">//</font>
+<font color="green">// Revision 1.3 2001/05/12 00:48:35 fujiwara</font>
+<font color="green">// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á</font>
+<font color="green">//</font>
+<font color="green">//@DESCRIPTION_END -----------------------------------------------------------</font>
+<font color="green">//@AUTHOR=S.F.</font>
+<font color="green">///////////////////////////////////////////////////////////////////////////////</font>
+
+<font color="blue">#<font color="blue">if</font></font> !defined(AFX_ZK01_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_)
+<font color="blue">#define</font> AFX_ZK01_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_
+
+<font color="blue">#<font color="blue">if</font></font> _MSC_VER > 1000
+<font color="blue">#pragma</font> once
+<font color="blue">#endif</font> <font color="green">// _MSC_VER > 1000</font>
+<font color="blue">#include</font> "AbstractEnemy.h"
+<font color="blue">namespace</font> <font color="darkblue">sf</font> {
+ <font color="blue">namespace</font> <font color="darkblue">application</font> {
+ <font color="blue">namespace</font> enemy {
+
+<font color="blue">class</font> <font color="Brown">ZK01</font> : <font color="blue">public</font> AbstractEnemy
+{
+<font color="blue">public</font>:
+ <font color="green">// LIFECYCLE //</font>
+ <font color="Brown">ZK01</font>();
+ <font color="blue">virtual</font> ~<font color="Brown">ZK01</font>();
+ <font color="green">// OPERATIONS //</font>
+ <font color="blue">void</font> initialize();
+ <font color="green">// \83L\83\83\83\89\83N\83^\81[\88Ú\93®</font>
+ <font color="blue">void</font> move(<font color="blue">void</font>);
+ <font color="blue">void</font> hit(<font color="red">Character</font> * <font color="blue">const</font> pDest);
+ <font color="blue">void</font> allBomb(<font color="blue">void</font>);
+ <font color="green">// \83e\83N\83X\83`\83\83\82È\82Ç\82Ì\83\8d\81[\83h</font>
+ <font color="blue">static</font> <font color="blue">void</font> load(<font color="blue">void</font>);
+ <font color="blue">static</font> <font color="blue">void</font> unload(<font color="blue">void</font>);
+
+ <font color="blue">static</font> <font color="red">Character</font> * <font color="blue">const</font> create(<font color="blue">float</font> x,<font color="blue">float</font> y ,<font color="blue">float</font> z,<font color="darkblue">sf</font>::<font color="darkblue">application</font>::scene::Game * <font color="blue">const</font> pGame,<font color="blue">int</font> index);
+ <font color="green">// ACCESS //</font>
+ <font color="darkblue">sf</font>::<font color="darkblue">application</font>::hit::<font color="red">Interface</font> * <font color="blue">const</font> hitObj(<font color="blue">void</font>){<font color="blue">return</font> &mHitRect;};
+
+ <font color="blue">static</font> <font color="darkblue">sf</font>::<font color="darkblue">system</font>::<font color="darkblue">console</font>::sprite::Sprite * <font color="blue">const</font> pSprite(<font color="blue">void</font>){<font color="blue">return</font> mspSprite.get();};
+
+<font color="blue">private</font>:
+ enum State {
+ MOVE,
+ DEAD
+ } mState;
+
+ <font color="blue">void</font> die(<font color="blue">void</font>);
+
+<font color="green">// float mRadian;</font>
+ <font color="blue">float</font> mDx;
+ <font color="blue">float</font> mDy;
+ <font color="blue">int</font> mDirCount;
+ <font color="blue">float</font> mDirSpeed;
+
+ <font color="blue">int</font> mAnimCount;
+ <font color="darkblue">sf</font>::<font color="darkblue">application</font>::hit::HitRect mHitRect;
+
+ <font color="darkblue">sf</font>::<font color="darkblue">system</font>::<font color="darkblue">console</font>::ObjRectangle mObj;
+
+ <font color="blue">static</font> <font color="darkblue">sf</font>::<font color="darkblue">system</font>::<font color="darkblue">console</font>::sprite::PSprite mspSprite;
+
+ <font color="blue">static</font> <font color="blue">const</font> <font color="darkblue">sf</font>::<font color="darkblue">system</font>::<font color="darkblue">console</font>::sprite::Info msSpriteInfo;
+
+ <font color="blue">static</font> <font color="blue">const</font> <font color="blue">int</font> SCORE;
+ <font color="blue">static</font> <font color="blue">int</font> mBalletTimer;
+ <font color="blue">static</font> <font color="blue">int</font> mBalletTimerInit;
+
+ <font color="blue">bool</font> mbHit;
+ <font color="blue">bool</font> mbShoot;
+
+ <font color="blue">int</font> mShootTimer;
+
+ <font color="blue">float</font> mSpeed;
+ <font color="blue">float</font> mAccel;
+ <font color="blue">float</font> mDeltaTime;
+ <font color="blue">float</font> mDeltaTimeRev;
+
+};
+ }
+ }
+}
+
+<font color="blue">#endif</font> <font color="green">// !defined(AFX_ZK01_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_)</font>
+</pre></body>
+</html>
--- /dev/null
+\r#if !defined(AFX_ZK01_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_)\r#define AFX_ZK01_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_\r\r#if _MSC_VER > 1000\r#pragma once\r#endif
+#include "AbstractEnemy.h"\rnamespace sf {\r namespace application {\r namespace enemy {\r\rclass ZK01 : public AbstractEnemy\r{\rpublic:\r
+ ZK01();\r virtual ~ZK01();\r
+ void initialize();\r
+ void move(void);\r void hit(Character * const pDest);\r void allBomb(void);\r
+ static void load(void);\r static void unload(void);\r\r static Character * const create(float x,float y ,float z,sf::application::scene::Game * const pGame,int index);\r
+ sf::application::hit::Interface * const hitObj(void){return &mHitRect;};\r\r static sf::system::console::sprite::Sprite * const pSprite(void){return mspSprite.get();}; \r \rprivate:\r enum State {\r MOVE,\r DEAD\r } mState;\r\r void die(void);\r\r float mDx;\r float mDy;\r int mDirCount;\r float mDirSpeed;\r \r int mAnimCount;\r sf::application::hit::HitRect mHitRect;\r \r sf::system::console::ObjRectangle mObj;\r \r static sf::system::console::sprite::PSprite mspSprite;\r \r static const sf::system::console::sprite::Info msSpriteInfo;\r \r static const int SCORE; \r static int mBalletTimer;\r static int mBalletTimerInit;\r \r bool mbHit;\r bool mbShoot;\r \r int mShootTimer;\r \r float mSpeed;\r float mAccel;\r float mDeltaTime;\r float mDeltaTimeRev;\r\r};\r }\r }\r}\r\r#endif
--- /dev/null
+BODY
+{
+ BACKGROUND-COLOR: white;
+ FONT-FAMILY: "Verdana", sans-serif;
+ FONT-SIZE: 100%;
+ MARGIN-LEFT: 0px;
+ MARGIN-TOP: 0px
+}
+P
+{
+ FONT-FAMILY: "Verdana", sans-serif;
+ FONT-SIZE: 70%;
+ LINE-HEIGHT: 12pt;
+ MARGIN-BOTTOM: 0px;
+ MARGIN-LEFT: 10px;
+ MARGIN-TOP: 10px
+}
+.note
+{
+ BACKGROUND-COLOR: #ffffff;
+ COLOR: #336699;
+ FONT-FAMILY: "Verdana", sans-serif;
+ FONT-SIZE: 100%;
+ MARGIN-BOTTOM: 0px;
+ MARGIN-LEFT: 0px;
+ MARGIN-TOP: 0px;
+ PADDING-RIGHT: 10px
+}
+.infotable
+{
+ BACKGROUND-COLOR: #f0f0e0;
+ BORDER-BOTTOM: #ffffff 0px solid;
+ BORDER-COLLAPSE: collapse;
+ BORDER-LEFT: #ffffff 0px solid;
+ BORDER-RIGHT: #ffffff 0px solid;
+ BORDER-TOP: #ffffff 0px solid;
+ FONT-SIZE: 70%;
+ MARGIN-LEFT: 10px
+}
+.issuetable
+{
+ BACKGROUND-COLOR: #ffffe8;
+ BORDER-COLLAPSE: collapse;
+ COLOR: #000000;
+ FONT-SIZE: 100%;
+ MARGIN-BOTTOM: 10px;
+ MARGIN-LEFT: 13px;
+ MARGIN-TOP: 0px
+}
+.issuetitle
+{
+ BACKGROUND-COLOR: #ffffff;
+ BORDER-BOTTOM: #dcdcdc 1px solid;
+ BORDER-TOP: #dcdcdc 1px;
+ COLOR: #003366;
+ FONT-WEIGHT: normal
+}
+.header
+{
+ BACKGROUND-COLOR: #cecf9c;
+ BORDER-BOTTOM: #ffffff 1px solid;
+ BORDER-LEFT: #ffffff 1px solid;
+ BORDER-RIGHT: #ffffff 1px solid;
+ BORDER-TOP: #ffffff 1px solid;
+ COLOR: #000000;
+ FONT-WEIGHT: bold
+}
+.issuehdr
+{
+ BACKGROUND-COLOR: #E0EBF5;
+ BORDER-BOTTOM: #dcdcdc 1px solid;
+ BORDER-TOP: #dcdcdc 1px solid;
+ COLOR: #000000;
+ FONT-WEIGHT: normal
+}
+.issuenone
+{
+ BACKGROUND-COLOR: #ffffff;
+ BORDER-BOTTOM: 0px;
+ BORDER-LEFT: 0px;
+ BORDER-RIGHT: 0px;
+ BORDER-TOP: 0px;
+ COLOR: #000000;
+ FONT-WEIGHT: normal
+}
+.content
+{
+ BACKGROUND-COLOR: #e7e7ce;
+ BORDER-BOTTOM: #ffffff 1px solid;
+ BORDER-LEFT: #ffffff 1px solid;
+ BORDER-RIGHT: #ffffff 1px solid;
+ BORDER-TOP: #ffffff 1px solid;
+ PADDING-LEFT: 3px
+}
+.issuecontent
+{
+ BACKGROUND-COLOR: #ffffff;
+ BORDER-BOTTOM: #dcdcdc 1px solid;
+ BORDER-TOP: #dcdcdc 1px solid;
+ PADDING-LEFT: 3px
+}
+A:link
+{
+ COLOR: #cc6633;
+ TEXT-DECORATION: underline
+}
+A:visited
+{
+ COLOR: #cc6633;
+}
+A:active
+{
+ COLOR: #cc6633;
+}
+A:hover
+{
+ COLOR: #cc3300;
+ TEXT-DECORATION: underline
+}
+H1
+{
+ BACKGROUND-COLOR: #003366;
+ BORDER-BOTTOM: #336699 6px solid;
+ COLOR: #ffffff;
+ FONT-SIZE: 130%;
+ FONT-WEIGHT: normal;
+ MARGIN: 0em 0em 0em -20px;
+ PADDING-BOTTOM: 8px;
+ PADDING-LEFT: 30px;
+ PADDING-TOP: 16px
+}
+H2
+{
+ COLOR: #000000;
+ FONT-SIZE: 80%;
+ FONT-WEIGHT: bold;
+ MARGIN-BOTTOM: 3px;
+ MARGIN-LEFT: 10px;
+ MARGIN-TOP: 20px;
+ PADDING-LEFT: 0px
+}
+H3
+{
+ COLOR: #000000;
+ FONT-SIZE: 80%;
+ FONT-WEIGHT: bold;
+ MARGIN-BOTTOM: -5px;
+ MARGIN-LEFT: 10px;
+ MARGIN-TOP: 20px
+}
+H4
+{
+ COLOR: #000000;
+ FONT-SIZE: 70%;
+ FONT-WEIGHT: bold;
+ MARGIN-BOTTOM: 0px;
+ MARGIN-TOP: 15px;
+ PADDING-BOTTOM: 0px
+}
+UL
+{
+ COLOR: #000000;
+ FONT-SIZE: 70%;
+ LIST-STYLE: square;
+ MARGIN-BOTTOM: 0pt;
+ MARGIN-TOP: 0pt
+}
+OL
+{
+ COLOR: #000000;
+ FONT-SIZE: 70%;
+ LIST-STYLE: square;
+ MARGIN-BOTTOM: 0pt;
+ MARGIN-TOP: 0pt
+}
+LI
+{
+ LIST-STYLE: square;
+ MARGIN-LEFT: 0px
+}
+.expandable
+{
+ CURSOR: hand
+}
+.expanded
+{
+ color: black
+}
+.collapsed
+{
+ DISPLAY: none
+}
+.foot
+{
+BACKGROUND-COLOR: #ffffff;
+BORDER-BOTTOM: #cecf9c 1px solid;
+BORDER-TOP: #cecf9c 2px solid
+}
+.settings
+{
+MARGIN-LEFT: 25PX;
+}
+.help
+{
+TEXT-ALIGN: right;
+margin-right: 10px;
+}
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
+
+ <xsl:key name="ProjectKey" match="Event" use="@Project"/>
+
+ <xsl:template match="Events" mode="createProjects">
+ <projects>
+ <xsl:for-each select="Event">
+ <!--xsl:sort select="@Project" order="descending"/-->
+ <xsl:if test="(1=position()) or (preceding-sibling::*[1]/@Project != @Project)">
+
+ <xsl:variable name="ProjectName" select="@Project"/>
+
+ <project>
+ <xsl:attribute name="name">
+ <xsl:value-of select="@Project"/>
+ </xsl:attribute>
+
+ <xsl:if test="@Project=''">
+ <xsl:attribute name="solution">
+ <xsl:value-of select="@Solution"/>
+ </xsl:attribute>
+ </xsl:if>
+
+ <xsl:for-each select="key('ProjectKey', $ProjectName)">
+ <!--xsl:sort select="@Source" /-->
+ <xsl:if test="(1=position()) or (preceding-sibling::*[1]/@Source != @Source)">
+
+ <source>
+ <xsl:attribute name="name">
+ <xsl:value-of select="@Source"/>
+ </xsl:attribute>
+
+ <xsl:variable name="Source">
+ <xsl:value-of select="@Source"/>
+ </xsl:variable>
+
+ <xsl:for-each select="key('ProjectKey', $ProjectName)[ @Source = $Source ]">
+
+ <event>
+ <xsl:attribute name="error-level">
+ <xsl:value-of select="@ErrorLevel"/>
+ </xsl:attribute>
+ <xsl:attribute name="description">
+ <xsl:value-of select="@Description"/>
+ </xsl:attribute>
+ </event>
+ </xsl:for-each>
+ </source>
+ </xsl:if>
+ </xsl:for-each>
+
+ </project>
+ </xsl:if>
+ </xsl:for-each>
+ </projects>
+ </xsl:template>
+
+ <xsl:template match="projects">
+ <xsl:for-each select="project">
+ <xsl:sort select="@Name" order="ascending"/>
+ <h2>
+ <xsl:if test="@solution"><a _locID="Solution">ソリューション</a>: <xsl:value-of select="@solution"/></xsl:if>
+ <xsl:if test="not(@solution)"><a _locID="Project">プロジェクト</a>: <xsl:value-of select="@name"/>
+ <xsl:for-each select="source">
+ <xsl:variable name="Hyperlink" select="@name"/>
+ <xsl:for-each select="event[@error-level='4']">
+ <A class="note"><xsl:attribute name="HREF"><xsl:value-of select="$Hyperlink"/></xsl:attribute><xsl:value-of select="@description"/></A>
+ </xsl:for-each>
+ </xsl:for-each>
+ </xsl:if>
+ </h2>
+
+ <table cellpadding="2" cellspacing="0" width="98%" border="1" bordercolor="white" class="infotable">
+ <tr>
+ <td nowrap="1" class="header" _locID="Filename">ファイル名</td>
+ <td nowrap="1" class="header" _locID="Status">状態</td>
+ <td nowrap="1" class="header" _locID="Errors">エラー</td>
+ <td nowrap="1" class="header" _locID="Warnings">警告</td>
+ </tr>
+
+ <xsl:for-each select="source">
+ <xsl:sort select="@name" order="ascending"/>
+ <xsl:variable name="source-id" select="generate-id(.)"/>
+
+ <xsl:if test="count(event)!=count(event[@error-level='4'])">
+
+ <tr class="row">
+ <td class="content">
+ <A HREF="javascript:"><xsl:attribute name="onClick">javascript:document.images['<xsl:value-of select="$source-id"/>'].click()</xsl:attribute><IMG border="0" _locID="IMG.alt" _locAttrData="alt" alt="セクションの展開/折りたたみ" class="expandable" height="11" onclick="changepic()" src="_UpgradeReport_Files/UpgradeReport_Plus.gif" width="9"><xsl:attribute name="name"><xsl:value-of select="$source-id"/></xsl:attribute><xsl:attribute name="child">src<xsl:value-of select="$source-id"/></xsl:attribute></IMG></A> <xsl:value-of select="@name"/>
+ </td>
+ <td class="content">
+ <xsl:if test="count(event[@error-level='3'])=1">
+ <xsl:for-each select="event[@error-level='3']">
+ <xsl:if test="@description='Converted'"><a _locID="Converted1">変換済み</a></xsl:if>
+ <xsl:if test="@description!='Converted'"><xsl:value-of select="@description"/></xsl:if>
+ </xsl:for-each>
+ </xsl:if>
+ <xsl:if test="count(event[@error-level='3'])!=1 and count(event[@error-level='3' and @description='Converted'])!=0"><a _locID="Converted2">変換済み</a>
+ </xsl:if>
+ </td>
+ <td class="content"><xsl:value-of select="count(event[@error-level='2'])"/></td>
+ <td class="content"><xsl:value-of select="count(event[@error-level='1'])"/></td>
+ </tr>
+
+ <tr class="collapsed" bgcolor="#ffffff">
+ <xsl:attribute name="id">src<xsl:value-of select="$source-id"/></xsl:attribute>
+
+ <td colspan="7">
+ <table width="97%" border="1" bordercolor="#dcdcdc" rules="cols" class="issuetable">
+ <tr>
+ <td colspan="7" class="issuetitle" _locID="ConversionIssues">変換レポート - <xsl:value-of select="@name"/>:</td>
+ </tr>
+
+ <xsl:for-each select="event[@error-level!='3']">
+ <xsl:if test="@error-level!='4'">
+ <tr>
+ <td class="issuenone" style="border-bottom:solid 1 lightgray">
+ <xsl:value-of select="@description"/>
+ </td>
+ </tr>
+ </xsl:if>
+ </xsl:for-each>
+ </table>
+ </td>
+ </tr>
+ </xsl:if>
+ </xsl:for-each>
+
+ <tr valign="top">
+ <td class="foot">
+ <xsl:if test="count(source)!=1">
+ <xsl:value-of select="count(source)"/><a _locID="file1"> ファイル</a>
+ </xsl:if>
+ <xsl:if test="count(source)=1">
+ <a _locID="file2">1 ファイル</a>
+ </xsl:if>
+ </td>
+ <td class="foot">
+ <a _locID="Converted3">変換済み</a>: <xsl:value-of select="count(source/event[@error-level='3' and @description='Converted'])"/><BR/>
+ <a _locID="NotConverted">変換されませんでした。</a>: <xsl:value-of select="count(source) - count(source/event[@error-level='3' and @description='Converted'])"/>
+ </td>
+ <td class="foot"><xsl:value-of select="count(source/event[@error-level='2'])"/></td>
+ <td class="foot"><xsl:value-of select="count(source/event[@error-level='1'])"/></td>
+ </tr>
+ </table>
+ </xsl:for-each>
+ </xsl:template>
+
+ <xsl:template match="Property">
+ <xsl:if test="@Name!='Date' and @Name!='Time' and @Name!='LogNumber' and @Name!='Solution'">
+ <tr><td nowrap="1"><b><xsl:value-of select="@Name"/>: </b><xsl:value-of select="@Value"/></td></tr>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="UpgradeLog">
+ <html>
+ <head>
+ <META HTTP-EQUIV="Content-Type" content="text/html; charset=utf-8"/>
+ <link rel="stylesheet" href="_UpgradeReport_Files\UpgradeReport.css"/>
+ <title _locID="ConversionReport0">変換レポート
+ <xsl:if test="Properties/Property[@Name='LogNumber']">
+ <xsl:value-of select="Properties/Property[@Name='LogNumber']/@Value"/>
+ </xsl:if>
+ </title>
+ <script language="javascript">
+ function outliner () {
+ oMe = window.event.srcElement
+ //get child element
+ var child = document.all[event.srcElement.getAttribute("child",false)];
+ //if child element exists, expand or collapse it.
+ if (null != child)
+ child.className = child.className == "collapsed" ? "expanded" : "collapsed";
+ }
+
+ function changepic() {
+ uMe = window.event.srcElement;
+ var check = uMe.src.toLowerCase();
+ if (check.lastIndexOf("upgradereport_plus.gif") != -1)
+ {
+ uMe.src = "_UpgradeReport_Files/UpgradeReport_Minus.gif"
+ }
+ else
+ {
+ uMe.src = "_UpgradeReport_Files/UpgradeReport_Plus.gif"
+ }
+ }
+ </script>
+ </head>
+ <body topmargin="0" leftmargin="0" rightmargin="0" onclick="outliner();">
+ <h1 _locID="ConversionReport">変換レポート - <xsl:value-of select="Properties/Property[@Name='Solution']/@Value"/></h1>
+
+ <p><span class="note">
+ <b _locID="TimeOfConversion">変換時間:</b> <xsl:value-of select="Properties/Property[@Name='Date']/@Value"/> <xsl:value-of select="Properties/Property[@Name='Time']/@Value"/><br/>
+ </span></p>
+
+ <xsl:variable name="SortedEvents">
+ <Events>
+ <xsl:for-each select="Event">
+ <xsl:sort select="@Project" order="ascending"/>
+ <xsl:sort select="@Source" order="ascending"/>
+ <xsl:sort select="@ErrorLevel" order="ascending"/>
+ <Event>
+ <xsl:attribute name="Project"><xsl:value-of select="@Project"/> </xsl:attribute>
+ <xsl:attribute name="Solution"><xsl:value-of select="/UpgradeLog/Properties/Property[@Name='Solution']/@Value"/> </xsl:attribute>
+ <xsl:attribute name="Source"><xsl:value-of select="@Source"/> </xsl:attribute>
+ <xsl:attribute name="ErrorLevel"><xsl:value-of select="@ErrorLevel"/> </xsl:attribute>
+ <xsl:attribute name="Description"><xsl:value-of select="@Description"/> </xsl:attribute>
+ </Event>
+ </xsl:for-each>
+ </Events>
+ </xsl:variable>
+
+ <xsl:variable name="Projects">
+ <xsl:apply-templates select="msxsl:node-set($SortedEvents)/*" mode="createProjects"/>
+ </xsl:variable>
+
+ <xsl:apply-templates select="msxsl:node-set($Projects)/*"/>
+
+ <p></p><p>
+ <table class="note">
+ <tr>
+ <td nowrap="1">
+ <b _locID="ConversionSettings">変換の設定</b>
+ </td>
+ </tr>
+ <xsl:apply-templates select="Properties"/>
+ </table></p>
+ </body>
+ </html>
+ </xsl:template>
+</xsl:stylesheet>
--- /dev/null
+// This is a part of the Microsoft Foundation Classes C++ library.
+// Copyright (C) 1992-1998 Microsoft Corporation
+// All rights reserved.
+//
+// This source code is only intended as a supplement to the
+// Microsoft Foundation Classes Reference and related
+// electronic documentation provided with the library.
+// See these sources for detailed information regarding the
+// Microsoft Foundation Classes product.
+
+#ifndef __AFXRES_H__
+#define __AFXRES_H__
+
+#ifdef RC_INVOKED
+#ifndef _INC_WINDOWS
+#define _INC_WINDOWS
+ #include "winres.h" // extract from windows header
+#endif
+#endif
+
+#ifdef _AFX_MINREBUILD
+#pragma component(minrebuild, off)
+#endif
+
+#ifdef APSTUDIO_INVOKED
+#define APSTUDIO_HIDDEN_SYMBOLS
+#endif
+
+#ifndef _MFC_VER
+#define _MFC_VER 0x0600
+#endif
+
+/////////////////////////////////////////////////////////////////////////////
+// MFC resource types (see Technical note TN024 for implementation details)
+
+#ifndef RC_INVOKED
+#define RT_DLGINIT MAKEINTRESOURCE(240)
+#define RT_TOOLBAR MAKEINTRESOURCE(241)
+#endif
+
+/////////////////////////////////////////////////////////////////////////////
+
+#ifdef APSTUDIO_INVOKED
+#undef APSTUDIO_HIDDEN_SYMBOLS
+#endif
+
+/////////////////////////////////////////////////////////////////////////////
+// General style bits etc
+
+// Tab Control styles
+#ifndef TCS_MULTILINE // new in later versions of Win32
+#define TCS_MULTILINE 0x0200
+#endif
+
+// ControlBar styles
+#define CBRS_ALIGN_LEFT 0x1000L
+#define CBRS_ALIGN_TOP 0x2000L
+#define CBRS_ALIGN_RIGHT 0x4000L
+#define CBRS_ALIGN_BOTTOM 0x8000L
+#define CBRS_ALIGN_ANY 0xF000L
+
+#define CBRS_BORDER_LEFT 0x0100L
+#define CBRS_BORDER_TOP 0x0200L
+#define CBRS_BORDER_RIGHT 0x0400L
+#define CBRS_BORDER_BOTTOM 0x0800L
+#define CBRS_BORDER_ANY 0x0F00L
+
+#define CBRS_TOOLTIPS 0x0010L
+#define CBRS_FLYBY 0x0020L
+#define CBRS_FLOAT_MULTI 0x0040L
+#define CBRS_BORDER_3D 0x0080L
+#define CBRS_HIDE_INPLACE 0x0008L
+#define CBRS_SIZE_DYNAMIC 0x0004L
+#define CBRS_SIZE_FIXED 0x0002L
+#define CBRS_FLOATING 0x0001L
+
+#if _MFC_VER >= 0x0600
+#define CBRS_GRIPPER 0x00400000L
+#endif
+
+#define CBRS_ORIENT_HORZ (CBRS_ALIGN_TOP|CBRS_ALIGN_BOTTOM)
+#define CBRS_ORIENT_VERT (CBRS_ALIGN_LEFT|CBRS_ALIGN_RIGHT)
+#define CBRS_ORIENT_ANY (CBRS_ORIENT_HORZ|CBRS_ORIENT_VERT)
+
+#if _MFC_VER >= 0x0600
+#define CBRS_ALL 0x0040FFFFL
+#else
+#define CBRS_ALL 0xFFFFL
+#endif
+
+// the CBRS_ style is made up of an alignment style and a draw border style
+// the alignment styles are mutually exclusive
+// the draw border styles may be combined
+#define CBRS_NOALIGN 0x00000000L
+#define CBRS_LEFT (CBRS_ALIGN_LEFT|CBRS_BORDER_RIGHT)
+#define CBRS_TOP (CBRS_ALIGN_TOP|CBRS_BORDER_BOTTOM)
+#define CBRS_RIGHT (CBRS_ALIGN_RIGHT|CBRS_BORDER_LEFT)
+#define CBRS_BOTTOM (CBRS_ALIGN_BOTTOM|CBRS_BORDER_TOP)
+
+/////////////////////////////////////////////////////////////////////////////
+// Standard window components
+
+// Mode indicators in status bar - these are routed like commands
+#define ID_INDICATOR_EXT 0xE700 // extended selection indicator
+#define ID_INDICATOR_CAPS 0xE701 // cap lock indicator
+#define ID_INDICATOR_NUM 0xE702 // num lock indicator
+#define ID_INDICATOR_SCRL 0xE703 // scroll lock indicator
+#define ID_INDICATOR_OVR 0xE704 // overtype mode indicator
+#define ID_INDICATOR_REC 0xE705 // record mode indicator
+#define ID_INDICATOR_KANA 0xE706 // kana lock indicator
+
+#define ID_SEPARATOR 0 // special separator value
+
+#ifndef RC_INVOKED // code only
+// Standard control bars (IDW = window ID)
+#define AFX_IDW_CONTROLBAR_FIRST 0xE800
+#define AFX_IDW_CONTROLBAR_LAST 0xE8FF
+
+#define AFX_IDW_TOOLBAR 0xE800 // main Toolbar for window
+#define AFX_IDW_STATUS_BAR 0xE801 // Status bar window
+#define AFX_IDW_PREVIEW_BAR 0xE802 // PrintPreview Dialog Bar
+#define AFX_IDW_RESIZE_BAR 0xE803 // OLE in-place resize bar
+#if _MFC_VER >= 0x0600
+#define AFX_IDW_REBAR 0xE804 // COMCTL32 "rebar" Bar
+#define AFX_IDW_DIALOGBAR 0xE805 // CDialogBar
+#endif
+
+// Note: If your application supports docking toolbars, you should
+// not use the following IDs for your own toolbars. The IDs chosen
+// are at the top of the first 32 such that the bars will be hidden
+// while in print preview mode, and are not likely to conflict with
+// IDs your application may have used succesfully in the past.
+
+#define AFX_IDW_DOCKBAR_TOP 0xE81B
+#define AFX_IDW_DOCKBAR_LEFT 0xE81C
+#define AFX_IDW_DOCKBAR_RIGHT 0xE81D
+#define AFX_IDW_DOCKBAR_BOTTOM 0xE81E
+#define AFX_IDW_DOCKBAR_FLOAT 0xE81F
+
+// Macro for mapping standard control bars to bitmask (limit of 32)
+#define AFX_CONTROLBAR_MASK(nIDC) (1L << (nIDC - AFX_IDW_CONTROLBAR_FIRST))
+
+// parts of Main Frame
+#define AFX_IDW_PANE_FIRST 0xE900 // first pane (256 max)
+#define AFX_IDW_PANE_LAST 0xE9ff
+#define AFX_IDW_HSCROLL_FIRST 0xEA00 // first Horz scrollbar (16 max)
+#define AFX_IDW_VSCROLL_FIRST 0xEA10 // first Vert scrollbar (16 max)
+
+#define AFX_IDW_SIZE_BOX 0xEA20 // size box for splitters
+#define AFX_IDW_PANE_SAVE 0xEA21 // to shift AFX_IDW_PANE_FIRST
+#endif //!RC_INVOKED
+
+#ifndef APSTUDIO_INVOKED
+
+// common style for form views
+#define AFX_WS_DEFAULT_VIEW (WS_CHILD | WS_VISIBLE | WS_BORDER)
+
+#endif //!APSTUDIO_INVOKED
+
+/////////////////////////////////////////////////////////////////////////////
+// Standard app configurable strings
+
+// for application title (defaults to EXE name or name in constructor)
+#define AFX_IDS_APP_TITLE 0xE000
+// idle message bar line
+#define AFX_IDS_IDLEMESSAGE 0xE001
+// message bar line when in shift-F1 help mode
+#define AFX_IDS_HELPMODEMESSAGE 0xE002
+// document title when editing OLE embedding
+#define AFX_IDS_APP_TITLE_EMBEDDING 0xE003
+// company name
+#define AFX_IDS_COMPANY_NAME 0xE004
+// object name when server is inplace
+#define AFX_IDS_OBJ_TITLE_INPLACE 0xE005
+
+/////////////////////////////////////////////////////////////////////////////
+// Standard Commands
+
+// File commands
+#define ID_FILE_NEW 0xE100
+#define ID_FILE_OPEN 0xE101
+#define ID_FILE_CLOSE 0xE102
+#define ID_FILE_SAVE 0xE103
+#define ID_FILE_SAVE_AS 0xE104
+#define ID_FILE_PAGE_SETUP 0xE105
+#define ID_FILE_PRINT_SETUP 0xE106
+#define ID_FILE_PRINT 0xE107
+#define ID_FILE_PRINT_DIRECT 0xE108
+#define ID_FILE_PRINT_PREVIEW 0xE109
+#define ID_FILE_UPDATE 0xE10A
+#define ID_FILE_SAVE_COPY_AS 0xE10B
+#define ID_FILE_SEND_MAIL 0xE10C
+
+#define ID_FILE_MRU_FIRST 0xE110
+#define ID_FILE_MRU_FILE1 0xE110 // range - 16 max
+#define ID_FILE_MRU_FILE2 0xE111
+#define ID_FILE_MRU_FILE3 0xE112
+#define ID_FILE_MRU_FILE4 0xE113
+#define ID_FILE_MRU_FILE5 0xE114
+#define ID_FILE_MRU_FILE6 0xE115
+#define ID_FILE_MRU_FILE7 0xE116
+#define ID_FILE_MRU_FILE8 0xE117
+#define ID_FILE_MRU_FILE9 0xE118
+#define ID_FILE_MRU_FILE10 0xE119
+#define ID_FILE_MRU_FILE11 0xE11A
+#define ID_FILE_MRU_FILE12 0xE11B
+#define ID_FILE_MRU_FILE13 0xE11C
+#define ID_FILE_MRU_FILE14 0xE11D
+#define ID_FILE_MRU_FILE15 0xE11E
+#define ID_FILE_MRU_FILE16 0xE11F
+#define ID_FILE_MRU_LAST 0xE11F
+
+// Edit commands
+#define ID_EDIT_CLEAR 0xE120
+#define ID_EDIT_CLEAR_ALL 0xE121
+#define ID_EDIT_COPY 0xE122
+#define ID_EDIT_CUT 0xE123
+#define ID_EDIT_FIND 0xE124
+#define ID_EDIT_PASTE 0xE125
+#define ID_EDIT_PASTE_LINK 0xE126
+#define ID_EDIT_PASTE_SPECIAL 0xE127
+#define ID_EDIT_REPEAT 0xE128
+#define ID_EDIT_REPLACE 0xE129
+#define ID_EDIT_SELECT_ALL 0xE12A
+#define ID_EDIT_UNDO 0xE12B
+#define ID_EDIT_REDO 0xE12C
+
+// Window commands
+#define ID_WINDOW_NEW 0xE130
+#define ID_WINDOW_ARRANGE 0xE131
+#define ID_WINDOW_CASCADE 0xE132
+#define ID_WINDOW_TILE_HORZ 0xE133
+#define ID_WINDOW_TILE_VERT 0xE134
+#define ID_WINDOW_SPLIT 0xE135
+#ifndef RC_INVOKED // code only
+#define AFX_IDM_WINDOW_FIRST 0xE130
+#define AFX_IDM_WINDOW_LAST 0xE13F
+#define AFX_IDM_FIRST_MDICHILD 0xFF00 // window list starts here
+#endif //!RC_INVOKED
+
+// Help and App commands
+#define ID_APP_ABOUT 0xE140
+#define ID_APP_EXIT 0xE141
+#define ID_HELP_INDEX 0xE142
+#define ID_HELP_FINDER 0xE143
+#define ID_HELP_USING 0xE144
+#define ID_CONTEXT_HELP 0xE145 // shift-F1
+// special commands for processing help
+#define ID_HELP 0xE146 // first attempt for F1
+#define ID_DEFAULT_HELP 0xE147 // last attempt
+
+// Misc
+#define ID_NEXT_PANE 0xE150
+#define ID_PREV_PANE 0xE151
+
+// Format
+#define ID_FORMAT_FONT 0xE160
+
+// OLE commands
+#define ID_OLE_INSERT_NEW 0xE200
+#define ID_OLE_EDIT_LINKS 0xE201
+#define ID_OLE_EDIT_CONVERT 0xE202
+#define ID_OLE_EDIT_CHANGE_ICON 0xE203
+#define ID_OLE_EDIT_PROPERTIES 0xE204
+#define ID_OLE_VERB_FIRST 0xE210 // range - 16 max
+#ifndef RC_INVOKED // code only
+#define ID_OLE_VERB_LAST 0xE21F
+#endif //!RC_INVOKED
+
+// for print preview dialog bar
+#define AFX_ID_PREVIEW_CLOSE 0xE300
+#define AFX_ID_PREVIEW_NUMPAGE 0xE301 // One/Two Page button
+#define AFX_ID_PREVIEW_NEXT 0xE302
+#define AFX_ID_PREVIEW_PREV 0xE303
+#define AFX_ID_PREVIEW_PRINT 0xE304
+#define AFX_ID_PREVIEW_ZOOMIN 0xE305
+#define AFX_ID_PREVIEW_ZOOMOUT 0xE306
+
+// View commands (same number used as IDW used for control bar)
+#define ID_VIEW_TOOLBAR 0xE800
+#define ID_VIEW_STATUS_BAR 0xE801
+#if _MFC_VER >= 0x0600
+#define ID_VIEW_REBAR 0xE804
+#define ID_VIEW_AUTOARRANGE 0xE805
+ // E810 -> E81F must be kept in order for RANGE macros
+#define ID_VIEW_SMALLICON 0xE810
+#define ID_VIEW_LARGEICON 0xE811
+#define ID_VIEW_LIST 0xE812
+#define ID_VIEW_DETAILS 0xE813
+#define ID_VIEW_LINEUP 0xE814
+#define ID_VIEW_BYNAME 0xE815
+#define AFX_ID_VIEW_MINIMUM ID_VIEW_SMALLICON
+#define AFX_ID_VIEW_MAXIMUM ID_VIEW_BYNAME
+#endif
+ // E800 -> E8FF reserved for other control bar commands
+
+// RecordForm commands
+#define ID_RECORD_FIRST 0xE900
+#define ID_RECORD_LAST 0xE901
+#define ID_RECORD_NEXT 0xE902
+#define ID_RECORD_PREV 0xE903
+
+/////////////////////////////////////////////////////////////////////////////
+// Standard control IDs
+
+#ifdef IDC_STATIC
+#undef IDC_STATIC
+#endif
+#define IDC_STATIC (-1) // all static controls
+
+/////////////////////////////////////////////////////////////////////////////
+// Standard string error/warnings
+
+#ifndef RC_INVOKED // code only
+#define AFX_IDS_SCFIRST 0xEF00
+#endif //!RC_INVOKED
+
+#define AFX_IDS_SCSIZE 0xEF00
+#define AFX_IDS_SCMOVE 0xEF01
+#define AFX_IDS_SCMINIMIZE 0xEF02
+#define AFX_IDS_SCMAXIMIZE 0xEF03
+#define AFX_IDS_SCNEXTWINDOW 0xEF04
+#define AFX_IDS_SCPREVWINDOW 0xEF05
+#define AFX_IDS_SCCLOSE 0xEF06
+#define AFX_IDS_SCRESTORE 0xEF12
+#define AFX_IDS_SCTASKLIST 0xEF13
+
+#define AFX_IDS_MDICHILD 0xEF1F
+
+#define AFX_IDS_DESKACCESSORY 0xEFDA
+
+// General strings
+#define AFX_IDS_OPENFILE 0xF000
+#define AFX_IDS_SAVEFILE 0xF001
+#define AFX_IDS_ALLFILTER 0xF002
+#define AFX_IDS_UNTITLED 0xF003
+#define AFX_IDS_SAVEFILECOPY 0xF004
+#define AFX_IDS_PREVIEW_CLOSE 0xF005
+#define AFX_IDS_UNNAMED_FILE 0xF006
+#define AFX_IDS_HIDE 0xF011
+
+// MFC Standard Exception Error messages
+#define AFX_IDP_NO_ERROR_AVAILABLE 0xF020
+#define AFX_IDS_NOT_SUPPORTED_EXCEPTION 0xF021
+#define AFX_IDS_RESOURCE_EXCEPTION 0xF022
+#define AFX_IDS_MEMORY_EXCEPTION 0xF023
+#define AFX_IDS_USER_EXCEPTION 0xF024
+#define AFX_IDS_INVALID_ARG_EXCEPTION 0xF025
+
+// Printing and print preview strings
+#define AFX_IDS_PRINTONPORT 0xF040
+#define AFX_IDS_ONEPAGE 0xF041
+#define AFX_IDS_TWOPAGE 0xF042
+#define AFX_IDS_PRINTPAGENUM 0xF043
+#define AFX_IDS_PREVIEWPAGEDESC 0xF044
+#define AFX_IDS_PRINTDEFAULTEXT 0xF045
+#define AFX_IDS_PRINTDEFAULT 0xF046
+#define AFX_IDS_PRINTFILTER 0xF047
+#define AFX_IDS_PRINTCAPTION 0xF048
+#define AFX_IDS_PRINTTOFILE 0xF049
+
+
+// OLE strings
+#define AFX_IDS_OBJECT_MENUITEM 0xF080
+#define AFX_IDS_EDIT_VERB 0xF081
+#define AFX_IDS_ACTIVATE_VERB 0xF082
+#define AFX_IDS_CHANGE_LINK 0xF083
+#define AFX_IDS_AUTO 0xF084
+#define AFX_IDS_MANUAL 0xF085
+#define AFX_IDS_FROZEN 0xF086
+#define AFX_IDS_ALL_FILES 0xF087
+// dynamically changing menu items
+#define AFX_IDS_SAVE_MENU 0xF088
+#define AFX_IDS_UPDATE_MENU 0xF089
+#define AFX_IDS_SAVE_AS_MENU 0xF08A
+#define AFX_IDS_SAVE_COPY_AS_MENU 0xF08B
+#define AFX_IDS_EXIT_MENU 0xF08C
+#define AFX_IDS_UPDATING_ITEMS 0xF08D
+// COlePasteSpecialDialog defines
+#define AFX_IDS_METAFILE_FORMAT 0xF08E
+#define AFX_IDS_DIB_FORMAT 0xF08F
+#define AFX_IDS_BITMAP_FORMAT 0xF090
+#define AFX_IDS_LINKSOURCE_FORMAT 0xF091
+#define AFX_IDS_EMBED_FORMAT 0xF092
+// other OLE utility strings
+#define AFX_IDS_PASTELINKEDTYPE 0xF094
+#define AFX_IDS_UNKNOWNTYPE 0xF095
+#define AFX_IDS_RTF_FORMAT 0xF096
+#define AFX_IDS_TEXT_FORMAT 0xF097
+// OLE datatype format error strings
+#define AFX_IDS_INVALID_CURRENCY 0xF098
+#define AFX_IDS_INVALID_DATETIME 0xF099
+#define AFX_IDS_INVALID_DATETIMESPAN 0xF09A
+
+// General error / prompt strings
+#define AFX_IDP_INVALID_FILENAME 0xF100
+#define AFX_IDP_FAILED_TO_OPEN_DOC 0xF101
+#define AFX_IDP_FAILED_TO_SAVE_DOC 0xF102
+#define AFX_IDP_ASK_TO_SAVE 0xF103
+#define AFX_IDP_FAILED_TO_CREATE_DOC 0xF104
+#define AFX_IDP_FILE_TOO_LARGE 0xF105
+#define AFX_IDP_FAILED_TO_START_PRINT 0xF106
+#define AFX_IDP_FAILED_TO_LAUNCH_HELP 0xF107
+#define AFX_IDP_INTERNAL_FAILURE 0xF108 // general failure
+#define AFX_IDP_COMMAND_FAILURE 0xF109 // command failure
+#define AFX_IDP_FAILED_MEMORY_ALLOC 0xF10A
+#define AFX_IDP_UNREG_DONE 0xF10B
+#define AFX_IDP_UNREG_FAILURE 0xF10C
+#define AFX_IDP_DLL_LOAD_FAILED 0xF10D
+#define AFX_IDP_DLL_BAD_VERSION 0xF10E
+
+// DDV parse errors
+#define AFX_IDP_PARSE_INT 0xF110
+#define AFX_IDP_PARSE_REAL 0xF111
+#define AFX_IDP_PARSE_INT_RANGE 0xF112
+#define AFX_IDP_PARSE_REAL_RANGE 0xF113
+#define AFX_IDP_PARSE_STRING_SIZE 0xF114
+#define AFX_IDP_PARSE_RADIO_BUTTON 0xF115
+#define AFX_IDP_PARSE_BYTE 0xF116
+#define AFX_IDP_PARSE_UINT 0xF117
+#define AFX_IDP_PARSE_DATETIME 0xF118
+#define AFX_IDP_PARSE_CURRENCY 0xF119
+
+// CFile/CArchive error strings for user failure
+#define AFX_IDP_FAILED_INVALID_FORMAT 0xF120
+#define AFX_IDP_FAILED_INVALID_PATH 0xF121
+#define AFX_IDP_FAILED_DISK_FULL 0xF122
+#define AFX_IDP_FAILED_ACCESS_READ 0xF123
+#define AFX_IDP_FAILED_ACCESS_WRITE 0xF124
+#define AFX_IDP_FAILED_IO_ERROR_READ 0xF125
+#define AFX_IDP_FAILED_IO_ERROR_WRITE 0xF126
+
+// OLE errors / prompt strings
+#define AFX_IDP_STATIC_OBJECT 0xF180
+#define AFX_IDP_FAILED_TO_CONNECT 0xF181
+#define AFX_IDP_SERVER_BUSY 0xF182
+#define AFX_IDP_BAD_VERB 0xF183
+#if _MFC_VER >= 0x0600
+#define AFX_IDS_NOT_DOCOBJECT 0xF184
+#endif
+#define AFX_IDP_FAILED_TO_NOTIFY 0xF185
+#define AFX_IDP_FAILED_TO_LAUNCH 0xF186
+#define AFX_IDP_ASK_TO_UPDATE 0xF187
+#define AFX_IDP_FAILED_TO_UPDATE 0xF188
+#define AFX_IDP_FAILED_TO_REGISTER 0xF189
+#define AFX_IDP_FAILED_TO_AUTO_REGISTER 0xF18A
+#define AFX_IDP_FAILED_TO_CONVERT 0xF18B
+#define AFX_IDP_GET_NOT_SUPPORTED 0xF18C
+#define AFX_IDP_SET_NOT_SUPPORTED 0xF18D
+#define AFX_IDP_ASK_TO_DISCARD 0xF18E
+#define AFX_IDP_FAILED_TO_CREATE 0xF18F
+
+// MAPI errors / prompt strings
+#define AFX_IDP_FAILED_MAPI_LOAD 0xF190
+#define AFX_IDP_INVALID_MAPI_DLL 0xF191
+#define AFX_IDP_FAILED_MAPI_SEND 0xF192
+
+#define AFX_IDP_FILE_NONE 0xF1A0
+#define AFX_IDP_FILE_GENERIC 0xF1A1
+#define AFX_IDP_FILE_NOT_FOUND 0xF1A2
+#define AFX_IDP_FILE_BAD_PATH 0xF1A3
+#define AFX_IDP_FILE_TOO_MANY_OPEN 0xF1A4
+#define AFX_IDP_FILE_ACCESS_DENIED 0xF1A5
+#define AFX_IDP_FILE_INVALID_FILE 0xF1A6
+#define AFX_IDP_FILE_REMOVE_CURRENT 0xF1A7
+#define AFX_IDP_FILE_DIR_FULL 0xF1A8
+#define AFX_IDP_FILE_BAD_SEEK 0xF1A9
+#define AFX_IDP_FILE_HARD_IO 0xF1AA
+#define AFX_IDP_FILE_SHARING 0xF1AB
+#define AFX_IDP_FILE_LOCKING 0xF1AC
+#define AFX_IDP_FILE_DISKFULL 0xF1AD
+#define AFX_IDP_FILE_EOF 0xF1AE
+
+#define AFX_IDP_ARCH_NONE 0xF1B0
+#define AFX_IDP_ARCH_GENERIC 0xF1B1
+#define AFX_IDP_ARCH_READONLY 0xF1B2
+#define AFX_IDP_ARCH_ENDOFFILE 0xF1B3
+#define AFX_IDP_ARCH_WRITEONLY 0xF1B4
+#define AFX_IDP_ARCH_BADINDEX 0xF1B5
+#define AFX_IDP_ARCH_BADCLASS 0xF1B6
+#define AFX_IDP_ARCH_BADSCHEMA 0xF1B7
+
+#define AFX_IDS_OCC_SCALEUNITS_PIXELS 0xF1C0
+
+// 0xf200-0xf20f reserved
+
+// font names and point sizes
+#define AFX_IDS_STATUS_FONT 0xF230
+#define AFX_IDS_TOOLTIP_FONT 0xF231
+#define AFX_IDS_UNICODE_FONT 0xF232
+#define AFX_IDS_MINI_FONT 0xF233
+
+// ODBC Database errors / prompt strings
+#ifndef RC_INVOKED // code only
+#define AFX_IDP_SQL_FIRST 0xF280
+#endif //!RC_INVOKED
+#define AFX_IDP_SQL_CONNECT_FAIL 0xF281
+#define AFX_IDP_SQL_RECORDSET_FORWARD_ONLY 0xF282
+#define AFX_IDP_SQL_EMPTY_COLUMN_LIST 0xF283
+#define AFX_IDP_SQL_FIELD_SCHEMA_MISMATCH 0xF284
+#define AFX_IDP_SQL_ILLEGAL_MODE 0xF285
+#define AFX_IDP_SQL_MULTIPLE_ROWS_AFFECTED 0xF286
+#define AFX_IDP_SQL_NO_CURRENT_RECORD 0xF287
+#define AFX_IDP_SQL_NO_ROWS_AFFECTED 0xF288
+#define AFX_IDP_SQL_RECORDSET_READONLY 0xF289
+#define AFX_IDP_SQL_SQL_NO_TOTAL 0xF28A
+#define AFX_IDP_SQL_ODBC_LOAD_FAILED 0xF28B
+#define AFX_IDP_SQL_DYNASET_NOT_SUPPORTED 0xF28C
+#define AFX_IDP_SQL_SNAPSHOT_NOT_SUPPORTED 0xF28D
+#define AFX_IDP_SQL_API_CONFORMANCE 0xF28E
+#define AFX_IDP_SQL_SQL_CONFORMANCE 0xF28F
+#define AFX_IDP_SQL_NO_DATA_FOUND 0xF290
+#define AFX_IDP_SQL_ROW_UPDATE_NOT_SUPPORTED 0xF291
+#define AFX_IDP_SQL_ODBC_V2_REQUIRED 0xF292
+#define AFX_IDP_SQL_NO_POSITIONED_UPDATES 0xF293
+#define AFX_IDP_SQL_LOCK_MODE_NOT_SUPPORTED 0xF294
+#define AFX_IDP_SQL_DATA_TRUNCATED 0xF295
+#define AFX_IDP_SQL_ROW_FETCH 0xF296
+#define AFX_IDP_SQL_INCORRECT_ODBC 0xF297
+#define AFX_IDP_SQL_UPDATE_DELETE_FAILED 0xF298
+#define AFX_IDP_SQL_DYNAMIC_CURSOR_NOT_SUPPORTED 0xF299
+#define AFX_IDP_SQL_FIELD_NOT_FOUND 0xF29A
+#define AFX_IDP_SQL_BOOKMARKS_NOT_SUPPORTED 0xF29B
+#define AFX_IDP_SQL_BOOKMARKS_NOT_ENABLED 0xF29C
+
+#if _MFC_VER >= 0x0600
+// ODBC Database strings
+#define AFX_IDS_DELETED 0xF29D
+#endif
+
+// DAO Database errors / prompt strings
+#ifndef RC_INVOKED // code only
+#define AFX_IDP_DAO_FIRST 0xF2B0
+#endif //!RC_INVOKED
+#define AFX_IDP_DAO_ENGINE_INITIALIZATION 0xF2B0
+#define AFX_IDP_DAO_DFX_BIND 0xF2B1
+#define AFX_IDP_DAO_OBJECT_NOT_OPEN 0xF2B2
+
+// ICDAORecordset::GetRows Errors
+// These are not placed in DAO Errors collection
+// and must be handled directly by MFC.
+#define AFX_IDP_DAO_ROWTOOSHORT 0xF2B3
+#define AFX_IDP_DAO_BADBINDINFO 0xF2B4
+#define AFX_IDP_DAO_COLUMNUNAVAILABLE 0xF2B5
+
+/////////////////////////////////////////////////////////////////////////////
+// Strings for ISAPI support
+
+#define AFX_IDS_HTTP_TITLE 0xF2D1
+#define AFX_IDS_HTTP_NO_TEXT 0xF2D2
+#define AFX_IDS_HTTP_BAD_REQUEST 0xF2D3
+#define AFX_IDS_HTTP_AUTH_REQUIRED 0xF2D4
+#define AFX_IDS_HTTP_FORBIDDEN 0xF2D5
+#define AFX_IDS_HTTP_NOT_FOUND 0xF2D6
+#define AFX_IDS_HTTP_SERVER_ERROR 0xF2D7
+#define AFX_IDS_HTTP_NOT_IMPLEMENTED 0xF2D8
+
+/////////////////////////////////////////////////////////////////////////////
+// AFX implementation - control IDs (AFX_IDC)
+
+// Parts of dialogs
+#define AFX_IDC_LISTBOX 100
+#define AFX_IDC_CHANGE 101
+
+// for print dialog
+#define AFX_IDC_PRINT_DOCNAME 201
+#define AFX_IDC_PRINT_PRINTERNAME 202
+#define AFX_IDC_PRINT_PORTNAME 203
+#define AFX_IDC_PRINT_PAGENUM 204
+
+// Property Sheet control id's (determined with Spy++)
+#define ID_APPLY_NOW 0x3021
+#define ID_WIZBACK 0x3023
+#define ID_WIZNEXT 0x3024
+#define ID_WIZFINISH 0x3025
+#define AFX_IDC_TAB_CONTROL 0x3020
+
+/////////////////////////////////////////////////////////////////////////////
+// IDRs for standard components
+
+#ifndef RC_INVOKED // code only
+// These are really COMMDLG dialogs, so there usually isn't a resource
+// for them, but these IDs are used as help IDs.
+#define AFX_IDD_FILEOPEN 28676
+#define AFX_IDD_FILESAVE 28677
+#define AFX_IDD_FONT 28678
+#define AFX_IDD_COLOR 28679
+#define AFX_IDD_PRINT 28680
+#define AFX_IDD_PRINTSETUP 28681
+#define AFX_IDD_FIND 28682
+#define AFX_IDD_REPLACE 28683
+#endif //!RC_INVOKED
+
+// Standard dialogs app should leave alone (0x7801->)
+#define AFX_IDD_NEWTYPEDLG 30721
+#define AFX_IDD_PRINTDLG 30722
+#define AFX_IDD_PREVIEW_TOOLBAR 30723
+
+// Dialogs defined for OLE2UI library
+#define AFX_IDD_INSERTOBJECT 30724
+#define AFX_IDD_CHANGEICON 30725
+#define AFX_IDD_CONVERT 30726
+#define AFX_IDD_PASTESPECIAL 30727
+#define AFX_IDD_EDITLINKS 30728
+#define AFX_IDD_FILEBROWSE 30729
+#define AFX_IDD_BUSY 30730
+
+#define AFX_IDD_OBJECTPROPERTIES 30732
+#define AFX_IDD_CHANGESOURCE 30733
+
+// Standard cursors (0x7901->)
+ // AFX_IDC = Cursor resources
+#define AFX_IDC_CONTEXTHELP 30977 // context sensitive help
+#define AFX_IDC_MAGNIFY 30978 // print preview zoom
+#define AFX_IDC_SMALLARROWS 30979 // splitter
+#define AFX_IDC_HSPLITBAR 30980 // splitter
+#define AFX_IDC_VSPLITBAR 30981 // splitter
+#define AFX_IDC_NODROPCRSR 30982 // No Drop Cursor
+#define AFX_IDC_TRACKNWSE 30983 // tracker
+#define AFX_IDC_TRACKNESW 30984 // tracker
+#define AFX_IDC_TRACKNS 30985 // tracker
+#define AFX_IDC_TRACKWE 30986 // tracker
+#define AFX_IDC_TRACK4WAY 30987 // tracker
+#define AFX_IDC_MOVE4WAY 30988 // resize bar (server only)
+
+// Mini frame window bitmap ID
+#define AFX_IDB_MINIFRAME_MENU 30994
+
+// CheckListBox checks bitmap ID
+#define AFX_IDB_CHECKLISTBOX_NT 30995
+#define AFX_IDB_CHECKLISTBOX_95 30996
+
+// AFX standard accelerator resources
+#define AFX_IDR_PREVIEW_ACCEL 30997
+
+// AFX standard ICON IDs (for MFC V1 apps) (0x7A01->)
+#define AFX_IDI_STD_MDIFRAME 31233
+#define AFX_IDI_STD_FRAME 31234
+
+/////////////////////////////////////////////////////////////////////////////
+// AFX OLE control implementation - control IDs (AFX_IDC)
+
+// Font property page
+#define AFX_IDC_FONTPROP 1000
+#define AFX_IDC_FONTNAMES 1001
+#define AFX_IDC_FONTSTYLES 1002
+#define AFX_IDC_FONTSIZES 1003
+#define AFX_IDC_STRIKEOUT 1004
+#define AFX_IDC_UNDERLINE 1005
+#define AFX_IDC_SAMPLEBOX 1006
+
+// Color property page
+#define AFX_IDC_COLOR_BLACK 1100
+#define AFX_IDC_COLOR_WHITE 1101
+#define AFX_IDC_COLOR_RED 1102
+#define AFX_IDC_COLOR_GREEN 1103
+#define AFX_IDC_COLOR_BLUE 1104
+#define AFX_IDC_COLOR_YELLOW 1105
+#define AFX_IDC_COLOR_MAGENTA 1106
+#define AFX_IDC_COLOR_CYAN 1107
+#define AFX_IDC_COLOR_GRAY 1108
+#define AFX_IDC_COLOR_LIGHTGRAY 1109
+#define AFX_IDC_COLOR_DARKRED 1110
+#define AFX_IDC_COLOR_DARKGREEN 1111
+#define AFX_IDC_COLOR_DARKBLUE 1112
+#define AFX_IDC_COLOR_LIGHTBROWN 1113
+#define AFX_IDC_COLOR_DARKMAGENTA 1114
+#define AFX_IDC_COLOR_DARKCYAN 1115
+#define AFX_IDC_COLORPROP 1116
+#define AFX_IDC_SYSTEMCOLORS 1117
+
+// Picture porperty page
+#define AFX_IDC_PROPNAME 1201
+#define AFX_IDC_PICTURE 1202
+#define AFX_IDC_BROWSE 1203
+#define AFX_IDC_CLEAR 1204
+
+/////////////////////////////////////////////////////////////////////////////
+// IDRs for OLE control standard components
+
+// Standard propery page dialogs app should leave alone (0x7E01->)
+#define AFX_IDD_PROPPAGE_COLOR 32257
+#define AFX_IDD_PROPPAGE_FONT 32258
+#define AFX_IDD_PROPPAGE_PICTURE 32259
+
+#define AFX_IDB_TRUETYPE 32384
+
+/////////////////////////////////////////////////////////////////////////////
+// Standard OLE control strings
+
+// OLE Control page strings
+#define AFX_IDS_PROPPAGE_UNKNOWN 0xFE01
+#define AFX_IDS_COLOR_DESKTOP 0xFE04
+#define AFX_IDS_COLOR_APPWORKSPACE 0xFE05
+#define AFX_IDS_COLOR_WNDBACKGND 0xFE06
+#define AFX_IDS_COLOR_WNDTEXT 0xFE07
+#define AFX_IDS_COLOR_MENUBAR 0xFE08
+#define AFX_IDS_COLOR_MENUTEXT 0xFE09
+#define AFX_IDS_COLOR_ACTIVEBAR 0xFE0A
+#define AFX_IDS_COLOR_INACTIVEBAR 0xFE0B
+#define AFX_IDS_COLOR_ACTIVETEXT 0xFE0C
+#define AFX_IDS_COLOR_INACTIVETEXT 0xFE0D
+#define AFX_IDS_COLOR_ACTIVEBORDER 0xFE0E
+#define AFX_IDS_COLOR_INACTIVEBORDER 0xFE0F
+#define AFX_IDS_COLOR_WNDFRAME 0xFE10
+#define AFX_IDS_COLOR_SCROLLBARS 0xFE11
+#define AFX_IDS_COLOR_BTNFACE 0xFE12
+#define AFX_IDS_COLOR_BTNSHADOW 0xFE13
+#define AFX_IDS_COLOR_BTNTEXT 0xFE14
+#define AFX_IDS_COLOR_BTNHIGHLIGHT 0xFE15
+#define AFX_IDS_COLOR_DISABLEDTEXT 0xFE16
+#define AFX_IDS_COLOR_HIGHLIGHT 0xFE17
+#define AFX_IDS_COLOR_HIGHLIGHTTEXT 0xFE18
+#define AFX_IDS_REGULAR 0xFE19
+#define AFX_IDS_BOLD 0xFE1A
+#define AFX_IDS_ITALIC 0xFE1B
+#define AFX_IDS_BOLDITALIC 0xFE1C
+#define AFX_IDS_SAMPLETEXT 0xFE1D
+#define AFX_IDS_DISPLAYSTRING_FONT 0xFE1E
+#define AFX_IDS_DISPLAYSTRING_COLOR 0xFE1F
+#define AFX_IDS_DISPLAYSTRING_PICTURE 0xFE20
+#define AFX_IDS_PICTUREFILTER 0xFE21
+#define AFX_IDS_PICTYPE_UNKNOWN 0xFE22
+#define AFX_IDS_PICTYPE_NONE 0xFE23
+#define AFX_IDS_PICTYPE_BITMAP 0xFE24
+#define AFX_IDS_PICTYPE_METAFILE 0xFE25
+#define AFX_IDS_PICTYPE_ICON 0xFE26
+#define AFX_IDS_COLOR_PPG 0xFE28
+#define AFX_IDS_COLOR_PPG_CAPTION 0xFE29
+#define AFX_IDS_FONT_PPG 0xFE2A
+#define AFX_IDS_FONT_PPG_CAPTION 0xFE2B
+#define AFX_IDS_PICTURE_PPG 0xFE2C
+#define AFX_IDS_PICTURE_PPG_CAPTION 0xFE2D
+#define AFX_IDS_PICTUREBROWSETITLE 0xFE30
+#define AFX_IDS_BORDERSTYLE_0 0xFE31
+#define AFX_IDS_BORDERSTYLE_1 0xFE32
+
+// OLE Control verb names
+#define AFX_IDS_VERB_EDIT 0xFE40
+#define AFX_IDS_VERB_PROPERTIES 0xFE41
+
+// OLE Control internal error messages
+#define AFX_IDP_PICTURECANTOPEN 0xFE83
+#define AFX_IDP_PICTURECANTLOAD 0xFE84
+#define AFX_IDP_PICTURETOOLARGE 0xFE85
+#define AFX_IDP_PICTUREREADFAILED 0xFE86
+
+// Standard OLE Control error strings
+#define AFX_IDP_E_ILLEGALFUNCTIONCALL 0xFEA0
+#define AFX_IDP_E_OVERFLOW 0xFEA1
+#define AFX_IDP_E_OUTOFMEMORY 0xFEA2
+#define AFX_IDP_E_DIVISIONBYZERO 0xFEA3
+#define AFX_IDP_E_OUTOFSTRINGSPACE 0xFEA4
+#define AFX_IDP_E_OUTOFSTACKSPACE 0xFEA5
+#define AFX_IDP_E_BADFILENAMEORNUMBER 0xFEA6
+#define AFX_IDP_E_FILENOTFOUND 0xFEA7
+#define AFX_IDP_E_BADFILEMODE 0xFEA8
+#define AFX_IDP_E_FILEALREADYOPEN 0xFEA9
+#define AFX_IDP_E_DEVICEIOERROR 0xFEAA
+#define AFX_IDP_E_FILEALREADYEXISTS 0xFEAB
+#define AFX_IDP_E_BADRECORDLENGTH 0xFEAC
+#define AFX_IDP_E_DISKFULL 0xFEAD
+#define AFX_IDP_E_BADRECORDNUMBER 0xFEAE
+#define AFX_IDP_E_BADFILENAME 0xFEAF
+#define AFX_IDP_E_TOOMANYFILES 0xFEB0
+#define AFX_IDP_E_DEVICEUNAVAILABLE 0xFEB1
+#define AFX_IDP_E_PERMISSIONDENIED 0xFEB2
+#define AFX_IDP_E_DISKNOTREADY 0xFEB3
+#define AFX_IDP_E_PATHFILEACCESSERROR 0xFEB4
+#define AFX_IDP_E_PATHNOTFOUND 0xFEB5
+#define AFX_IDP_E_INVALIDPATTERNSTRING 0xFEB6
+#define AFX_IDP_E_INVALIDUSEOFNULL 0xFEB7
+#define AFX_IDP_E_INVALIDFILEFORMAT 0xFEB8
+#define AFX_IDP_E_INVALIDPROPERTYVALUE 0xFEB9
+#define AFX_IDP_E_INVALIDPROPERTYARRAYINDEX 0xFEBA
+#define AFX_IDP_E_SETNOTSUPPORTEDATRUNTIME 0xFEBB
+#define AFX_IDP_E_SETNOTSUPPORTED 0xFEBC
+#define AFX_IDP_E_NEEDPROPERTYARRAYINDEX 0xFEBD
+#define AFX_IDP_E_SETNOTPERMITTED 0xFEBE
+#define AFX_IDP_E_GETNOTSUPPORTEDATRUNTIME 0xFEBF
+#define AFX_IDP_E_GETNOTSUPPORTED 0xFEC0
+#define AFX_IDP_E_PROPERTYNOTFOUND 0xFEC1
+#define AFX_IDP_E_INVALIDCLIPBOARDFORMAT 0xFEC2
+#define AFX_IDP_E_INVALIDPICTURE 0xFEC3
+#define AFX_IDP_E_PRINTERERROR 0xFEC4
+#define AFX_IDP_E_CANTSAVEFILETOTEMP 0xFEC5
+#define AFX_IDP_E_SEARCHTEXTNOTFOUND 0xFEC6
+#define AFX_IDP_E_REPLACEMENTSTOOLONG 0xFEC7
+
+/////////////////////////////////////////////////////////////////////////////
+
+#ifdef _AFX_MINREBUILD
+#pragma component(minrebuild, on)
+#endif
+
+#endif //__AFXRES_H__
+
+/////////////////////////////////////////////////////////////////////////////
--- /dev/null
+xcopy "c:\my documents\genx\project\*.cpp" c:\s2001\source /D
+xcopy "c:\my documents\genx\project\*.h" c:\s2001\source /D
+xcopy "c:\my documents\genx\project\*.rc" c:\s2001\source /D
+xcopy "c:\my documents\genx\project\MAKEFILE" c:\s2001\source /D
+xcopy "c:\my documents\genx\project\*.ico" c:\s2001\source /D
+
+xcopy "c:\my documents\genx\project\sfglib\*.cpp" c:\s2001\source\sfglib /D
+xcopy "c:\my documents\genx\project\sfglib\*.h" c:\s2001\source\sfglib /D
+xcopy "c:\my documents\genx\project\sfglib\*.rc" c:\s2001\source\sfglib /D
+xcopy "c:\my documents\genx\project\sfglib\MAKEFILE" c:\s2001\source\sfglib /D
+xcopy "c:\my documents\genx\project\sfglib\*.ico" c:\s2001\source\sfglib /D
--- /dev/null
+make -D_DEBUG
\ No newline at end of file
--- /dev/null
+/*********************************************************
+ DllData file -- generated by MIDL compiler
+
+ DO NOT ALTER THIS FILE
+
+ This file is regenerated by MIDL on every IDL file compile.
+
+ To completely reconstruct this file, delete it and rerun MIDL
+ on all the IDL files in this DLL, specifying this file for the
+ /dlldata command line option
+
+*********************************************************/
+
+#define PROXY_DELEGATION
+
+#include <rpcproxy.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EXTERN_PROXY_FILE( test )
+
+
+PROXYFILE_LIST_START
+/* Start of list */
+ REFERENCE_PROXY_FILE( test ),
+/* End of list */
+PROXYFILE_LIST_END
+
+
+DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )
+
+#ifdef __cplusplus
+} /*extern "C" */
+#endif
+
+/* end of generated dlldata file */
--- /dev/null
+//
+//\83G\83s\83\\81[\83h\92è\8b`̧²Ù
+//
+NUMBER_OF_STAGES 1
+//Ì«ÝÄ̧²Ù
+FONT font.dat
+//\83^\83C\83g\83\8b\83X\83v\83\89\83C\83ģ²Ù
+SPRITE_TITLE title.dat
+//\83^\83C\83g\83\8bBGM̧²Ù
+BGM_TITLE xms\Growtofa.xm
+BGM_HISCORE xms\Bud.xm
+//\83Q\81[\83\80\83X\83^\81[\83gBGM
+BGM_GAMESTART xms\Fuji01.xm
+//\83Q\81[\83\80\83I\81[\83o\81[BGM
+BGM_GAMEOVER xms\Bud.xm
+//STAGE 1
+SCRIPT script1.dat
+SPRITE chrfile.dat
+ASSEMBLE assemble.dat
+MAP_BMP test2.dat
+MAP testmap2.dat
+MAP2_BMP back2.dat
+MAP2 testmap1.dat
+BGM_BOSS xms\Growtofa.xm
+BGM_MIDDLE_BOSS xms\Littlema.xm
+BGM_NORMAL xms\Elekfunk.xm
+SOUND_EFFECT sf1.dat
+
--- /dev/null
+MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\MainApp.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\MainApp.cpp:
+\8cx\8d\90 W8027 .\Scene.h 119: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 134: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 146: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 159: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8058 .\System.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\Scene.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Scene.cpp:
+\8cx\8d\90 W8027 .\Scene.h 119: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 134: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 146: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 159: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\SceneAuthor.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\SceneAuthor.cpp:
+\8cx\8d\90 W8027 .\Scene.h 119: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 134: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 146: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 159: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\SceneAuthor.cpp 67: \83p\83\89\83\81\81[\83^ 'pParam' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Author::Author(AuthorParameter *) )
+\8cx\8d\90 W8060 .\SceneAuthor.cpp 102: \82¨\82»\82ç\82\95s\90³\82È\91ã\93ü(\8aÖ\90\94 Author::move() )
+\8cx\8d\90 W8057 .\SceneAuthor.cpp 185: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Author::endOfScene(Scene * const) )
+\8cx\8d\90 W8057 .\SceneAuthor.cpp 192: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Author::exitKeyPressed(Scene * const) )
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\Obj.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Obj.cpp:
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\Obj2D.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Obj2D.cpp:
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\ObjQuadrangle.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\ObjQuadrangle.cpp:
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\ObjRectangle.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\ObjRectangle.cpp:
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\Fade.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Fade.cpp:
+\8cx\8d\90 W8027 .\Scene.h 119: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 134: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 146: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 159: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\AbstractScene.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\AbstractScene.cpp:
+\8cx\8d\90 W8027 .\Scene.h 119: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 134: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 146: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 159: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\title.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Title.cpp:
+\8cx\8d\90 W8027 .\Scene.h 119: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 134: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 146: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 159: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\Title.cpp 108: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Title::endOfScene(Scene * const) )
+\8cx\8d\90 W8057 .\Title.cpp 116: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Title::exitKeyPressed(Scene * const) )
+\8cx\8d\90 W8004 .\Title.cpp 231: 'pscene' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 Title::main() )
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\Start.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Start.cpp:
+\8cx\8d\90 W8027 .\Scene.h 119: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 134: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 146: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 159: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\Start.cpp 173: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Start::endOfScene(Scene * const) )
+\8cx\8d\90 W8057 .\Start.cpp 180: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Start::exitKeyPressed(Scene * const) )
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\Game.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Game.cpp:
+\8cx\8d\90 W8027 .\Scene.h 119: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 134: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 146: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 159: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\character.h 103: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8070 .\character.h 115: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8027 .\Hit.h 129: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 148: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 168: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 202: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8022 .\DispositionControl.h 200: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8027 .\DispositionControl.h 333: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\AbstractCharacter.h 92: return \95¶\82ð\8e\9d\82½\82È\82¢\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\Game.cpp 348: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Game::exitKeyPressed(Scene * const) )
+\8cx\8d\90 W8057 .\Game.cpp 379: \83p\83\89\83\81\81[\83^ 'extKeyCode' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Game::keyDown(const unsigned long,const unsigned long) )
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\Over.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Over.cpp:
+\8cx\8d\90 W8027 .\Scene.h 119: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 134: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 146: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 159: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\Over.cpp 146: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Over::endOfScene(Scene * const) )
+\8cx\8d\90 W8057 .\Over.cpp 157: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Over::exitKeyPressed(Scene * const) )
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\Obj3D.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Obj3D.cpp:
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\Obj3DL.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Obj3DL.cpp:
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\Character.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\character.cpp:
+\8cx\8d\90 W8027 .\character.h 103: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8070 .\character.h 115: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\MyShip.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\MyShip.cpp:
+\8cx\8d\90 W8027 .\Scene.h 119: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 134: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 146: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 159: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\character.h 103: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8070 .\character.h 115: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8027 .\Hit.h 129: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 148: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 168: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 202: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8022 .\DispositionControl.h 200: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8027 .\DispositionControl.h 333: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\AbstractCharacter.h 92: return \95¶\82ð\8e\9d\82½\82È\82¢\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\MyShip.cpp 279: \83p\83\89\83\81\81[\83^ 'pDest' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Ship::hit(Character * const) )
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\Background.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\BackGround.cpp:
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8070 .\BackGround.cpp 132: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Background::unload() )
+\8cx\8d\90 W8004 .\BackGround.cpp 225: 'ey' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 Background::draw() )
+\8cx\8d\90 W8004 .\BackGround.cpp 224: 'ex' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 Background::draw() )
+\8cx\8d\90 W8004 .\BackGround.cpp 222: 'sx' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 Background::draw() )
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\Sprite2D.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Sprite2D.cpp:
+\8cx\8d\90 W8058 .\System.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8004 .\Sprite2D.cpp 342: 'hr' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 Sprite2D::draw(ObjRectangle *) )
+\8cx\8d\90 W8004 .\Sprite2D.cpp 434: 'hr' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 Sprite2D::draw(ObjQuadrangle *) )
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\Sprite3D.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Sprite3D.cpp:
+\8cx\8d\90 W8058 .\System.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8004 .\Sprite3D.cpp 325: 'hr' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 Sprite3D::draw(Obj3DL *) )
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\SpriteMesh.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\SpriteMesh.cpp:
+\8cx\8d\90 W8058 .\System.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8004 .\SpriteMesh.cpp 177: 'hr' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 SpriteMesh::load(const Info *,const _D3DFORMAT,const unsigned long) )
+\8cx\8d\90 W8004 .\SpriteMesh.cpp 253: 'hr' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 SpriteMesh::draw(Obj3DL *) )
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\AbstractSprite.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\AbstractSprite.cpp:
+\8cx\8d\90 W8058 .\System.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\BGEditor.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\BGEditor.cpp:
+\8cx\8d\90 W8027 .\Scene.h 119: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 134: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 146: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 159: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\character.h 103: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8070 .\character.h 115: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8027 .\hit.h 129: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\hit.h 148: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\hit.h 168: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\hit.h 202: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8022 .\DispositionControl.h 200: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8027 .\DispositionControl.h 333: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\BGEditor.cpp 173: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 BGEditor::exitKeyPressed(Scene * const) )
+\8cx\8d\90 W8057 .\BGEditor.cpp 195: \83p\83\89\83\81\81[\83^ 'screenX' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 BGEditor::mouseWheel(const int,const int,const unsigned long) )
+\8cx\8d\90 W8057 .\BGEditor.cpp 195: \83p\83\89\83\81\81[\83^ 'screenY' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 BGEditor::mouseWheel(const int,const int,const unsigned long) )
+\8cx\8d\90 W8057 .\BGEditor.cpp 209: \83p\83\89\83\81\81[\83^ 'extKeyCode' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 BGEditor::keyDown(const unsigned long,const unsigned long) )
+\8cx\8d\90 W8057 .\BGEditor.cpp 229: \83p\83\89\83\81\81[\83^ 'mkey' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 BGEditor::rightButtonDown(const int,const int,const unsigned long) )
+\8cx\8d\90 W8057 .\BGEditor.cpp 372: \83p\83\89\83\81\81[\83^ 'screenX' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 BGEditor::CellSelector::leftButtonDown(const int,const int,const unsigned long) )
+\8cx\8d\90 W8057 .\BGEditor.cpp 372: \83p\83\89\83\81\81[\83^ 'screenY' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 BGEditor::CellSelector::leftButtonDown(const int,const int,const unsigned long) )
+\8cx\8d\90 W8057 .\BGEditor.cpp 372: \83p\83\89\83\81\81[\83^ 'mkey' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 BGEditor::CellSelector::leftButtonDown(const int,const int,const unsigned long) )
+\8cx\8d\90 W8057 .\BGEditor.cpp 393: \83p\83\89\83\81\81[\83^ 'screenX' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 BGEditor::CellSelector::mouseWheel(const int,const int,const unsigned long) )
+\8cx\8d\90 W8057 .\BGEditor.cpp 393: \83p\83\89\83\81\81[\83^ 'screenY' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 BGEditor::CellSelector::mouseWheel(const int,const int,const unsigned long) )
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\Hit.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Hit.cpp:
+\8cx\8d\90 W8027 .\character.h 103: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8070 .\character.h 115: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8027 .\Hit.h 129: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 148: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 168: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 202: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\dispositioncontrol.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\DispositionControl.cpp:
+\8cx\8d\90 W8027 .\Scene.h 119: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 134: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 146: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 159: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\character.h 103: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8070 .\character.h 115: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8027 .\Hit.h 129: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 148: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 168: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 202: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\AbstractCharacter.h 92: return \95¶\82ð\8e\9d\82½\82È\82¢\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8022 .\DispositionControl.h 200: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8027 .\DispositionControl.h 333: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8066 .\DispositionControl.cpp 185: \8eÀ\8ds\82³\82ê\82È\82¢\83R\81[\83h(\8aÖ\90\94 Controller::findCommand(const std::string &) )
+\8cx\8d\90 W8004 .\DispositionControl.cpp 276: 'pe1' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 Controller::deleteCommand(const float,const float,const float,const TYPE) )
+\8cx\8d\90 W8004 .\DispositionControl.cpp 275: 'pe' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 Controller::deleteCommand(const float,const float,const float,const TYPE) )
+\8cx\8d\90 W8057 .\DispositionControl.cpp 455: \83p\83\89\83\81\81[\83^ 'position' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SetEnemy::exec(const float) )
+\8cx\8d\90 W8057 .\DispositionControl.cpp 559: \83p\83\89\83\81\81[\83^ 'position' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SetArmy::exec(const float) )
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\AbstractCharacter.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\AbstractCharacter.cpp:
+\8cx\8d\90 W8027 .\Scene.h 119: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 134: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 146: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 159: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\character.h 103: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8070 .\character.h 115: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8027 .\Hit.h 129: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 148: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 168: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 202: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8022 .\DispositionControl.h 200: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8027 .\DispositionControl.h 333: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\AbstractCharacter.h 92: return \95¶\82ð\8e\9d\82½\82È\82¢\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\MyBullets.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\MyBullets.cpp:
+\8cx\8d\90 W8027 .\Scene.h 119: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 134: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 146: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 159: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\character.h 103: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8070 .\character.h 115: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8027 .\Hit.h 129: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 148: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 168: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 202: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8022 .\DispositionControl.h 200: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8027 .\DispositionControl.h 333: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\AbstractCharacter.h 92: return \95¶\82ð\8e\9d\82½\82È\82¢\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8004 .\MyBullets.cpp 157: 'count' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 Bullets::move() )
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\Enemys.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Enemys.cpp:
+\8cx\8d\90 W8027 .\Scene.h 119: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 134: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 146: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 159: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\character.h 103: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8070 .\character.h 115: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8027 .\Hit.h 129: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 148: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 168: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 202: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8022 .\DispositionControl.h 200: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8027 .\DispositionControl.h 333: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\AbstractCharacter.h 92: return \95¶\82ð\8e\9d\82½\82È\82¢\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\ZK01.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\ZK01.cpp:
+\8cx\8d\90 W8027 .\Scene.h 119: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 134: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 146: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 159: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\character.h 103: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8070 .\character.h 115: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8027 .\Hit.h 129: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 148: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 168: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 202: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\AbstractCharacter.h 92: return \95¶\82ð\8e\9d\82½\82È\82¢\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8022 .\DispositionControl.h 200: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8027 .\DispositionControl.h 333: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\ZK01.cpp 281: \83p\83\89\83\81\81[\83^ 'pDest' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 ZK01::hit(Character * const) )
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\Explosion.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Explosion.cpp:
+\8cx\8d\90 W8027 .\Scene.h 119: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 134: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 146: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 159: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\character.h 103: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8070 .\character.h 115: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8027 .\Hit.h 129: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 148: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 168: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 202: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8022 .\DispositionControl.h 200: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8027 .\DispositionControl.h 333: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\AbstractCharacter.h 92: return \95¶\82ð\8e\9d\82½\82È\82¢\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\Explosion.cpp 183: \83p\83\89\83\81\81[\83^ 'pDest' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Explosion::hit(Character * const) )
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\Effects.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Effects.cpp:
+\8cx\8d\90 W8027 .\Scene.h 119: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 134: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 146: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 159: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\character.h 103: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8070 .\character.h 115: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8027 .\Hit.h 129: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 148: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 168: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 202: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\AbstractCharacter.h 92: return \95¶\82ð\8e\9d\82½\82È\82¢\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8004 .\Effects.cpp 139: 'count' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 Effects::move() )
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\DispositionEditor.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\DispositionEditor.cpp:
+\8cx\8d\90 W8027 .\Scene.h 119: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 134: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 146: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 159: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\character.h 103: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8070 .\character.h 115: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8027 .\hit.h 129: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\hit.h 148: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\hit.h 168: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\hit.h 202: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8022 .\DispositionControl.h 200: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8027 .\DispositionControl.h 333: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\DispositionEditor.cpp 174: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 DispositionEditor::endOfScene(Scene * const) )
+\8cx\8d\90 W8057 .\DispositionEditor.cpp 183: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 DispositionEditor::exitKeyPressed(Scene * const) )
+\8cx\8d\90 W8004 .\DispositionEditor.cpp 259: 'max' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 DispositionEditor::keyDown(const unsigned long,const unsigned long) )
+\8cx\8d\90 W8057 .\DispositionEditor.cpp 266: \83p\83\89\83\81\81[\83^ 'mkey' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 DispositionEditor::rightButtonDown(const int,const int,const unsigned long) )
+\8cx\8d\90 W8057 .\DispositionEditor.cpp 285: \83p\83\89\83\81\81[\83^ 'screenX' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 DispositionEditor::leftButtonDown(const int,const int,const unsigned long) )
+\8cx\8d\90 W8057 .\DispositionEditor.cpp 285: \83p\83\89\83\81\81[\83^ 'screenY' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 DispositionEditor::leftButtonDown(const int,const int,const unsigned long) )
+\8cx\8d\90 W8057 .\DispositionEditor.cpp 285: \83p\83\89\83\81\81[\83^ 'mkey' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 DispositionEditor::leftButtonDown(const int,const int,const unsigned long) )
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\EnemyBullets.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\EnemyBullets.cpp:
+\8cx\8d\90 W8027 .\Scene.h 119: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 134: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 146: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 159: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\character.h 103: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8070 .\character.h 115: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8027 .\Hit.h 129: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 148: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 168: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 202: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8022 .\DispositionControl.h 200: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8027 .\DispositionControl.h 333: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\AbstractCharacter.h 92: return \95¶\82ð\8e\9d\82½\82È\82¢\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8004 .\EnemyBullets.cpp 149: 'count' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 Bullets::move() )
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\EB01.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\EB01.cpp:
+\8cx\8d\90 W8027 .\Scene.h 119: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 134: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 146: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 159: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\character.h 103: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8070 .\character.h 115: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8027 .\Hit.h 129: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 148: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 168: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 202: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8022 .\DispositionControl.h 200: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8027 .\DispositionControl.h 333: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\AbstractCharacter.h 92: return \95¶\82ð\8e\9d\82½\82È\82¢\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\EB01.cpp 211: \83p\83\89\83\81\81[\83^ 'pDest' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 EB01::hit(Character * const) )
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND .\ea01.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\EA01.cpp:
+\8cx\8d\90 W8027 .\Scene.h 119: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 134: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 146: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Scene.h 159: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\character.h 103: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8070 .\character.h 115: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8027 .\Hit.h 129: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 148: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 168: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\Hit.h 202: for\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8022 .\DispositionControl.h 200: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8027 .\DispositionControl.h 333: while\82ð\8aÜ\82Þ\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢
+\8cx\8d\90 W8027 .\AbstractCharacter.h 92: return \95¶\82ð\8e\9d\82½\82È\82¢\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8058 .\system.h 36: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\83G\83\89\81[ E2285 .\EA01.cpp 178: 'PSprite::operator =(PSprite)' \82É\88ê\92v\82·\82é\82à\82Ì\82ª\8c©\82Â\82©\82ç\82È\82¢(\8aÖ\90\94 EA01::load() )
+\8cx\8d\90 W8057 .\EA01.cpp 361: \83p\83\89\83\81\81[\83^ 'z' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 EA01::create(float,float,float,scene::Game * const,int) )
+*** 1 errors in Compile ***
+
+** error 1 ** deleting .\obj\ea01.obj
--- /dev/null
+format a:/q
+xcopy *.cpp a:\
+xcopy *.h a:\
+xcopy *.rc a:\
+copy makefile a:\
+copy *.mak a:\
+copy *.ico a:\
--- /dev/null
+Debug Logging Start!
--- /dev/null
+1
+test.map
+test.dis
+sample.sgt
\ No newline at end of file
--- /dev/null
+# Doxyfile 1.2.13
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+# TAG = value [value, ...]
+# For lists items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# General configuration options
+#---------------------------------------------------------------------------
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME = s2001
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER =
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY = c:/inetpub/wwwroot/s2001
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Brazilian, Chinese, Croatian, Czech, Danish, Dutch, Finnish, French,
+# German, Greek, Hungarian, Italian, Japanese, Korean, Norwegian, Polish,
+# Portuguese, Romanian, Russian, Slovak, Slovene, Spanish and Swedish.
+
+OUTPUT_LANGUAGE = Japanese
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE = YES
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC = YES
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES = YES
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these class will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF = YES
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC = YES
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
+# members of a class in the documentation of that class as if those members were
+# ordinary class members. Constructors, destructors and assignment operators of
+# the base classes will not be shown.
+
+INLINE_INHERITED_MEMB = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. It is allowed to use relative paths in the argument list.
+
+STRIP_FROM_PATH = "c:\my documents\genx\project"
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower case letters. If set to YES upper case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# users are adviced to set this option to NO.
+
+CASE_SENSE_NAMES = YES
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful is your file systems
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES = NO
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS = YES
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES = YES
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like the Qt-style comments (thus requiring an
+# explict @brief command for a brief description.
+
+JAVADOC_AUTOBRIEF = YES
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# reimplements.
+
+INHERIT_DOCS = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE = 4
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST = YES
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES =
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consist of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+# only. Doxygen will then generate output that is more tailored for C.
+# For instance some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C = NO
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text.
+
+WARN_FORMAT =
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+#INPUT = "j:\project\sfglib" j:/project/s2001scene j:/project/s2001editor j:/project/s2001game j:/project/s2001
+#INPUT = ./sfglib ./s2001scene ./s2001editor ./s2001game ./s2001
+INPUT = .
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp
+# *.h++ *.idl
+
+#FILE_PATTERNS = SYSTEM* INPUT* CONSOLE* SOUND*
+FILE_PATTERNS = *.cpp *.h
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE = NO
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE =
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories.
+
+EXCLUDE_PATTERNS =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS =
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output.
+
+INPUT_FILTER = "nkf32 -Se "
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse.
+
+FILTER_SOURCE_FILES = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+
+SOURCE_BROWSER = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES = NO
+
+# If the REFERENCED_BY_RELATION tag is set to YES (the default)
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES (the default)
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX = NO
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT =
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header.
+
+HTML_HEADER =
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER =
+
+# The HTML_STYLESHEET tag can be used to specify a user defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet
+
+HTML_STYLESHEET =
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the Html help documentation and to the tree view.
+
+TOC_EXPAND = NO
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX = NO
+
+# This tag can be used to set the number of enum values (range [1..20])
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE = 4
+
+# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
+# generated containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript and frames is required (for instance Mozilla, Netscape 4.0+,
+# or Internet explorer 4.0+). Note that for large projects the tree generation
+# can take a very long time. In such cases it is better to disable this feature.
+# Windows users are probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW = YES
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH = 250
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT =
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS = NO
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimised for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT =
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assigments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT =
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION =
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_XML = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_PREDEFINED tags.
+
+EXPAND_ONLY_PREDEF = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH = ./ ./sfglib ./s2001scene ./s2001editor ./s2001game ./s2001
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed.
+
+PREDEFINED =
+
+# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all function-like macros that are alone
+# on a line and do not end with a semicolon. Such function macros are typically
+# used for boiler-plate code, and will confuse the parser if not removed.
+
+SKIP_FUNCTION_MACROS = YES
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES tag can be used to specify one or more tagfiles.
+
+TAGFILES = c:/inetpub/wwwroot/s2001/sfglib/sfglib.tag=c:/inetpub/wwwroot/s2001/sfglib/html
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE =
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS = NO
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in Html, RTF and LaTeX) for classes with base or
+# super classes. Setting the tag to NO turns the diagrams off. Note that this
+# option is superceded by the HAVE_DOT option below. This is only a fallback. It is
+# recommended to install and use dot, since it yield more powerful graphs.
+
+CLASS_DIAGRAMS = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT = YES
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH = YES
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS = YES
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH = YES
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY = YES
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+
+DOT_PATH = "C:\Program Files\ATT\Graphviz\bin"
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS =
+
+# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than
+# this value, doxygen will try to truncate the graph, so that it fits within
+# the specified constraint. Beware that most browsers cannot cope with very
+# large images.
+
+MAX_DOT_GRAPH_WIDTH = 1024
+
+# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than
+# this value, doxygen will try to truncate the graph, so that it fits within
+# the specified constraint. Beware that most browsers cannot cope with very
+# large images.
+
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermedate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP = YES
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME =
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL =
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL =
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH =
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH =
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS =
--- /dev/null
+; CLW file contains information for the MFC ClassWizard
+
+[General Info]
+Version=1
+LastClass=
+LastTemplate=CDialog
+NewFileInclude1=#include "stdafx.h"
+NewFileInclude2=#include "genx.h"
+LastPage=0
+
+ClassCount=0
+
+ResourceCount=2
+Resource1=IDR_MENU1
+Resource2=IDD_ABOUT
+
+[MNU:IDR_MENU1]
+Type=1
+Class=?
+Command1=ID_RESET
+Command2=ID_EDITGAME
+Command3=ID_EXIT
+Command4=ID_BGM
+Command5=ID_EFFECT
+Command6=ID_DIK
+Command7=ID_ABOUT
+CommandCount=7
+
+[DLG:IDD_ABOUT]
+Type=1
+Class=?
+ControlCount=3
+Control1=IDOK,button,1342242817
+Control2=IDC_STATIC,static,1342308353
+Control3=IDC_STATIC,static,1342308353
+
--- /dev/null
+# Microsoft Developer Studio Generated Dependency File, included by genx.mak
+
+.\Console.cpp : \
+ ".\Console.h"\
+
+
+.\ConsoleImpl.cpp : \
+ "..\..\..\mssdk\include\basetsd.h"\
+ "..\..\..\mssdk\include\d3d8.h"\
+ "..\..\..\mssdk\include\d3d8caps.h"\
+ "..\..\..\mssdk\include\d3d8types.h"\
+ "..\..\..\mssdk\include\d3dx8.h"\
+ "..\..\..\mssdk\include\d3dx8core.h"\
+ "..\..\..\mssdk\include\d3dx8effect.h"\
+ "..\..\..\mssdk\include\d3dx8math.h"\
+ "..\..\..\mssdk\include\d3dx8math.inl"\
+ "..\..\..\mssdk\include\d3dx8mesh.h"\
+ "..\..\..\mssdk\include\d3dx8shape.h"\
+ "..\..\..\mssdk\include\d3dx8tex.h"\
+ "..\..\..\mssdk\include\dxerr8.h"\
+ "..\..\..\mssdk\include\dxfile.h"\
+ ".\Console.h"\
+ ".\ConsoleImpl.h"\
+ ".\Input.h"\
+ ".\Main.h"\
+ ".\Sound.h"\
+ ".\System.h"\
+
+
+.\Obj.cpp : \
+ ".\Console.h"\
+ ".\Obj.h"\
+ ".\System.h"\
+
+
+.\System.cpp : \
+ "..\..\..\mssdk\include\basetsd.h"\
+ "..\..\..\mssdk\include\d3d8.h"\
+ "..\..\..\mssdk\include\d3d8caps.h"\
+ "..\..\..\mssdk\include\d3d8types.h"\
+ "..\..\..\mssdk\include\d3dx8.h"\
+ "..\..\..\mssdk\include\d3dx8core.h"\
+ "..\..\..\mssdk\include\d3dx8effect.h"\
+ "..\..\..\mssdk\include\d3dx8math.h"\
+ "..\..\..\mssdk\include\d3dx8math.inl"\
+ "..\..\..\mssdk\include\d3dx8mesh.h"\
+ "..\..\..\mssdk\include\d3dx8shape.h"\
+ "..\..\..\mssdk\include\d3dx8tex.h"\
+ "..\..\..\mssdk\include\dls1.h"\
+ "..\..\..\mssdk\include\dmdls.h"\
+ "..\..\..\mssdk\include\dmerror.h"\
+ "..\..\..\mssdk\include\dmplugin.h"\
+ "..\..\..\mssdk\include\dmusbuff.h"\
+ "..\..\..\mssdk\include\dmusicc.h"\
+ "..\..\..\mssdk\include\dmusici.h"\
+ "..\..\..\mssdk\include\dxfile.h"\
+ ".\Console.h"\
+ ".\ConsoleImpl.h"\
+ ".\Input.h"\
+ ".\InputImpl.h"\
+ ".\Main.h"\
+ ".\MainApp.h"\
+ ".\Scene.h"\
+ ".\singleton.h"\
+ ".\Sound.h"\
+ ".\SoundImpl.h"\
+ ".\System.h"\
+ ".\SystemImpl.h"\
+
+
+.\SystemImpl.cpp : \
+ "..\..\..\mssdk\include\basetsd.h"\
+ "..\..\..\mssdk\include\d3d8.h"\
+ "..\..\..\mssdk\include\d3d8caps.h"\
+ "..\..\..\mssdk\include\d3d8types.h"\
+ "..\..\..\mssdk\include\d3dx8.h"\
+ "..\..\..\mssdk\include\d3dx8core.h"\
+ "..\..\..\mssdk\include\d3dx8effect.h"\
+ "..\..\..\mssdk\include\d3dx8math.h"\
+ "..\..\..\mssdk\include\d3dx8math.inl"\
+ "..\..\..\mssdk\include\d3dx8mesh.h"\
+ "..\..\..\mssdk\include\d3dx8shape.h"\
+ "..\..\..\mssdk\include\d3dx8tex.h"\
+ "..\..\..\mssdk\include\dls1.h"\
+ "..\..\..\mssdk\include\dmdls.h"\
+ "..\..\..\mssdk\include\dmerror.h"\
+ "..\..\..\mssdk\include\dmplugin.h"\
+ "..\..\..\mssdk\include\dmusbuff.h"\
+ "..\..\..\mssdk\include\dmusicc.h"\
+ "..\..\..\mssdk\include\dmusici.h"\
+ "..\..\..\mssdk\include\dxfile.h"\
+ ".\Console.h"\
+ ".\ConsoleImpl.h"\
+ ".\Input.h"\
+ ".\InputImpl.h"\
+ ".\Main.h"\
+ ".\MainApp.h"\
+ ".\Scene.h"\
+ ".\singleton.h"\
+ ".\Sound.h"\
+ ".\SoundImpl.h"\
+ ".\System.h"\
+ ".\SystemImpl.h"\
+
+
+.\genx.rc : \
+ ".\icon1.ico"\
+
+
+.\Input.cpp : \
+ ".\Input.h"\
+
+
+.\InputImpl.cpp : \
+ "..\..\..\mssdk\include\basetsd.h"\
+ "..\..\..\mssdk\include\dxerr8.h"\
+ ".\Console.h"\
+ ".\Input.h"\
+ ".\InputImpl.h"\
+ ".\Sound.h"\
+ ".\System.h"\
+
+
+.\Main.cpp : \
+ ".\Main.h"\
+
+
+.\MainApp.cpp : \
+ ".\Console.h"\
+ ".\Input.h"\
+ ".\Main.h"\
+ ".\MainApp.h"\
+ ".\Scene.h"\
+ ".\singleton.h"\
+ ".\Sound.h"\
+ ".\System.h"\
+
+
+.\Scene.cpp : \
+ ".\Console.h"\
+ ".\Input.h"\
+ ".\Main.h"\
+ ".\Scene.h"\
+ ".\SceneAuthor.h"\
+ ".\singleton.h"\
+ ".\Sound.h"\
+ ".\System.h"\
+
+
+.\SceneAuthor.cpp : \
+ ".\Console.h"\
+ ".\Input.h"\
+ ".\Main.h"\
+ ".\Scene.h"\
+ ".\SceneAuthor.h"\
+ ".\singleton.h"\
+ ".\Sound.h"\
+ ".\System.h"\
+
+
+.\Sound.cpp : \
+ ".\Sound.h"\
+
+
+.\SoundImpl.cpp : \
+ "..\..\..\mssdk\include\basetsd.h"\
+ "..\..\..\mssdk\include\dls1.h"\
+ "..\..\..\mssdk\include\dmdls.h"\
+ "..\..\..\mssdk\include\dmerror.h"\
+ "..\..\..\mssdk\include\dmplugin.h"\
+ "..\..\..\mssdk\include\dmusbuff.h"\
+ "..\..\..\mssdk\include\dmusicc.h"\
+ "..\..\..\mssdk\include\dmusici.h"\
+ ".\Console.h"\
+ ".\Input.h"\
+ ".\Sound.h"\
+ ".\SoundImpl.h"\
+ ".\System.h"\
+
+
+.\WinMain.cpp : \
+ "..\..\..\mssdk\include\basetsd.h"\
+ "..\..\..\mssdk\include\d3d8.h"\
+ "..\..\..\mssdk\include\d3d8caps.h"\
+ "..\..\..\mssdk\include\d3d8types.h"\
+ "..\..\..\mssdk\include\d3dx8.h"\
+ "..\..\..\mssdk\include\d3dx8core.h"\
+ "..\..\..\mssdk\include\d3dx8effect.h"\
+ "..\..\..\mssdk\include\d3dx8math.h"\
+ "..\..\..\mssdk\include\d3dx8math.inl"\
+ "..\..\..\mssdk\include\d3dx8mesh.h"\
+ "..\..\..\mssdk\include\d3dx8shape.h"\
+ "..\..\..\mssdk\include\d3dx8tex.h"\
+ "..\..\..\mssdk\include\dls1.h"\
+ "..\..\..\mssdk\include\dmdls.h"\
+ "..\..\..\mssdk\include\dmerror.h"\
+ "..\..\..\mssdk\include\dmplugin.h"\
+ "..\..\..\mssdk\include\dmusbuff.h"\
+ "..\..\..\mssdk\include\dmusicc.h"\
+ "..\..\..\mssdk\include\dmusici.h"\
+ "..\..\..\mssdk\include\dxfile.h"\
+ ".\Console.h"\
+ ".\ConsoleImpl.h"\
+ ".\Input.h"\
+ ".\InputImpl.h"\
+ ".\Main.h"\
+ ".\MainApp.h"\
+ ".\singleton.h"\
+ ".\Sound.h"\
+ ".\SoundImpl.h"\
+ ".\System.h"\
+ ".\SystemImpl.h"\
+
--- /dev/null
+# Microsoft Developer Studio Project File - Name="genx" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** \95Ò\8fW\82µ\82È\82¢\82Å\82\82¾\82³\82¢ **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=genx - Win32 Release
+!MESSAGE \82±\82ê\82Í\97L\8cø\82ÈÒ²¸Ì§²Ù\82Å\82Í\82 \82è\82Ü\82¹\82ñ\81B \82±\82ÌÌßÛ¼Þª¸Ä\82ðËÞÙÄÞ\82·\82é\82½\82ß\82É\82Í NMAKE \82ð\8eg\97p\82µ\82Ä\82\82¾\82³\82¢\81B
+!MESSAGE [Ò²¸Ì§²Ù\82Ì´¸½Îß°Ä] ºÏÝÄÞ\82ð\8eg\97p\82µ\82Ä\8eÀ\8ds\82µ\82Ä\82\82¾\82³\82¢
+!MESSAGE
+!MESSAGE NMAKE /f "genx.mak".
+!MESSAGE
+!MESSAGE NMAKE \82Ì\8eÀ\8ds\8e\9e\82É\8d\\90¬\82ð\8ew\92è\82Å\82«\82Ü\82·
+!MESSAGE ºÏÝÄÞ ×²Ý\8fã\82ÅϸÛ\82Ì\90Ý\92è\82ð\92è\8b`\82µ\82Ü\82·\81B\97á:
+!MESSAGE
+!MESSAGE NMAKE /f "genx.mak" CFG="genx - Win32 Release"
+!MESSAGE
+!MESSAGE \91I\91ð\89Â\94\\82ÈËÞÙÄÞ Ó°ÄÞ:
+!MESSAGE
+!MESSAGE "genx - Win32 Release" ("Win32 (x86) Application" \97p)
+!MESSAGE "genx - Win32 Debug" ("Win32 (x86) Application" \97p)
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "genx - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir ".\Release"
+# PROP BASE Intermediate_Dir ".\Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir ".\Release"
+# PROP Intermediate_Dir ".\Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /G6 /W3 /Gi /GR /GX /Ob2 /I ".\sfglib" /I ".\s2001" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x411 /d "NDEBUG"
+# ADD RSC /l 0x411 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib ole32.lib advapi32.lib /nologo /subsystem:windows /incremental:yes /machine:I386
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "genx - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir ".\Debug"
+# PROP BASE Intermediate_Dir ".\Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ".\Debug"
+# PROP Intermediate_Dir ".\Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /G6 /W3 /GR /GX /ZI /Od /I ".\sfglib" /I ".\s2001" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /win32
+# ADD MTL /D "_DEBUG" /win32
+# SUBTRACT MTL /nologo /mktyplib203
+# ADD BASE RSC /l 0x411 /d "_DEBUG"
+# ADD RSC /l 0x411 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /debug /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib ole32.lib advapi32.lib /nologo /subsystem:windows /debug /machine:I386
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "genx - Win32 Release"
+# Name "genx - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;for;f90"
+# Begin Source File
+
+SOURCE=.\genx.rc
+# End Source File
+# Begin Source File
+
+SOURCE=.\WinMain.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
+# Begin Source File
+
+SOURCE=.\icon1.ico
+# End Source File
+# End Group
+# Begin Group "DirectX"
+
+# PROP Default_Filter ""
+# End Group
+# Begin Group "stl"
+
+# PROP Default_Filter ""
+# End Group
+# End Target
+# End Project
--- /dev/null
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# \8cx\8d\90: \82±\82ÌÜ°¸½Íß°½ ̧²Ù \82ð\95Ò\8fW\82Ü\82½\82Í\8dí\8f\9c\82µ\82È\82¢\82Å\82\82¾\82³\82¢!
+
+###############################################################################
+
+Project: "genx"=".\genx.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "s2001"=".\s2001\s2001.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "s2001Editor"=".\s2001Editor\s2001Editor.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "s2001scene"=".\s2001scene\s2001scene.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "sfglib"=".\sfglib\sfglib.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
--- /dev/null
+# Microsoft Developer Studio Generated NMAKE File, Based on genx.dsp
+!IF "$(CFG)" == ""
+CFG=genx - Win32 Release
+!MESSAGE \8d\\90¬\82ª\8ew\92è\82³\82ê\82Ä\82¢\82Ü\82¹\82ñ\81BÃÞÌ«ÙÄ\82Ì genx - Win32 Release \82ð\90Ý\92è\82µ\82Ü\82·\81B
+!ENDIF
+
+!IF "$(CFG)" != "genx - Win32 Release" && "$(CFG)" != "genx - Win32 Debug"
+!MESSAGE \8ew\92è\82³\82ê\82½ ËÞÙÄÞ Ó°ÄÞ "$(CFG)" \82Í\90³\82µ\82\82 \82è\82Ü\82¹\82ñ\81B
+!MESSAGE NMAKE \82Ì\8eÀ\8ds\8e\9e\82É\8d\\90¬\82ð\8ew\92è\82Å\82«\82Ü\82·
+!MESSAGE ºÏÝÄÞ ×²Ý\8fã\82ÅϸÛ\82Ì\90Ý\92è\82ð\92è\8b`\82µ\82Ü\82·\81B\97á:
+!MESSAGE
+!MESSAGE NMAKE /f "genx.mak" CFG="genx - Win32 Release"
+!MESSAGE
+!MESSAGE \91I\91ð\89Â\94\\82ÈËÞÙÄÞ Ó°ÄÞ:
+!MESSAGE
+!MESSAGE "genx - Win32 Release" ("Win32 (x86) Application" \97p)
+!MESSAGE "genx - Win32 Debug" ("Win32 (x86) Application" \97p)
+!MESSAGE
+!ERROR \96³\8cø\82È\8d\\90¬\82ª\8ew\92è\82³\82ê\82Ä\82¢\82Ü\82·\81B
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "genx - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+ALL : "$(OUTDIR)\genx.exe"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\AbstractScene.obj"
+ -@erase "$(INTDIR)\Console.obj"
+ -@erase "$(INTDIR)\ConsoleImpl.obj"
+ -@erase "$(INTDIR)\Fade.obj"
+ -@erase "$(INTDIR)\genx.res"
+ -@erase "$(INTDIR)\Input.obj"
+ -@erase "$(INTDIR)\InputImpl.obj"
+ -@erase "$(INTDIR)\Main.obj"
+ -@erase "$(INTDIR)\MainApp.obj"
+ -@erase "$(INTDIR)\Obj.obj"
+ -@erase "$(INTDIR)\Obj2D.obj"
+ -@erase "$(INTDIR)\ObjQuadrangle.obj"
+ -@erase "$(INTDIR)\ObjRectangle.obj"
+ -@erase "$(INTDIR)\Scene.obj"
+ -@erase "$(INTDIR)\SceneAuthor.obj"
+ -@erase "$(INTDIR)\Sound.obj"
+ -@erase "$(INTDIR)\SoundImpl.obj"
+ -@erase "$(INTDIR)\System.obj"
+ -@erase "$(INTDIR)\SystemImpl.obj"
+ -@erase "$(INTDIR)\vc60.idb"
+ -@erase "$(INTDIR)\WinMain.obj"
+ -@erase "$(OUTDIR)\genx.exe"
+ -@erase "$(OUTDIR)\genx.ilk"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /G6 /ML /W3 /Gi /GR /GX /Ob2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /Fp"$(INTDIR)\genx.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x411 /fo"$(INTDIR)\genx.res" /d "NDEBUG"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\genx.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=dinput8.lib Dxerr8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib winmm.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /incremental:yes /pdb:"$(OUTDIR)\genx.pdb" /machine:I386 /out:"$(OUTDIR)\genx.exe"
+LINK32_OBJS= \
+ "$(INTDIR)\Console.obj" \
+ "$(INTDIR)\ConsoleImpl.obj" \
+ "$(INTDIR)\Obj.obj" \
+ "$(INTDIR)\Obj2D.obj" \
+ "$(INTDIR)\System.obj" \
+ "$(INTDIR)\SystemImpl.obj" \
+ "$(INTDIR)\AbstractScene.obj" \
+ "$(INTDIR)\Fade.obj" \
+ "$(INTDIR)\Input.obj" \
+ "$(INTDIR)\InputImpl.obj" \
+ "$(INTDIR)\Main.obj" \
+ "$(INTDIR)\MainApp.obj" \
+ "$(INTDIR)\ObjQuadrangle.obj" \
+ "$(INTDIR)\ObjRectangle.obj" \
+ "$(INTDIR)\Scene.obj" \
+ "$(INTDIR)\SceneAuthor.obj" \
+ "$(INTDIR)\Sound.obj" \
+ "$(INTDIR)\SoundImpl.obj" \
+ "$(INTDIR)\WinMain.obj" \
+ "$(INTDIR)\genx.res"
+
+"$(OUTDIR)\genx.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "genx - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+ALL : "$(OUTDIR)\genx.exe"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\AbstractScene.obj"
+ -@erase "$(INTDIR)\Console.obj"
+ -@erase "$(INTDIR)\ConsoleImpl.obj"
+ -@erase "$(INTDIR)\Fade.obj"
+ -@erase "$(INTDIR)\genx.res"
+ -@erase "$(INTDIR)\Input.obj"
+ -@erase "$(INTDIR)\InputImpl.obj"
+ -@erase "$(INTDIR)\Main.obj"
+ -@erase "$(INTDIR)\MainApp.obj"
+ -@erase "$(INTDIR)\Obj.obj"
+ -@erase "$(INTDIR)\Obj2D.obj"
+ -@erase "$(INTDIR)\ObjQuadrangle.obj"
+ -@erase "$(INTDIR)\ObjRectangle.obj"
+ -@erase "$(INTDIR)\Scene.obj"
+ -@erase "$(INTDIR)\SceneAuthor.obj"
+ -@erase "$(INTDIR)\Sound.obj"
+ -@erase "$(INTDIR)\SoundImpl.obj"
+ -@erase "$(INTDIR)\System.obj"
+ -@erase "$(INTDIR)\SystemImpl.obj"
+ -@erase "$(INTDIR)\vc60.idb"
+ -@erase "$(INTDIR)\vc60.pdb"
+ -@erase "$(INTDIR)\WinMain.obj"
+ -@erase "$(OUTDIR)\genx.exe"
+ -@erase "$(OUTDIR)\genx.ilk"
+ -@erase "$(OUTDIR)\genx.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /G6 /MTd /W3 /GR /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /Fp"$(INTDIR)\genx.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x411 /fo"$(INTDIR)\genx.res" /d "_DEBUG"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\genx.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=dinput8.lib Dxerr8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib winmm.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /incremental:yes /pdb:"$(OUTDIR)\genx.pdb" /debug /machine:I386 /out:"$(OUTDIR)\genx.exe"
+LINK32_OBJS= \
+ "$(INTDIR)\Console.obj" \
+ "$(INTDIR)\ConsoleImpl.obj" \
+ "$(INTDIR)\Obj.obj" \
+ "$(INTDIR)\Obj2D.obj" \
+ "$(INTDIR)\System.obj" \
+ "$(INTDIR)\SystemImpl.obj" \
+ "$(INTDIR)\AbstractScene.obj" \
+ "$(INTDIR)\Fade.obj" \
+ "$(INTDIR)\Input.obj" \
+ "$(INTDIR)\InputImpl.obj" \
+ "$(INTDIR)\Main.obj" \
+ "$(INTDIR)\MainApp.obj" \
+ "$(INTDIR)\ObjQuadrangle.obj" \
+ "$(INTDIR)\ObjRectangle.obj" \
+ "$(INTDIR)\Scene.obj" \
+ "$(INTDIR)\SceneAuthor.obj" \
+ "$(INTDIR)\Sound.obj" \
+ "$(INTDIR)\SoundImpl.obj" \
+ "$(INTDIR)\WinMain.obj" \
+ "$(INTDIR)\genx.res"
+
+"$(OUTDIR)\genx.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("genx.dep")
+!INCLUDE "genx.dep"
+!ELSE
+!MESSAGE Warning: cannot find "genx.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "genx - Win32 Release" || "$(CFG)" == "genx - Win32 Debug"
+SOURCE=.\Console.cpp
+
+"$(INTDIR)\Console.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ConsoleImpl.cpp
+
+"$(INTDIR)\ConsoleImpl.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\Obj.cpp
+
+"$(INTDIR)\Obj.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\Obj2D.cpp
+
+"$(INTDIR)\Obj2D.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\System.cpp
+
+"$(INTDIR)\System.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\SystemImpl.cpp
+
+"$(INTDIR)\SystemImpl.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\AbstractScene.cpp
+
+"$(INTDIR)\AbstractScene.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\Fade.cpp
+
+"$(INTDIR)\Fade.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\genx.rc
+
+"$(INTDIR)\genx.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) $(RSC_PROJ) $(SOURCE)
+
+
+SOURCE=.\Input.cpp
+
+"$(INTDIR)\Input.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\InputImpl.cpp
+
+"$(INTDIR)\InputImpl.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\Main.cpp
+
+"$(INTDIR)\Main.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\MainApp.cpp
+
+"$(INTDIR)\MainApp.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ObjQuadrangle.cpp
+
+"$(INTDIR)\ObjQuadrangle.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ObjRectangle.cpp
+
+"$(INTDIR)\ObjRectangle.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\Scene.cpp
+
+"$(INTDIR)\Scene.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\SceneAuthor.cpp
+
+"$(INTDIR)\SceneAuthor.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\Sound.cpp
+
+"$(INTDIR)\Sound.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\SoundImpl.cpp
+
+"$(INTDIR)\SoundImpl.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\WinMain.cpp
+
+"$(INTDIR)\WinMain.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
--- /dev/null
+<html>
+<body>
+<pre>
+<h1>ËÞÙÄÞ\82ÌÛ¸Þ</h1>
+<h3>
+--------------------\8d\\90¬: genx - Win32 Debug--------------------
+</h3>
+<h3>ºÏÝÄÞ ×²Ý</h3>
+\88ê\8e\9ȩ²Ù "C:\WINDOWS\TEMP\RSPA294.TMP" \82ð\8dì\90¬\82µ\81A\8e\9f\82Ì\93à\97e\82ð\8bL\98^\82µ\82Ü\82·
+[
+/nologo /G6 /MLd /W3 /GR /GX /ZI /Od /I ".\sfglib" /I ".\s2001" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /Fp".\Debug/genx.pch" /YX /Fo".\Debug/" /Fd".\Debug/" /FD /c
+"C:\My Documents\genx\project\WinMain.cpp"
+]
+Creating command line "cl.exe @C:\WINDOWS\TEMP\RSPA294.TMP"
+<h3>±³ÄÌß¯Ä ³¨ÝÄÞ³</h3>
+ºÝÊß²Ù\92\86...
+WinMain.cpp
+
+
+
+<h3>\8c\8b\89Ê</h3>
+WinMain.obj - ´×° 0\81A\8cx\8d\90 0
+</pre>
+</body>
+</html>
--- /dev/null
+//Microsoft Developer Studio generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//.
+//#include "afxres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// \93ú\96{\8cê resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)
+//#ifdef _WIN32
+//LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
+//#pragma code_page(932)
+//#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+IDI_ICON1 ICON DISCARDABLE "icon1.ico"
+
+#ifndef _MAC
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,1
+ PRODUCTVERSION 1,0,0,1
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x40004L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "041104b0"
+ BEGIN
+ VALUE "CompanyName", " \0"
+ VALUE "FileDescription", "genx\0"
+ VALUE "FileVersion", "1, 0, 0, 1\0"
+ VALUE "InternalName", "genx\0"
+ VALUE "LegalCopyright", "Copyright (C) 1998\0"
+ VALUE "OriginalFilename", "genx.exe\0"
+ VALUE "ProductName", " genx\0"
+ VALUE "ProductVersion", "1, 0, 0, 1\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x411, 1200
+ END
+END
+
+#endif // !_MAC
+
+#endif // \93ú\96{\8cê resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
--- /dev/null
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual C++ Express 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genx", "genx.vcxproj", "{EDF57DD2-D746-41F5-8EA9-DC95FD3B6E6A}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B1B40E29-61C2-40DF-BE5B-94988F2571CE} = {B1B40E29-61C2-40DF-BE5B-94988F2571CE}
+ {A9583091-4F70-4817-8125-1BE5C54495E5} = {A9583091-4F70-4817-8125-1BE5C54495E5}
+ {06E944B8-E30F-44C2-A13E-29EC11D0D7BB} = {06E944B8-E30F-44C2-A13E-29EC11D0D7BB}
+ {6BAF91BD-0810-4884-A06E-4373F0AFC95D} = {6BAF91BD-0810-4884-A06E-4373F0AFC95D}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "s2001", "s2001\s2001.vcxproj", "{A9583091-4F70-4817-8125-1BE5C54495E5}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B1B40E29-61C2-40DF-BE5B-94988F2571CE} = {B1B40E29-61C2-40DF-BE5B-94988F2571CE}
+ {06E944B8-E30F-44C2-A13E-29EC11D0D7BB} = {06E944B8-E30F-44C2-A13E-29EC11D0D7BB}
+ {6BAF91BD-0810-4884-A06E-4373F0AFC95D} = {6BAF91BD-0810-4884-A06E-4373F0AFC95D}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "s2001Editor", "s2001Editor\s2001Editor.vcxproj", "{B1B40E29-61C2-40DF-BE5B-94988F2571CE}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "s2001scene", "s2001scene\s2001scene.vcxproj", "{06E944B8-E30F-44C2-A13E-29EC11D0D7BB}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sfglib", "sfglib\sfglib.vcxproj", "{6BAF91BD-0810-4884-A06E-4373F0AFC95D}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {EDF57DD2-D746-41F5-8EA9-DC95FD3B6E6A}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EDF57DD2-D746-41F5-8EA9-DC95FD3B6E6A}.Debug|Win32.Build.0 = Debug|Win32
+ {EDF57DD2-D746-41F5-8EA9-DC95FD3B6E6A}.Release|Win32.ActiveCfg = Release|Win32
+ {EDF57DD2-D746-41F5-8EA9-DC95FD3B6E6A}.Release|Win32.Build.0 = Release|Win32
+ {A9583091-4F70-4817-8125-1BE5C54495E5}.Debug|Win32.ActiveCfg = Debug|Win32
+ {A9583091-4F70-4817-8125-1BE5C54495E5}.Debug|Win32.Build.0 = Debug|Win32
+ {A9583091-4F70-4817-8125-1BE5C54495E5}.Release|Win32.ActiveCfg = Release|Win32
+ {A9583091-4F70-4817-8125-1BE5C54495E5}.Release|Win32.Build.0 = Release|Win32
+ {B1B40E29-61C2-40DF-BE5B-94988F2571CE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B1B40E29-61C2-40DF-BE5B-94988F2571CE}.Debug|Win32.Build.0 = Debug|Win32
+ {B1B40E29-61C2-40DF-BE5B-94988F2571CE}.Release|Win32.ActiveCfg = Release|Win32
+ {B1B40E29-61C2-40DF-BE5B-94988F2571CE}.Release|Win32.Build.0 = Release|Win32
+ {06E944B8-E30F-44C2-A13E-29EC11D0D7BB}.Debug|Win32.ActiveCfg = Debug|Win32
+ {06E944B8-E30F-44C2-A13E-29EC11D0D7BB}.Debug|Win32.Build.0 = Debug|Win32
+ {06E944B8-E30F-44C2-A13E-29EC11D0D7BB}.Release|Win32.ActiveCfg = Release|Win32
+ {06E944B8-E30F-44C2-A13E-29EC11D0D7BB}.Release|Win32.Build.0 = Release|Win32
+ {6BAF91BD-0810-4884-A06E-4373F0AFC95D}.Debug|Win32.ActiveCfg = Debug|Win32
+ {6BAF91BD-0810-4884-A06E-4373F0AFC95D}.Debug|Win32.Build.0 = Debug|Win32
+ {6BAF91BD-0810-4884-A06E-4373F0AFC95D}.Release|Win32.ActiveCfg = Release|Win32
+ {6BAF91BD-0810-4884-A06E-4373F0AFC95D}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
--- /dev/null
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genx", "genx.vcproj", "{EDF57DD2-D746-41F5-8EA9-DC95FD3B6E6A}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "s2001", "s2001\s2001.vcproj", "{A9583091-4F70-4817-8125-1BE5C54495E5}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "s2001Editor", "s2001Editor\s2001Editor.vcproj", "{B1B40E29-61C2-40DF-BE5B-94988F2571CE}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "s2001scene", "s2001scene\s2001scene.vcproj", "{06E944B8-E30F-44C2-A13E-29EC11D0D7BB}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sfglib", "sfglib\sfglib.vcproj", "{6BAF91BD-0810-4884-A06E-4373F0AFC95D}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ Debug = Debug
+ Release = Release
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {EDF57DD2-D746-41F5-8EA9-DC95FD3B6E6A}.Debug.ActiveCfg = Debug|Win32
+ {EDF57DD2-D746-41F5-8EA9-DC95FD3B6E6A}.Debug.Build.0 = Debug|Win32
+ {EDF57DD2-D746-41F5-8EA9-DC95FD3B6E6A}.Release.ActiveCfg = Release|Win32
+ {EDF57DD2-D746-41F5-8EA9-DC95FD3B6E6A}.Release.Build.0 = Release|Win32
+ {A9583091-4F70-4817-8125-1BE5C54495E5}.Debug.ActiveCfg = Debug|Win32
+ {A9583091-4F70-4817-8125-1BE5C54495E5}.Debug.Build.0 = Debug|Win32
+ {A9583091-4F70-4817-8125-1BE5C54495E5}.Release.ActiveCfg = Release|Win32
+ {A9583091-4F70-4817-8125-1BE5C54495E5}.Release.Build.0 = Release|Win32
+ {B1B40E29-61C2-40DF-BE5B-94988F2571CE}.Debug.ActiveCfg = Debug|Win32
+ {B1B40E29-61C2-40DF-BE5B-94988F2571CE}.Debug.Build.0 = Debug|Win32
+ {B1B40E29-61C2-40DF-BE5B-94988F2571CE}.Release.ActiveCfg = Release|Win32
+ {B1B40E29-61C2-40DF-BE5B-94988F2571CE}.Release.Build.0 = Release|Win32
+ {06E944B8-E30F-44C2-A13E-29EC11D0D7BB}.Debug.ActiveCfg = Debug|Win32
+ {06E944B8-E30F-44C2-A13E-29EC11D0D7BB}.Debug.Build.0 = Debug|Win32
+ {06E944B8-E30F-44C2-A13E-29EC11D0D7BB}.Release.ActiveCfg = Release|Win32
+ {06E944B8-E30F-44C2-A13E-29EC11D0D7BB}.Release.Build.0 = Release|Win32
+ {6BAF91BD-0810-4884-A06E-4373F0AFC95D}.Debug.ActiveCfg = Debug|Win32
+ {6BAF91BD-0810-4884-A06E-4373F0AFC95D}.Debug.Build.0 = Debug|Win32
+ {6BAF91BD-0810-4884-A06E-4373F0AFC95D}.Release.ActiveCfg = Release|Win32
+ {6BAF91BD-0810-4884-A06E-4373F0AFC95D}.Release.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
--- /dev/null
+<?xml version="1.0" encoding="shift_jis"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="genx"
+ ProjectGUID="{EDF57DD2-D746-41F5-8EA9-DC95FD3B6E6A}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\Release"
+ IntermediateDirectory=".\Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="NDEBUG"
+ MkTypLibCompatible="true"
+ SuppressStartupBanner="true"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Release/genx.tlb"
+ HeaderFileName=""
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="4"
+ InlineFunctionExpansion="2"
+ AdditionalIncludeDirectories=".\sfglib,.\s2001"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
+ RuntimeLibrary="0"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile=".\Release/genx.pch"
+ AssemblerListingLocation=".\Release/"
+ ObjectFile=".\Release/"
+ ProgramDataBaseFileName=".\Release/"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1041"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile=".\Release/genx.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ ProgramDatabaseFile=".\Release/genx.pdb"
+ SubSystem="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\Debug"
+ IntermediateDirectory=".\Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="_DEBUG"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Debug/genx.tlb"
+ HeaderFileName=""
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=".\sfglib,.\s2001"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
+ RuntimeLibrary="1"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile=".\Debug/genx.pch"
+ AssemblerListingLocation=".\Debug/"
+ ObjectFile=".\Debug/"
+ ProgramDataBaseFileName=".\Debug/"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="4"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1041"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile=".\Debug/genx.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\Debug/genx.pdb"
+ SubSystem="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;for;f90"
+ >
+ <File
+ RelativePath="genx.rc"
+ >
+ </File>
+ <File
+ RelativePath="WinMain.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
+ >
+ <File
+ RelativePath="icon1.ico"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;fi;fd"
+ >
+ </Filter>
+ <Filter
+ Name="DirectX"
+ >
+ </Filter>
+ <Filter
+ Name="stl"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
--- /dev/null
+<?xml version="1.0" encoding="shift_jis"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="genx"
+ SccProjectName=""
+ SccLocalPath="">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\Release"
+ IntermediateDirectory=".\Release"
+ ConfigurationType="1"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="4"
+ InlineFunctionExpansion="2"
+ OptimizeForProcessor="2"
+ AdditionalIncludeDirectories=".\sfglib,.\s2001"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
+ RuntimeLibrary="4"
+ RuntimeTypeInfo="TRUE"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile=".\Release/genx.pch"
+ AssemblerListingLocation=".\Release/"
+ ObjectFile=".\Release/"
+ ProgramDataBaseFileName=".\Release/"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile=".\Release/genx.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="TRUE"
+ ProgramDatabaseFile=".\Release/genx.pdb"
+ SubSystem="2"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="NDEBUG"
+ MkTypLibCompatible="TRUE"
+ SuppressStartupBanner="TRUE"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Release/genx.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1041"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\Debug"
+ IntermediateDirectory=".\Debug"
+ ConfigurationType="1"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ OptimizeForProcessor="2"
+ AdditionalIncludeDirectories=".\sfglib,.\s2001"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
+ RuntimeLibrary="5"
+ RuntimeTypeInfo="TRUE"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile=".\Debug/genx.pch"
+ AssemblerListingLocation=".\Debug/"
+ ObjectFile=".\Debug/"
+ ProgramDataBaseFileName=".\Debug/"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ DebugInformationFormat="4"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile=".\Debug/genx.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="TRUE"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile=".\Debug/genx.pdb"
+ SubSystem="2"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="_DEBUG"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Debug/genx.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1041"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;for;f90">
+ <File
+ RelativePath="genx.rc">
+ </File>
+ <File
+ RelativePath="WinMain.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe">
+ <File
+ RelativePath="icon1.ico">
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;fi;fd">
+ </Filter>
+ <Filter
+ Name="DirectX"
+ Filter="">
+ </Filter>
+ <Filter
+ Name="stl"
+ Filter="">
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
--- /dev/null
+<?xml version="1.0" encoding="shift_jis"?>
+<VisualStudioUserFile
+ ProjectType="Visual C++"
+ Version="9.00"
+ ShowAllFiles="false"
+ >
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ >
+ <DebugSettings
+ Command="$(TargetPath)"
+ WorkingDirectory=""
+ CommandArguments=""
+ Attach="false"
+ DebuggerType="3"
+ Remote="1"
+ RemoteMachine="SATOSHI-PC"
+ RemoteCommand=""
+ HttpUrl=""
+ PDBPath=""
+ SQLDebugging=""
+ Environment=""
+ EnvironmentMerge="true"
+ DebuggerFlavor=""
+ MPIRunCommand=""
+ MPIRunArguments=""
+ MPIRunWorkingDirectory=""
+ ApplicationCommand=""
+ ApplicationArguments=""
+ ShimCommand=""
+ MPIAcceptMode=""
+ MPIAcceptFilter=""
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ >
+ <DebugSettings
+ Command="$(TargetPath)"
+ WorkingDirectory=""
+ CommandArguments=""
+ Attach="false"
+ DebuggerType="3"
+ Remote="1"
+ RemoteMachine="SATOSHI-PC"
+ RemoteCommand=""
+ HttpUrl=""
+ PDBPath=""
+ SQLDebugging=""
+ Environment=""
+ EnvironmentMerge="true"
+ DebuggerFlavor=""
+ MPIRunCommand=""
+ MPIRunArguments=""
+ MPIRunWorkingDirectory=""
+ ApplicationCommand=""
+ ApplicationArguments=""
+ ShimCommand=""
+ MPIAcceptMode=""
+ MPIAcceptFilter=""
+ />
+ </Configuration>
+ </Configurations>
+</VisualStudioUserFile>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{EDF57DD2-D746-41F5-8EA9-DC95FD3B6E6A}</ProjectGuid>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Midl>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MkTypLibCompatible>true</MkTypLibCompatible>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TargetEnvironment>Win32</TargetEnvironment>
+ <TypeLibraryName>.\Release/genx.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+ <AdditionalIncludeDirectories>.\sfglib;.\s2001;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>.\Release/genx.pch</PrecompiledHeaderOutputFile>
+ <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
+ <ObjectFileName>.\Release/</ObjectFileName>
+ <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
+ <WarningLevel>Level3</WarningLevel>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <CompileAs>Default</CompileAs>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0411</Culture>
+ </ResourceCompile>
+ <Link>
+ <OutputFile>.\Release/genx.exe</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <ProgramDatabaseFile>.\Release/genx.pdb</ProgramDatabaseFile>
+ <SubSystem>Windows</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Midl>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <TargetEnvironment>Win32</TargetEnvironment>
+ <TypeLibraryName>.\Debug/genx.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>.\sfglib;.\s2001;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>.\Debug/genx.pch</PrecompiledHeaderOutputFile>
+ <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
+ <ObjectFileName>.\Debug/</ObjectFileName>
+ <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
+ <WarningLevel>Level3</WarningLevel>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ <CompileAs>Default</CompileAs>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0411</Culture>
+ </ResourceCompile>
+ <Link>
+ <OutputFile>.\Debug/genx.exe</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>.\Debug/genx.pdb</ProgramDatabaseFile>
+ <SubSystem>Windows</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ResourceCompile Include="genx.rc" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="WinMain.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="icon1.ico" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="s2001\afxres.h" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{1b24ae3c-df7d-4226-8157-1a4e0116f5b3}</UniqueIdentifier>
+ <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;for;f90</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{c3cd196b-b5a2-42cc-9e30-225957cef34e}</UniqueIdentifier>
+ <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{ad698954-9f8a-4d22-bcb1-f28e58213b3d}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;fi;fd</Extensions>
+ </Filter>
+ <Filter Include="DirectX">
+ <UniqueIdentifier>{12dc5590-8883-4420-9c2b-e358579ab4aa}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="stl">
+ <UniqueIdentifier>{d65535ef-0457-4d25-9229-c3087d930966}</UniqueIdentifier>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ResourceCompile Include="genx.rc">
+ <Filter>Source Files</Filter>
+ </ResourceCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="WinMain.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="icon1.ico">
+ <Filter>Resource Files</Filter>
+ </None>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="s2001\afxres.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
--- /dev/null
+<HTML><HEAD><TITLE>
+AbstractObj.cpp
+</TITLE>
+
+<BODY>
+
+<H3>AbstractObj.cpp</H3>
+
+
+<HR><PRE>
+ 1|// AbstractObj.cpp: AbstractObj \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+ 2|//
+ 3|//////////////////////////////////////////////////////////////////////
+ 4|#include <string>
+ 5|#include "stdio.h"
+ 6|#include "system.h"
+ 7|#include "console.h"
+ 8|#include "AbstractObj.h"
+ 9|
+ 10|//////////////////////////////////////////////////////////////////////
+ 11|// \8d\\92z/\8fÁ\96Å
+ 12|//////////////////////////////////////////////////////////////////////
+ 13|namespace sf {
+ 14| namespace system {
+ 15| namespace console {
+ 16|
+ 17|// \83R\83\93\83X\83g\83\89\83N\83^ -------------------------------------------------------------
+ 18|AbstractObj::AbstractObj()
+ 19|{
+ 20| mbReverseX = mbReverseY = false;
+ 21| mbVisibility = false;
+ 22| mColor = 0;
+ 23| mObjNo = 0;
+ 24| mpNext = mpPrevious = NULL;
+ 25| mRad = mRotation = mRotCenterX = mRotCenterY = 0.0f;
+ 26| mScalingX = mScalingY = 1.0f;
+ 27| mSpecular = 0.0f;
+ 28| mX = mY = 0.0f;
+ 29| mZ = 0.0f;
+ 30| Obj::List::insertObj(this);
+ 31|}// AbstractObj
+ 32|
+ 33|// \83f\83X\83g\83\89\83N\83^ ---------------------------------------------------------------
+ 34|AbstractObj::~AbstractObj()
+ 35|{
+ 36| Obj::List::deleteObj(this);
+ 37|}// ~AbstractObj
+ 38| }// console
+ 39| }// system
+ 40|}// sf
+ 41|
+</PRE>
+</BODY></HTML>
--- /dev/null
+<HTML><HEAD><TITLE>
+WinMain.cpp
+</TITLE>
+
+<BODY>
+
+<H3>WinMain.cpp</H3>
+
+<P>
+[<A href="#idxF">\8aÖ\90\94</A> | <A href="#idxM">\83}\83N\83\8d</A>]
+</P>
+
+<H4><A name="idxF">\8aÖ\90\94\88ê\97\97</A></H4>
+
+<UL>
+<LI><A href="#func1">WinMain \8aÖ\90\94</A>
+</UL>
+
+<H4><A name="idxM">\83}\83N\83\8d\88ê\97\97</A></H4>
+
+<UL>
+<LI><A href="#def1">WINMAIN \83}\83N\83\8d</A>
+<LI><A href="#def2">WIN32_LEAN_AND_MEAN \83}\83N\83\8d</A>
+<LI><A href="#def3">new \83}\83N\83\8d</A>
+</UL>
+
+
+<HR><PRE>
+ 1|//@STATE=\8dì\90¬\92\86
+ 2|//@DESCRIPTION ---------------------------------------------------------------
+ 3|// Window\83\81\83C\83\93
+ 4|// \82±\82ê\82¾\82¯\82Í\82Í\82¸\82¹\82È\82¢\81D\81D\81D\81B
+ 5|// \97\9a\97ð:
+ 6|// $Log: <A href="#func1">WinMain</A>.cpp,v $
+ 7|// Revision 1.5 2001/07/01 21:30:34 fujiwara
+ 8|// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+ 9|//
+ 10|// Revision 1.4 2001/07/01 01:03:45 fujiwara
+ 11|// const \82Ì\8c©\92¼\82µ
+ 12|// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+ 13|//
+ 14|// Revision 1.3 2001/05/13 20:04:24 fujiwara
+ 15|// \83\81\83\82\83\8a\81[\83\8a\81[\83N\82ª\94\90¶\82µ\82½\82Ì\82Å\8eæ\82è\8f\9c\82\81B
+ 16|// \8e©\92e\82Ì\83T\83E\83\93\83h\83e\83X\83g
+ 17|//
+ 18|// Revision 1.2 2001/05/12 00:48:35 fujiwara
+ 19|// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+ 20|//
+ 21|// 2001/01/29 \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p\83\89\83C\83u\83\89\83\8a\82Ì\92Ç\89Á
+ 22|//@DESCRIPTION_END -----------------------------------------------------------
+ 23|//@AUTHOR=S.F.
+ 24|// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+ 25|///////////////////////////////////////////////////////////////////////////////
+ 26|#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+ 27|<A name="def1">#define <A href="#def1">WINMAIN</A>
+ 28|</A><A name="def2">#define <A href="#def2">WIN32_LEAN_AND_MEAN</A>
+ 29|</A>#include "sfdebug.h"
+ 30|
+ 31|
+ 32|// SYSTEM INCLUDES
+ 33|//
+ 34|#include "math.h"
+ 35|#include <stack>
+ 36|#include <queue>
+ 37|#include <map>
+ 38|#include <string>
+ 39|
+ 40|#include "windows.h"
+ 41|#include "windowsx.h"
+ 42|
+ 43|#include "d3d8.h"
+ 44|#include "d3dx8.h"
+ 45|#include "dmusici.h"
+ 46|#include "dinput.h"
+ 47|#include "mmsystem.h"
+ 48|
+ 49|// PROJECT INCLUDES
+ 50|//
+ 51|#ifdef _DEBUG
+ 52|<A name="def3">#define <A href="#def3">new</A> DEBUG_NEW
+ 53|</A>#endif
+ 54|
+ 55|#include "exception.h"
+ 56|#include "singleton.h"
+ 57|#include "System.h"
+ 58|#include "console.h"
+ 59|#include "obj.h"
+ 60|#include "input.h"
+ 61|#include "sound.h"
+ 62|#include "AbstractSprite.h"
+ 63|#include "ConsoleImpl.h"
+ 64|#include "SoundImpl.h"
+ 65|#include "InputImpl.h"
+ 66|#include "MainApp.h"
+ 67|#include "SystemImpl.h"
+ 68|
+ 69|
+ 70|//#include "Sound.h"
+ 71|
+ 72|LRESULT CALLBACK WndFunc(HWND hwnd, UINT message, WPARAM wParam,LPARAM lParam);
+ 73|
+ 74|
+ 75|// <A href="#func1">WinMain</A> --------------------------------------------------------------------
+ 76|
+ 77|<A name="func1">int WINAPI <A href="#func1">WinMain</A> (HINSTANCE hThisInstance, HINSTANCE hPrevInstance,
+ 78| LPSTR lpszCmdParam, int nCmdShow)
+ 79|</A>{
+ 80|#ifdef _DEBUG
+ 81|#ifndef _BORLAND
+ 82| _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
+ 83|#endif
+ 84|#endif
+ 85|
+ 86| sf::system::SystemImpl * const pwin32 = sf::system::SystemImpl::instance();
+ 87| return pwin32->winMain (hThisInstance,hPrevInstance,lpszCmdParam,nCmdShow);
+ 88|
+ 89|};// <A href="#func1">WinMain</A>
+ 90|
+ 91|
+</PRE>
+</BODY></HTML>
--- /dev/null
+<HTML><HEAD><TITLE>
+ZK01.cpp
+</TITLE>
+
+<BODY>
+
+<H3>ZK01.cpp</H3>
+
+<P>
+[<A href="#idxF">\8aÖ\90\94</A> | <A href="#idxM">\83}\83N\83\8d</A>]
+</P>
+
+<H4><A name="idxF">\8aÖ\90\94\88ê\97\97</A></H4>
+
+<UL>
+<LI><A href="#func1">ZK01 \8aÖ\90\94</A>
+<LI><A href="#func2">ZK01 \8aÖ\90\94</A>
+<LI><A href="#func3">initialize \8aÖ\90\94</A>
+<LI><A href="#func4">load \8aÖ\90\94</A>
+<LI><A href="#func5">unload \8aÖ\90\94</A>
+<LI><A href="#func6">move \8aÖ\90\94</A>
+<LI><A href="#func7">hit \8aÖ\90\94</A>
+<LI><A href="#func8">create \8aÖ\90\94</A>
+<LI><A href="#func9">die \8aÖ\90\94</A>
+<LI><A href="#func10">allBomb \8aÖ\90\94</A>
+</UL>
+
+<H4><A name="idxM">\83}\83N\83\8d\88ê\97\97</A></H4>
+
+<UL>
+<LI><A href="#def1">new \83}\83N\83\8d</A>
+</UL>
+
+
+<HR><PRE>
+ 1|//@STATE=\8dì\90¬\92\86
+ 2|//@DESCRIPTION ---------------------------------------------------------------
+ 3|// <A href="#func1">ZK01</A>.cpp: <A href="#func1">ZK01</A> \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+ 4|// \97\9a\97ð\81F
+ 5|// $Log: <A href="#func1">ZK01</A>.cpp,v $
+ 6|// Revision 1.8 2001/07/01 21:30:34 fujiwara
+ 7|// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+ 8|//
+ 9|// Revision 1.7 2001/07/01 01:03:45 fujiwara
+ 10|// const \82Ì\8c©\92¼\82µ
+ 11|// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+ 12|//
+ 13|// Revision 1.6 2001/06/03 09:22:32 fujiwara
+ 14|// \92n\8fã\93G\83N\83\89\83X\82¨\82æ\82Ñ\8eG\8b\9b\93G\82Ì\94÷\92²\90®
+ 15|//
+ 16|// Revision 1.5 2001/05/29 01:12:10 fujiwara
+ 17|// \8eG\8b\9b\83L\83\83\83\89(\94ò\8ds\95¨\81j\82Ì\8dì\90¬\81B\94z\92u\83G\83f\83B\83^\82Ì\83o\83O\8fC\90³
+ 18|//
+ 19|// Revision 1.4 2001/05/17 12:31:29 fujiwara
+ 20|// \92n\8fã\93G\83T\83\93\83v\83\8b\8dì\90¬
+ 21|//
+ 22|// Revision 1.3 2001/05/13 20:04:24 fujiwara
+ 23|// \83\81\83\82\83\8a\81[\83\8a\81[\83N\82ª\94\90¶\82µ\82½\82Ì\82Å\8eæ\82è\8f\9c\82\81B
+ 24|// \8e©\92e\82Ì\83T\83E\83\93\83h\83e\83X\83g
+ 25|//
+ 26|// Revision 1.2 2001/05/12 00:48:35 fujiwara
+ 27|// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+ 28|//
+ 29|//@DESCRIPTION_END -----------------------------------------------------------
+ 30|//@AUTHOR=S.F.
+ 31|// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+ 32|///////////////////////////////////////////////////////////////////////////////
+ 33|#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+ 34|
+ 35|// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+ 36|#include "sfdebug.h"
+ 37|
+ 38|#include <string>
+ 39|#include <vector>
+ 40|#include <memory>
+ 41|#include <stack>
+ 42|#include <list>
+ 43|#include <iostream>
+ 44|#include <fstream>
+ 45|#include <map>
+ 46|
+ 47|#include "stdio.h"
+ 48|#include "math.h"
+ 49|
+ 50|#include "singleton.h"
+ 51|#include "system.h"
+ 52|#include "console.h"
+ 53|#include "input.h"
+ 54|#include "sound.h"
+ 55|
+ 56|#include "Obj.h"
+ 57|#include "Obj2D.h"
+ 58|#include "Obj3D.h"
+ 59|#include "Obj3DL.h"
+ 60|#include "ObjRectangle.h"
+ 61|#include "ObjQuadrangle.h"
+ 62|
+ 63|#include "Background.h"
+ 64|#include "Scene.h"
+ 65|#include "main.h"
+ 66|
+ 67|#include "character.h"
+ 68|#include "Hit.h"
+ 69|#include "MyShip.h"
+ 70|#include "Game.h"
+ 71|#include "Enemys.h"
+ 72|#include "Armys.h"
+ 73|#include "AbstractEnemy.h"
+ 74|#include "EnemyBullets.h"
+ 75|#include "DispositionControl.h"
+ 76|#include "Effects.h"
+ 77|#include "Explosion.h"
+ 78|
+ 79|#ifdef _DEBUG
+ 80|<A name="def1">#define <A href="#def1">new</A> DEBUG_NEW
+ 81|</A>#endif
+ 82|
+ 83|#include "<A href="#func1">ZK01</A>.h"
+ 84|#include "EB01.h"
+ 85|
+ 86|using namespace sf::application;
+ 87|using namespace sf::application::enemy;
+ 88|
+ 89|sf::system::console::sprite::PSprite <A href="#func1">ZK01</A>::mspSprite;
+ 90|
+ 91|int <A href="#func1">ZK01</A>::mBalletTimer = 0;
+ 92|int <A href="#func1">ZK01</A>::mBalletTimerInit = 0;
+ 93|
+ 94|const sf::system::console::sprite::Info <A href="#func1">ZK01</A>::msSpriteInfo =
+ 95|{
+ 96| "media\\zk01.png",0.0f,0.0f,64.0f,64.0f,0xff000000,console::sprite::SPRITE2D
+ 97|};
+ 98|
+ 99|const int <A href="#func1">ZK01</A>::SCORE = 20;
+ 100|
+ 101|// \83R\83\93\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ 102|<A href="#func1"><A name="func1">ZK01</A>::<A href="#func1">ZK01</A>()
+ 103|</A>{
+ 104|}// <A href="#func1">ZK01</A>()
+ 105|
+ 106|// \83f\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ 107|<A href="#func1"><A name="func2">ZK01</A>::~<A href="#func1">ZK01</A>()
+ 108|</A>{
+ 109| Enemys::instance()->clear(index());
+ 110|}// ~<A href="#func1">ZK01</A>()
+ 111|
+ 112|
+ 113|// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ 114|<A name="func3">const bool <A href="#func1">ZK01</A>::<A href="#func3">initialize</A>()
+ 115|</A>{
+ 116| // \93\96\82è\94»\92è
+ 117| mHitRect.offsetTop(-24.0f);
+ 118| mHitRect.offsetBottom(24.0f);
+ 119| mHitRect.offsetLeft(-24.0f);
+ 120| mHitRect.offsetRight(24.0f);
+ 121|
+ 122| mHitRect.isChecking(true);
+ 123| mHitRect.characterPtr(this);
+ 124| direction((float)atan2((double)(game()->player()->y() - y()),(double)(game()->player()->x() - x())));
+ 125|
+ 126| mDeltaTime = sf::system::Factory::getInstance()->deltaTime();
+ 127| mDeltaTimeRev = 1.0f / mDeltaTime;
+ 128| speed(3.0f * mDeltaTime);
+ 129|
+ 130| mDx = cosf(direction()) * speed();
+ 131| mDy = sinf(direction()) * speed();
+ 132|
+ 133| // Body \95\94\95ª
+ 134| mObj.index(0);
+ 135|
+ 136| if(!mspSprite.get())
+ 137| <A href="#func4">load</A>();
+ 138|
+ 139| mObj.sprite(mspSprite.get());
+ 140|
+ 141| mObj.z(z() + (float)index() * 0.0001f );
+ 142| mObj.x(x());
+ 143| mObj.y(y());
+ 144| mObj.visibility(true);
+ 145| mObj.color(0xffffffff);
+ 146| mObj.drawMode(sf::system::console::DRAW_TRANS);
+ 147| mObj.angle(direction());
+ 148|
+ 149| // Light\95\94\95ª
+ 150| mObjLight.z(z() + (float)index() * 0.0001f + 0.00001f);
+ 151| mObjLight.x(x());
+ 152| mObjLight.y(y());
+ 153|
+ 154| initLight();
+ 155|
+ 156| mbHit = false;
+ 157| mDirCount = 18.0f * mDeltaTime;
+ 158| mDirSpeed = (rand() & 1) ? -0.02f * mDeltaTime : 0.02f * mDeltaTime;
+ 159|
+ 160| mState = MOVE;
+ 161|
+ 162| mShootTimer = (int)((20.0f + (float)(rand() & 0x7)) * mDeltaTimeRev);
+ 163| mbShoot = false;
+ 164| mAccel = 0.2f * mDeltaTime;
+ 165|
+ 166| if(!mBalletTimerInit)
+ 167| {
+ 168| mBalletTimer = mBalletTimerInit = (3.0f - game()->currentDifficulty()) * mDeltaTimeRev;
+ 169| mbShoot = false;
+ 170| } else {
+ 171| mBalletTimer--;
+ 172| if(!mBalletTimer){
+ 173| mBalletTimer = mBalletTimerInit;
+ 174| mBalletTimerInit = (3.0f - game()->currentDifficulty()) * mDeltaTimeRev;
+ 175| mbShoot = false;
+ 176| } else {
+ 177| mbShoot = true;
+ 178| }
+ 179| }
+ 180|
+ 181| return true;
+ 182|}// <A href="#func3">initialize</A>()
+ 183|
+ 184|// \83e\83N\83X\83`\83\83\82Ì\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ 185|<A name="func4">const bool <A href="#func1">ZK01</A>::<A href="#func4">load</A>(void)</A>{
+ 186| using namespace sf::system::console::sprite;
+ 187| if(!mspSprite.get()){
+ 188| sf::system::console::sprite::PSprite ptemp(sf::system::Factory::getInstance()->console()->createSprite(&msSpriteInfo));
+ 189| if(ptemp.get() == NULL)
+ 190| return false;
+ 191| mspSprite = ptemp;
+ 192| }
+ 193|
+ 194| if(!Bullets::instance()-><A href="#func4">load</A>(Bullets::EB01))
+ 195| return false;
+ 196|
+ 197| if(!AbstractEnemy::loadLight())
+ 198| return false;
+ 199|
+ 200| return true;
+ 201|}// <A href="#func4">load</A>()
+ 202|
+ 203|// \83e\83N\83X\83`\83\83\82Ì\83A\83\93\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ 204|<A name="func5">void <A href="#func1">ZK01</A>::<A href="#func5">unload</A>(void)</A>{
+ 205| using namespace sf::system::console::sprite;
+ 206| PSprite ptmp(NULL);
+ 207| mspSprite = ptmp;
+ 208|}// <A href="#func5">unload</A>()
+ 209|
+ 210|// \93G\82Ì\93®\8dì \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ 211|<A name="func6">void <A href="#func1">ZK01</A>::<A href="#func6">move</A>()
+ 212|</A>{
+ 213| using namespace sf::application;
+ 214| float tx,ty;
+ 215|
+ 216| y(y() + mDy);
+ 217| x(x() + mDx);
+ 218|
+ 219| switch(mState){
+ 220| case MOVE:
+ 221| // \93®\82«\82Ì\83\81\83C\83\93
+ 222| if(!--mDirCount){
+ 223| mDirCount = (int)(2.0f * mDeltaTimeRev);
+ 224| direction(direction() + mDirSpeed);
+ 225| speed(speed() + mAccel);
+ 226| mDx = cosf(direction()) * speed();
+ 227| mDy = sinf(direction()) * speed();
+ 228| }
+ 229|
+ 230| // \8dÀ\95W\88Ê\92u\81A\8ap\93x\82Ì\90Ý\92è
+ 231| mObj.x(x());
+ 232| mObj.y(y());
+ 233| mObj.angle(direction());
+ 234|
+ 235| mObjLight.x(x());
+ 236| mObjLight.y(y());
+ 237| moveLight();
+ 238|
+ 239| // \92e\94\8eË
+ 240| if(!mbShoot){
+ 241| if(!(mShootTimer--) ){
+ 242| tx = x() + 20.0f * cosf(direction());
+ 243| ty = y() + 20.0f * sinf(direction());
+ 244| EB01 *peb = (EB01 *)Bullets::instance()-><A href="#func8">create</A>(Bullets::EB01,tx,ty,z() + 0.01f,game());
+ 245| peb->direction(Util::calcDirection(x(),y(),game()->player()->x(),game()->player()->y()));
+ 246| mbShoot = true;
+ 247| }
+ 248| }
+ 249|
+ 250| // \92e\82É\82 \82½\82Á\82½\82©\82Ç\82¤\82©\82Ì\94»\92è
+ 251| if(mbHit)
+ 252| {
+ 253| <A href="#func9">die</A>();
+ 254| return;
+ 255| }
+ 256| break;// case MOVE:
+ 257|
+ 258| case DEAD:
+ 259| if(!--mDirCount){
+ 260| delete this;
+ 261| return;
+ 262| }
+ 263| mObj.x(x());
+ 264| mObj.y(y());
+ 265| break;
+ 266| }
+ 267|
+ 268| // \89æ\96Ê\8fÁ\8b\8e\94»\92è
+ 269| if(Util::checkArea(x(),y(),64.0f,64.0f))
+ 270| delete this;
+ 271|}//<A href="#func6">move</A>()
+ 272|
+ 273|
+ 274|
+ 275|// \92e\82É\82 \82½\82Á\82½\82Æ\82«\82Ì\8f\88\97\9d \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ 276|<A name="func7">void <A href="#func1">ZK01</A>::<A href="#func7">hit</A>(Character * const pDest)
+ 277|</A>{
+ 278| mHitRect.isChecking(false);
+ 279| mbHit = true;
+ 280|
+ 281|};
+ 282|
+ 283|// \93G\82Ì\90¶\90¬ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ 284|<A name="func8">sf::application::Character * const <A href="#func1">ZK01</A>::<A href="#func8">create</A>(float x,float y ,float z,sf::application::scene::Game * const pGame,int index)
+ 285|</A>{
+ 286| <A href="#func1">ZK01</A> * ptemp = <A href="#def1">new</A> <A href="#func1">ZK01</A>;
+ 287| ptemp->x(x);
+ 288| ptemp->y(y);
+ 289| ptemp->z(z);
+ 290| ptemp->index(index);
+ 291| ptemp->game(pGame);
+ 292| ptemp-><A href="#func3">initialize</A>();
+ 293| return ptemp;
+ 294|;}// <A href="#func8">create</A>
+ 295|
+ 296|//\81@\8e\80\82ñ\82¾\82Æ\82«\82Ì\8f\88\97\9d \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ 297|<A name="func9">void <A href="#func1">ZK01</A>::<A href="#func9">die</A>(void)
+ 298|</A>{
+ 299| effect::Explosion *pExp = (effect::Explosion*)effect::Effects::instance()-><A href="#func8">create</A>(effect::Effects::EXPLOSION,x(),y(),0.1f,game(),this);
+ 300| if(pExp){
+ 301| pExp->scaling(1.5f);
+ 302| }
+ 303| mDirCount = 2;
+ 304| mState = DEAD;
+ 305| game()->score(game()->score() + SCORE);
+ 306|
+ 307|};// <A href="#func9">die</A>()
+ 308|
+ 309|// \91S\94\9a\94\83C\83x\83\93\83g \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ 310|<A name="func10">void <A href="#func1">ZK01</A>::<A href="#func10">allBomb</A>(void)
+ 311|</A>{
+ 312| <A href="#func9">die</A>();
+ 313|}// <A href="#func10">allBomb</A>()
+</PRE>
+</BODY></HTML>
--- /dev/null
+[main]
+Application = Knowledge Look!
+Version = 100
+bNewFile = 0
+Base = .
+Update = 2001/07/04-05:08:59
+bCanUpdate = 0
+DispURL = (default)
+DispTarget = main
+
+[links]
+A = {new}, , #def1
+A = {ZK01}, , #func1
+A = {ZK01}, , #func2
+A = {initialize}, , #func3
+A = {load}, , #func4
+A = {unload}, , #func5
+A = {move}, , #func6
+A = {hit}, , #func7
+A = {create}, , #func8
+A = {die}, , #func9
+A = {allBomb}, , #func10
+
--- /dev/null
+all: refman.dvi
+
+ps: refman.ps
+
+pdf: refman.pdf
+
+ps_2on1: refman_2on1.ps
+
+pdf_2on1: refman_2on1.pdf
+
+refman.ps: refman.dvi
+ dvips -o refman.ps refman.dvi
+
+refman.pdf: refman.ps
+ gswin32c -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=refman.pdf -c save pop -f refman.ps
+
+refman_2on1.ps: refman.ps
+ psnup -2 refman.ps >refman_2on1.ps
+
+refman_2on1.pdf: refman_2on1.ps
+ gswin32c -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=refman_2on1.pdf -c save pop -f refman_2on1.ps
+
+refman.dvi: refman.tex doxygen.sty
+ echo "Running latex..."
+ latex refman.tex
+ echo "Running makeindex..."
+ makeindex refman.idx
+ echo "Rerunning latex...."
+ latex refman.tex
+ latex_count=5
+ while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $latex_count -gt 0 ] ;\
+ do \
+ echo "Rerunning latex...." ;\
+ latex refman.tex ;\
+ latex_count=`expr $latex_count - 1` ;\
+ done
+
+clean:
+ rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out
--- /dev/null
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{doxygen}
+\RequirePackage{calc}
+\RequirePackage{array}
+\pagestyle{fancyplain}
+\addtolength{\headwidth}{\marginparsep}
+\addtolength{\headwidth}{\marginparwidth}
+\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}}
+\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
+\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
+\lhead[\fancyplain{}{\bfseries\thepage}]
+ {\fancyplain{}{\bfseries\rightmark}}
+\rhead[\fancyplain{}{\bfseries\leftmark}]
+ {\fancyplain{}{\bfseries\thepage}}
+\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Mon Jan 7 21:01:08 2002 by Doxygen written by Dimitri van Heesch \copyright~1997-2001}]{}
+\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Mon Jan 7 21:01:08 2002 by Doxygen written by Dimitri van Heesch \copyright~1997-2001}}
+\cfoot{}
+\newenvironment{CompactList}
+{\begin{list}{}{
+ \setlength{\leftmargin}{0.5cm}
+ \setlength{\itemsep}{0pt}
+ \setlength{\parsep}{0pt}
+ \setlength{\topsep}{0pt}
+ \renewcommand{\makelabel}{}}}
+{\end{list}}
+\newenvironment{CompactItemize}
+{
+ \begin{itemize}
+ \setlength{\itemsep}{-3pt}
+ \setlength{\parsep}{0pt}
+ \setlength{\topsep}{0pt}
+ \setlength{\partopsep}{0pt}
+}
+{\end{itemize}}
+\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}
+\newlength{\tmplength}
+\newenvironment{TabularC}[1]
+{
+\setlength{\tmplength}
+ {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}
+ \par\begin{tabular*}{\linewidth}
+ {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}
+}
+{\end{tabular*}\par}
+\newcommand{\entrylabel}[1]{
+ {\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\\}}}
+\newenvironment{Desc}
+{\begin{list}{}
+ {
+ \settowidth{\labelwidth}{40pt}
+ \setlength{\leftmargin}{\labelwidth}
+ \setlength{\parsep}{0pt}
+ \setlength{\itemsep}{-4pt}
+ \renewcommand{\makelabel}{\entrylabel}
+ }
+}
+{\end{list}}
+\newenvironment{Indent}
+ {\begin{list}{}{\setlength{\leftmargin}{0.5cm}}
+ \item[]\ignorespaces}
+ {\unskip\end{list}}
+\setlength{\parindent}{0cm}
+\setlength{\parskip}{0.2cm}
+\addtocounter{secnumdepth}{1}
+\sloppy
--- /dev/null
+\section{genxdoc ¥¯¥é¥¹³¬ÁØ}
+¤³¤Î·Ñ¾µ¥ê¥¹¥È¤Ï¤ª¤ª¤Þ¤«¤Ë¤Ï¥½¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ç´°Á´¤Ë¥½¡¼¥È¤µ¤ì¤Æ¤Ï¤¤¤Þ¤»¤ó¡£\begin{CompactList}
+\item sf::system::console::Background::Map\item sf::system::console::Color\item sf::system::console::Console\begin{CompactList}
+\item sf::system::console::Console\-Impl\end{CompactList}
+\item sf::system::Exception\begin{CompactList}
+\item sf::system::Fatal\-Error\-Exception\item sf::system::Recoverble\-Error\-Exception\end{CompactList}
+\item sf::system::console::sprite::Info\item sf::system::input::Input\begin{CompactList}
+\item sf::system::input::Input\-Impl\end{CompactList}
+\item sf::system::input::mouse::Listener\item sf::system::input::keyboard::Listener\item sf::system::input::Listener\item sf::application::Main\item sf::system::console::Obj\begin{CompactList}
+\item sf::system::console::Obj2D\begin{CompactList}
+\item sf::system::console::Obj\-Quadrangle\item sf::system::console::Obj\-Rectangle\begin{CompactList}
+\item sf::system::console::Background\end{CompactList}
+\end{CompactList}
+\item sf::system::console::Obj3D\begin{CompactList}
+\item sf::system::console::Obj3DL\end{CompactList}
+\end{CompactList}
+\item sf::system::console::Obj::List\item sf::system::sound::Sound\begin{CompactList}
+\item sf::system::sound::Sound\-Impl\end{CompactList}
+\item sf::system::sound::Sound\-Impl::Queue::Data\item sf::system::console::sprite::Sprite\begin{CompactList}
+\item sf::system::console::sprite::Abstract\-Sprite\begin{CompactList}
+\item sf::system::console::sprite::Sprite2D\item sf::system::console::sprite::Sprite3D\item sf::system::console::sprite::Sprite\-Mesh\end{CompactList}
+\end{CompactList}
+\item sf::system::System\begin{CompactList}
+\item sf::system::System\-Impl\end{CompactList}
+\item sf::system::console::Vertex\item sf::system::console::Vertex2\item sf::system::input::keyboard::VKey\item sf::system::Win32\begin{CompactList}
+\item sf::system::System\-Impl\end{CompactList}
+\item sf::system::Window\-Message\begin{CompactList}
+\item sf::system::Window\-Message\-Impl\end{CompactList}
+\end{CompactList}
--- /dev/null
+\documentclass[a4paper]{book}
+\usepackage{a4wide}
+\usepackage{makeidx}
+\usepackage{fancyhdr}
+\usepackage{graphicx}
+\usepackage{float}
+\usepackage{alltt}
+\usepackage{doxygen}
+\makeindex
+\setcounter{tocdepth}{1}
+\setlength{\footrulewidth}{0.4pt}
+\begin{document}
+\begin{titlepage}
+\vspace*{7cm}
+\begin{center}
+{\Large Reference Manual}\\
+\vspace*{1cm}
+{\large Generated by Doxygen 1.2.13}\\
+\vspace*{0.5cm}
+{\small Mon Jan 7 21:01:08 2002}\\
+\end{center}
+\end{titlepage}
+\clearemptydoublepage
+\pagenumbering{roman}
+\tableofcontents
+\clearemptydoublepage
+\pagenumbering{arabic}
+\printindex
+\end{document}
--- /dev/null
+MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\WinMain.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\WinMain.cpp:
+\8cx\8d\90 W8058 .\sfglib\System.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\MainApp.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\MainApp.cpp:
+\8cx\8d\90 W8058 .\sfglib\System.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\Scene.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Scene.cpp:
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\SceneAuthor.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\SceneAuthor.cpp:
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\SceneAuthor.cpp 71: \83p\83\89\83\81\81[\83^ 'pParam' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Author::Author(AuthorParameter *) )
+\8cx\8d\90 W8057 .\SceneAuthor.cpp 172: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Author::endOfScene(Scene * const) )
+\8cx\8d\90 W8057 .\SceneAuthor.cpp 179: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Author::exitKeyPressed(Scene * const) )
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\Fade.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Fade.cpp:
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\AbstractScene.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\AbstractScene.cpp:
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\title.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Title.cpp:
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\Title.cpp 114: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Title::endOfScene(Scene * const) )
+\8cx\8d\90 W8057 .\Title.cpp 121: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Title::exitKeyPressed(Scene * const) )
+\8cx\8d\90 W8004 .\Title.cpp 227: 'pscene' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 Title::main() )
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\Start.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Start.cpp:
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\Start.cpp 173: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Start::endOfScene(Scene * const) )
+\8cx\8d\90 W8057 .\Start.cpp 180: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Start::exitKeyPressed(Scene * const) )
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\Game.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Game.cpp:
+\8cx\8d\90 W8070 .\character.h 117: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8022 .\DispositionControl.h 310: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8070 .\AbstractCharacter.h 95: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\Game.cpp 351: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Game::exitKeyPressed(Scene * const) )
+\8cx\8d\90 W8057 .\Game.cpp 382: \83p\83\89\83\81\81[\83^ 'extKeyCode' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Game::keyDown(const unsigned long,const unsigned long) )
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\Over.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Over.cpp:
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\Over.cpp 145: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Over::endOfScene(Scene * const) )
+\8cx\8d\90 W8057 .\Over.cpp 156: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Over::exitKeyPressed(Scene * const) )
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\Character.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\character.cpp:
+\8cx\8d\90 W8070 .\character.h 117: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\MyShip.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\MyShip.cpp:
+\8cx\8d\90 W8070 .\character.h 117: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8022 .\DispositionControl.h 310: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8070 .\AbstractCharacter.h 95: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\MyShip.cpp 282: \83p\83\89\83\81\81[\83^ 'pDest' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Ship::hit(Character * const) )
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\BGEditor.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\BGEditor.cpp:
+\8cx\8d\90 W8070 .\character.h 117: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8022 .\DispositionControl.h 310: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\BGEditor.cpp 176: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 BGEditor::exitKeyPressed(Scene * const) )
+\8cx\8d\90 W8057 .\BGEditor.cpp 198: \83p\83\89\83\81\81[\83^ 'screenX' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 BGEditor::mouseWheel(const int,const int,const unsigned long) )
+\8cx\8d\90 W8057 .\BGEditor.cpp 198: \83p\83\89\83\81\81[\83^ 'screenY' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 BGEditor::mouseWheel(const int,const int,const unsigned long) )
+\8cx\8d\90 W8057 .\BGEditor.cpp 212: \83p\83\89\83\81\81[\83^ 'extKeyCode' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 BGEditor::keyDown(const unsigned long,const unsigned long) )
+\8cx\8d\90 W8057 .\BGEditor.cpp 232: \83p\83\89\83\81\81[\83^ 'mkey' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 BGEditor::rightButtonDown(const int,const int,const unsigned long) )
+\8cx\8d\90 W8057 .\BGEditor.cpp 375: \83p\83\89\83\81\81[\83^ 'screenX' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 BGEditor::CellSelector::leftButtonDown(const int,const int,const unsigned long) )
+\8cx\8d\90 W8057 .\BGEditor.cpp 375: \83p\83\89\83\81\81[\83^ 'screenY' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 BGEditor::CellSelector::leftButtonDown(const int,const int,const unsigned long) )
+\8cx\8d\90 W8057 .\BGEditor.cpp 375: \83p\83\89\83\81\81[\83^ 'mkey' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 BGEditor::CellSelector::leftButtonDown(const int,const int,const unsigned long) )
+\8cx\8d\90 W8057 .\BGEditor.cpp 396: \83p\83\89\83\81\81[\83^ 'screenX' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 BGEditor::CellSelector::mouseWheel(const int,const int,const unsigned long) )
+\8cx\8d\90 W8057 .\BGEditor.cpp 396: \83p\83\89\83\81\81[\83^ 'screenY' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 BGEditor::CellSelector::mouseWheel(const int,const int,const unsigned long) )
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\Hit.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Hit.cpp:
+\8cx\8d\90 W8070 .\character.h 117: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\dispositioncontrol.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\DispositionControl.cpp:
+\8cx\8d\90 W8070 .\character.h 117: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8070 .\AbstractCharacter.h 95: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8022 .\DispositionControl.h 310: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8066 .\DispositionControl.cpp 186: \8eÀ\8ds\82³\82ê\82È\82¢\83R\81[\83h(\8aÖ\90\94 Controller::findCommand(const std::string &) )
+\8cx\8d\90 W8057 .\DispositionControl.cpp 456: \83p\83\89\83\81\81[\83^ 'position' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SetEnemy::exec(const float) )
+\8cx\8d\90 W8057 .\DispositionControl.cpp 542: \83p\83\89\83\81\81[\83^ 'extKeyCode' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SetEnemy::keyDown(const unsigned long,const unsigned long) )
+\8cx\8d\90 W8057 .\DispositionControl.cpp 579: \83p\83\89\83\81\81[\83^ 'position' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SetArmy::exec(const float) )
+\8cx\8d\90 W8057 .\DispositionControl.cpp 662: \83p\83\89\83\81\81[\83^ 'extKeyCode' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SetArmy::keyDown(const unsigned long,const unsigned long) )
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\AbstractCharacter.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\AbstractCharacter.cpp:
+\8cx\8d\90 W8070 .\character.h 117: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8022 .\DispositionControl.h 310: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8070 .\AbstractCharacter.h 95: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\MyBullets.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\MyBullets.cpp:
+\8cx\8d\90 W8070 .\character.h 117: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8022 .\DispositionControl.h 310: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8070 .\AbstractCharacter.h 95: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8004 .\MyBullets.cpp 160: 'count' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 Bullets::move() )
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\Enemys.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Enemys.cpp:
+\8cx\8d\90 W8070 .\character.h 117: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8022 .\DispositionControl.h 310: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8070 .\AbstractCharacter.h 95: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\ZK01.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\ZK01.cpp:
+\8cx\8d\90 W8070 .\character.h 117: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8070 .\AbstractCharacter.h 95: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8022 .\DispositionControl.h 310: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\ZK01.cpp 277: \83p\83\89\83\81\81[\83^ 'pDest' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 ZK01::hit(Character * const) )
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\Explosion.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Explosion.cpp:
+\8cx\8d\90 W8070 .\character.h 117: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8022 .\DispositionControl.h 310: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8070 .\AbstractCharacter.h 95: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\Explosion.cpp 184: \83p\83\89\83\81\81[\83^ 'pDest' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Explosion::hit(Character * const) )
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\Effects.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Effects.cpp:
+\8cx\8d\90 W8070 .\character.h 117: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8070 .\AbstractCharacter.h 95: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8004 .\Effects.cpp 142: 'count' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 Effects::move() )
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\DispositionEditor.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\DispositionEditor.cpp:
+\8cx\8d\90 W8070 .\character.h 117: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8022 .\DispositionControl.h 310: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\DispositionEditor.cpp 182: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 DispositionEditor::endOfScene(Scene * const) )
+\8cx\8d\90 W8057 .\DispositionEditor.cpp 191: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 DispositionEditor::exitKeyPressed(Scene * const) )
+\8cx\8d\90 W8004 .\DispositionEditor.cpp 279: 'max' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 DispositionEditor::keyDown(const unsigned long,const unsigned long) )
+\8cx\8d\90 W8057 .\DispositionEditor.cpp 286: \83p\83\89\83\81\81[\83^ 'mkey' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 DispositionEditor::rightButtonDown(const int,const int,const unsigned long) )
+\8cx\8d\90 W8057 .\DispositionEditor.cpp 309: \83p\83\89\83\81\81[\83^ 'screenX' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 DispositionEditor::leftButtonDown(const int,const int,const unsigned long) )
+\8cx\8d\90 W8057 .\DispositionEditor.cpp 309: \83p\83\89\83\81\81[\83^ 'screenY' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 DispositionEditor::leftButtonDown(const int,const int,const unsigned long) )
+\8cx\8d\90 W8057 .\DispositionEditor.cpp 309: \83p\83\89\83\81\81[\83^ 'mkey' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 DispositionEditor::leftButtonDown(const int,const int,const unsigned long) )
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\EnemyBullets.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\EnemyBullets.cpp:
+\8cx\8d\90 W8070 .\character.h 117: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8022 .\DispositionControl.h 310: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8070 .\AbstractCharacter.h 95: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8004 .\EnemyBullets.cpp 153: 'count' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 Bullets::move() )
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\EB01.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\EB01.cpp:
+\8cx\8d\90 W8070 .\character.h 117: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8022 .\DispositionControl.h 310: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8070 .\AbstractCharacter.h 95: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\EB01.cpp 210: \83p\83\89\83\81\81[\83^ 'pDest' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 EB01::hit(Character * const) )
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\ea01.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\EA01.cpp:
+\8cx\8d\90 W8070 .\character.h 117: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8022 .\DispositionControl.h 310: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8070 .\AbstractCharacter.h 95: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\EA01.cpp 362: \83p\83\89\83\81\81[\83^ 'z' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 EA01::create(float,float,float,scene::Game * const,int) )
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\armys.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Armys.cpp:
+\8cx\8d\90 W8070 .\character.h 117: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8022 .\DispositionControl.h 310: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8070 .\AbstractCharacter.h 95: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\abstractenemy.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\AbstractEnemy.cpp:
+\8cx\8d\90 W8070 .\character.h 117: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8070 .\AbstractCharacter.h 95: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\target.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Target.cpp:
+\8cx\8d\90 W8070 .\character.h 117: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8022 .\DispositionControl.h 310: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8070 .\AbstractCharacter.h 95: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\zk02.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\ZK02.cpp:
+\8cx\8d\90 W8070 .\character.h 117: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8070 .\AbstractCharacter.h 95: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8022 .\DispositionControl.h 310: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -v -Od -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -D_DEBUG .\mygroundbullets.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\MyGroundBullets.cpp:
+\8cx\8d\90 W8070 .\character.h 117: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Util::adjustRadian(float) )
+\8cx\8d\90 W8022 .\DispositionControl.h 310: 'SetRestartPosition::sprite()' \82ª\89¼\91z\8aÖ\90\94 'Abstract::sprite() const' \82ð\89B\95Á\82·\82é
+\8cx\8d\90 W8070 .\AbstractCharacter.h 95: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 AbstractCharacter::game(scene::Game * const) )
+\8cx\8d\90 W8058 .\sfglib\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8004 .\MyGroundBullets.cpp 169: 'count' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 GroundBullets::move() )
+ brc32 -r -i"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;.\sfglib" genx.rc -fo.\obj\genx
+Borland Resource Compiler Version 5.40
+Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved.
+ ilink32 -Tpe -aa -v -r -c -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" /j.\obj /I.\obj c0w32.obj WinMain.obj MainApp.obj Scene.obj SceneAuthor.obj Fade.obj AbstractScene.obj title.obj Start.obj Game.obj Over.obj Character.obj MyShip.obj BGEditor.obj Hit.Obj dispositioncontrol.obj AbstractCharacter.obj MyBullets.obj Enemys.obj ZK01.obj Explosion.obj Effects.obj DispositionEditor.obj EnemyBullets.obj EB01.obj ea01.obj armys.obj abstractenemy.obj target.obj zk02.obj mygroundbullets.obj,.\obj\genx,,sfglib\lib\sfglib.lib c_dinput.lib import32.lib cw32.lib dinput8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib dxerr8bor.lib winmm.lib,,.\obj\genx.res
+Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
+RLINK32 Version 4.00 (c) Copyright 1992-1999 Borland International.
+Input resource file #1: "TMP1.$$$"
+Input resource file #2: "C:\MY DOCUMENTS\GENX\PROJECT\OBJ\GENX.RES"
+Reading resource files.
+
+RESOURCE LIST
+Key: The attributes Language, Data Version, Version, and Characteristics are
+shown in hex. They appear only if they are nonzero. *Discardable resource.
+Type ID Name ID File Size Language Data Version
+ 3 (ICON) 1 2 744 * 0x0411
+10 (RCDATA) DVCLAL 1 16
+14 (ICON GROUP) 101 2 20 * 0x0411
+16 (VERSIONINFO) 1 2 652 0x0411
+Writing resources.
+Resources linked.
+ copy .\obj\genx.exe c:\s2001
+ 1 \8cÂ\82Ì\83t\83@\83C\83\8b\82ð\83R\83s\81[\82µ\82Ü\82µ\82½.
+ copy .\media\*.* c:\s2001\media
+.\media\TITLE.png
+.\media\author.dls
+.\media\author.png
+.\media\author.sgt
+.\media\AuthorBand.bnd
+.\media\BEAM.wav
+.\media\blank.bmp
+.\media\Font1.png
+.\media\Font2.png
+.\media\EB01.png
+.\media\mecha1.png
+.\media\select.sgt
+.\media\stage7.png
+.\media\stage1.png
+.\media\stage2.png
+.\media\stage3.png
+.\media\stage4.png
+.\media\stage5.png
+.\media\stage6.png
+.\media\stage0.png
+.\media\test.X
+.\media\Audiopath1.aud
+.\media\mybullet001.png
+.\media\myship.png
+.\media\explosion.png
+.\media\EXPLOS.WAV
+.\media\EB01.WAV
+.\media\.Bpib
+.\media\en01.tga
+.\media\enlight.png
+.\media\zk01.png
+.\media\eb01.tga
+.\media\ea01.png
+.\media\ea01foot.tga
+.\media\zk02.png
+.\media\target.png
+.\media\TARGET.WAV
+.\media\groundnormal.png
+.\media\GNORMAL.WAV
+.\media\normal.png
+.\media\pox_aed.mid
+.\media\normalb.png
+.\media\BOUND.WAV
+.\media\explosion2.png
+.\media\title.wav
+.\media\title1.wav
+.\media\Restart.png
+.\media\SetScrollSpeed.png
+.\media\sample.sgt
+ 49 \8cÂ\82Ì\83t\83@\83C\83\8b\82ð\83R\83s\81[\82µ\82Ü\82µ\82½.
--- /dev/null
+MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(FLOAT)sin -Dcosf=(FLOAT)cos -Dasinf=(FLOAT)asin -Dacosf=(FLOAT)acos -Dsqrtf=(FLOAT)sqrt -Dexpf=(FLOAT)exp -D_BORLAND -D_DEBUG .\WinMain.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\WinMain.cpp:
+\8cx\8d\90 W8058 .\System.h 24: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(FLOAT)sin -Dcosf=(FLOAT)cos -Dasinf=(FLOAT)asin -Dacosf=(FLOAT)acos -Dsqrtf=(FLOAT)sqrt -Dexpf=(FLOAT)exp -D_BORLAND -D_DEBUG .\System.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\System.cpp:
+\8cx\8d\90 W8058 .\System.h 24: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(FLOAT)sin -Dcosf=(FLOAT)cos -Dasinf=(FLOAT)asin -Dacosf=(FLOAT)acos -Dsqrtf=(FLOAT)sqrt -Dexpf=(FLOAT)exp -D_BORLAND -D_DEBUG .\SystemImpl.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\SystemImpl.cpp:
+\8cx\8d\90 W8058 .\System.h 24: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\SystemImpl.cpp 248: \83p\83\89\83\81\81[\83^ 'hPrevInstance' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::winMain(HINSTANCE__ * const,HINSTANCE__ * const,char * const,const int) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 248: \83p\83\89\83\81\81[\83^ 'lpszCmdParam' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::winMain(HINSTANCE__ * const,HINSTANCE__ * const,char * const,const int) )
+\8cx\8d\90 W8066 .\SystemImpl.cpp 285: \8eÀ\8ds\82³\82ê\82È\82¢\83R\81[\83h(\8aÖ\90\94 __stdcall SystemImpl::wndFunc(HWND__ *,unsigned int,unsigned int,long) )
+\8cx\8d\90 W8066 .\SystemImpl.cpp 295: \8eÀ\8ds\82³\82ê\82È\82¢\83R\81[\83h(\8aÖ\90\94 __stdcall SystemImpl::wndFunc(HWND__ *,unsigned int,unsigned int,long) )
+\8cx\8d\90 W8004 .\SystemImpl.cpp 319: 'hdc' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 SystemImpl::onPaint(HWND__ * const,const unsigned int,const long) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 319: \83p\83\89\83\81\81[\83^ 'wParam' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::onPaint(HWND__ * const,const unsigned int,const long) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 319: \83p\83\89\83\81\81[\83^ 'lParam' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::onPaint(HWND__ * const,const unsigned int,const long) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 330: \83p\83\89\83\81\81[\83^ 'hwnd' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::onActivate(HWND__ * const,const unsigned int,const long) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 330: \83p\83\89\83\81\81[\83^ 'lParam' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::onActivate(HWND__ * const,const unsigned int,const long) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 361: \83p\83\89\83\81\81[\83^ 'hwnd' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::onSize(HWND__ * const,const unsigned int,const long) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 361: \83p\83\89\83\81\81[\83^ 'wParam' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::onSize(HWND__ * const,const unsigned int,const long) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 361: \83p\83\89\83\81\81[\83^ 'lParam' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::onSize(HWND__ * const,const unsigned int,const long) )
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(FLOAT)sin -Dcosf=(FLOAT)cos -Dasinf=(FLOAT)asin -Dacosf=(FLOAT)acos -Dsqrtf=(FLOAT)sqrt -Dexpf=(FLOAT)exp -D_BORLAND -D_DEBUG .\Console.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Console.cpp:
+\8cx\8d\90 W8058 .\system.h 24: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(FLOAT)sin -Dcosf=(FLOAT)cos -Dasinf=(FLOAT)asin -Dacosf=(FLOAT)acos -Dsqrtf=(FLOAT)sqrt -Dexpf=(FLOAT)exp -D_BORLAND -D_DEBUG .\ConsoleImpl.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\ConsoleImpl.cpp:
+\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\82Ì\93Ç\82Ý\8d\9e\82Ý
+\8cx\8d\90 W8027 .\ObjRectangle.h 29: return \95¶\82ð\8e\9d\82½\82È\82¢\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢(\8aÖ\90\94 ObjRectangle::draw(Console *) )
+\8cx\8d\90 W8027 .\ObjQuadrangle.h 30: return \95¶\82ð\8e\9d\82½\82È\82¢\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢(\8aÖ\90\94 ObjQuadrangle::draw(Console *) )
+\8cx\8d\90 W8004 .\ConsoleImpl.cpp 180: 'hr' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 ConsoleImpl::initialize(HWND__ * const,const bool) )
+\8cx\8d\90 W8004 .\ConsoleImpl.cpp 199: 'hr' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 ConsoleImpl::checkAndSetDeviceType(const _D3DDEVTYPE) )
+\8cx\8d\90 W8004 .\ConsoleImpl.cpp 411: 'hr' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 ConsoleImpl::initConsoleViewStyle() )
+\8cx\8d\90 W8004 .\ConsoleImpl.cpp 470: 'hr' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 ConsoleImpl::initNotManagedObjects() )
+\8cx\8d\90 W8004 .\ConsoleImpl.cpp 961: 'hr' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 ConsoleImpl::drawSprite(ObjRectangle *) )
+\8cx\8d\90 W8004 .\ConsoleImpl.cpp 1062: 'hr' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 ConsoleImpl::drawSprite(ObjQuadrangle *) )
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(FLOAT)sin -Dcosf=(FLOAT)cos -Dasinf=(FLOAT)asin -Dacosf=(FLOAT)acos -Dsqrtf=(FLOAT)sqrt -Dexpf=(FLOAT)exp -D_BORLAND -D_DEBUG .\Sound.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Sound.cpp:
+\8cx\8d\90 W8058 .\system.h 24: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(FLOAT)sin -Dcosf=(FLOAT)cos -Dasinf=(FLOAT)asin -Dacosf=(FLOAT)acos -Dsqrtf=(FLOAT)sqrt -Dexpf=(FLOAT)exp -D_BORLAND -D_DEBUG .\SoundImpl.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\SoundImpl.cpp:
+\8cx\8d\90 W8058 .\System.h 24: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(FLOAT)sin -Dcosf=(FLOAT)cos -Dasinf=(FLOAT)asin -Dacosf=(FLOAT)acos -Dsqrtf=(FLOAT)sqrt -Dexpf=(FLOAT)exp -D_BORLAND -D_DEBUG .\Input.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Input.cpp:
+\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\82Ì\93Ç\82Ý\8d\9e\82Ý
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(FLOAT)sin -Dcosf=(FLOAT)cos -Dasinf=(FLOAT)asin -Dacosf=(FLOAT)acos -Dsqrtf=(FLOAT)sqrt -Dexpf=(FLOAT)exp -D_BORLAND -D_DEBUG .\InputImpl.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\InputImpl.cpp:
+\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\82Ì\93Ç\82Ý\8d\9e\82Ý
+\8cx\8d\90 W8004 .\InputImpl.cpp 146: 'hr' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 InputImpl::initialize() )
+\8cx\8d\90 W8004 .\InputImpl.cpp 279: 'hr' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 InputImpl::initKeyboard() )
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(FLOAT)sin -Dcosf=(FLOAT)cos -Dasinf=(FLOAT)asin -Dacosf=(FLOAT)acos -Dsqrtf=(FLOAT)sqrt -Dexpf=(FLOAT)exp -D_BORLAND -D_DEBUG .\Main.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Main.cpp:
+\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\82Ì\93Ç\82Ý\8d\9e\82Ý
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(FLOAT)sin -Dcosf=(FLOAT)cos -Dasinf=(FLOAT)asin -Dacosf=(FLOAT)acos -Dsqrtf=(FLOAT)sqrt -Dexpf=(FLOAT)exp -D_BORLAND -D_DEBUG .\MainApp.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\MainApp.cpp:
+\8cx\8d\90 W8058 .\System.h 24: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(FLOAT)sin -Dcosf=(FLOAT)cos -Dasinf=(FLOAT)asin -Dacosf=(FLOAT)acos -Dsqrtf=(FLOAT)sqrt -Dexpf=(FLOAT)exp -D_BORLAND -D_DEBUG .\Scene.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Scene.cpp:
+\8cx\8d\90 W8027 .\ObjRectangle.h 29: return \95¶\82ð\8e\9d\82½\82È\82¢\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢(\8aÖ\90\94 ObjRectangle::draw(Console *) )
+\8cx\8d\90 W8027 .\ObjQuadrangle.h 30: return \95¶\82ð\8e\9d\82½\82È\82¢\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢(\8aÖ\90\94 ObjQuadrangle::draw(Console *) )
+\8cx\8d\90 W8058 .\system.h 24: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\Scene.cpp 86: \83p\83\89\83\81\81[\83^ 'bAddSceneContainer' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 AuthorParameter::createScene(bool) )
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(FLOAT)sin -Dcosf=(FLOAT)cos -Dasinf=(FLOAT)asin -Dacosf=(FLOAT)acos -Dsqrtf=(FLOAT)sqrt -Dexpf=(FLOAT)exp -D_BORLAND -D_DEBUG .\SceneAuthor.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\SceneAuthor.cpp:
+\8cx\8d\90 W8027 .\ObjRectangle.h 29: return \95¶\82ð\8e\9d\82½\82È\82¢\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢(\8aÖ\90\94 ObjRectangle::draw(Console *) )
+\8cx\8d\90 W8027 .\ObjQuadrangle.h 30: return \95¶\82ð\8e\9d\82½\82È\82¢\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢(\8aÖ\90\94 ObjQuadrangle::draw(Console *) )
+\8cx\8d\90 W8058 .\system.h 24: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8057 .\SceneAuthor.cpp 48: \83p\83\89\83\81\81[\83^ 'pParam' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Author::Author(AuthorParameter *) )
+\8cx\8d\90 W8057 .\SceneAuthor.cpp 125: \83p\83\89\83\81\81[\83^ 'pScene' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 Author::endOfScene(Scene *) )
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(FLOAT)sin -Dcosf=(FLOAT)cos -Dasinf=(FLOAT)asin -Dacosf=(FLOAT)acos -Dsqrtf=(FLOAT)sqrt -Dexpf=(FLOAT)exp -D_BORLAND -D_DEBUG .\Obj.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Obj.cpp:
+\8cx\8d\90 W8058 .\system.h 24: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(FLOAT)sin -Dcosf=(FLOAT)cos -Dasinf=(FLOAT)asin -Dacosf=(FLOAT)acos -Dsqrtf=(FLOAT)sqrt -Dexpf=(FLOAT)exp -D_BORLAND -D_DEBUG .\Obj2D.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Obj2D.cpp:
+\8cx\8d\90 W8058 .\system.h 24: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(FLOAT)sin -Dcosf=(FLOAT)cos -Dasinf=(FLOAT)asin -Dacosf=(FLOAT)acos -Dsqrtf=(FLOAT)sqrt -Dexpf=(FLOAT)exp -D_BORLAND -D_DEBUG .\ObjQuadrangle.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\ObjQuadrangle.cpp:
+\8cx\8d\90 W8027 .\ObjQuadrangle.h 30: return \95¶\82ð\8e\9d\82½\82È\82¢\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢(\8aÖ\90\94 ObjQuadrangle::draw(Console *) )
+\8cx\8d\90 W8058 .\system.h 24: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(FLOAT)sin -Dcosf=(FLOAT)cos -Dasinf=(FLOAT)asin -Dacosf=(FLOAT)acos -Dsqrtf=(FLOAT)sqrt -Dexpf=(FLOAT)exp -D_BORLAND -D_DEBUG .\ObjRectangle.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\ObjRectangle.cpp:
+\8cx\8d\90 W8027 .\ObjRectangle.h 29: return \95¶\82ð\8e\9d\82½\82È\82¢\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢(\8aÖ\90\94 ObjRectangle::draw(Console *) )
+\8cx\8d\90 W8058 .\system.h 24: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(FLOAT)sin -Dcosf=(FLOAT)cos -Dasinf=(FLOAT)asin -Dacosf=(FLOAT)acos -Dsqrtf=(FLOAT)sqrt -Dexpf=(FLOAT)exp -D_BORLAND -D_DEBUG .\Fade.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Fade.cpp:
+\8cx\8d\90 W8027 .\ObjRectangle.h 29: return \95¶\82ð\8e\9d\82½\82È\82¢\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢(\8aÖ\90\94 ObjRectangle::draw(Console *) )
+\8cx\8d\90 W8027 .\ObjQuadrangle.h 30: return \95¶\82ð\8e\9d\82½\82È\82¢\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢(\8aÖ\90\94 ObjQuadrangle::draw(Console *) )
+\8cx\8d\90 W8058 .\system.h 24: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(FLOAT)sin -Dcosf=(FLOAT)cos -Dasinf=(FLOAT)asin -Dacosf=(FLOAT)acos -Dsqrtf=(FLOAT)sqrt -Dexpf=(FLOAT)exp -D_BORLAND -D_DEBUG .\AbstractScene.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\AbstractScene.cpp:
+\8cx\8d\90 W8027 .\ObjQuadrangle.h 30: return \95¶\82ð\8e\9d\82½\82È\82¢\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢(\8aÖ\90\94 ObjQuadrangle::draw(Console *) )
+\8cx\8d\90 W8027 .\ObjRectangle.h 29: return \95¶\82ð\8e\9d\82½\82È\82¢\8aÖ\90\94\82Í\83C\83\93\83\89\83C\83\93\93W\8aJ\82Å\82«\82È\82¢(\8aÖ\90\94 ObjRectangle::draw(Console *) )
+\8cx\8d\90 W8058 .\system.h 24: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ brc32 -r -i"c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" genx.rc -fo.\obj\genx
+Borland Resource Compiler Version 5.40
+Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved.
+ ilink32 -Tpe -aa -r -c -x -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" /j.\obj /I.\obj c0w32.obj WinMain.obj System.obj SystemImpl.obj Console.obj ConsoleImpl.obj Sound.obj SoundImpl.obj Input.obj InputImpl.obj Main.obj MainApp.obj Scene.obj SceneAuthor.obj Obj.obj Obj2D.obj ObjQuadrangle.obj ObjRectangle.obj Fade.obj AbstractScene.obj,.\obj\genx,,c_dinput.lib dinput8.lib import32.lib cw32.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib winmm.lib,,.\obj\genx.res
+Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
+RLINK32 Version 4.00 (c) Copyright 1992-1999 Borland International.
+Input resource file #1: "TMP1.$$$"
+Input resource file #2: "C:\MY DOCUMENTS\GENX\PROJECT\OBJ\GENX.RES"
+Reading resource files.
+
+RESOURCE LIST
+Key: The attributes Language, Data Version, Version, and Characteristics are
+shown in hex. They appear only if they are nonzero. *Discardable resource.
+Type ID Name ID File Size Language Data Version
+ 3 (ICON) 1 2 744 * 0x0411
+10 (RCDATA) DVCLAL 1 16
+14 (ICON GROUP) 101 2 20 * 0x0411
+16 (VERSIONINFO) 1 2 652 0x0411
+Writing resources.
+Resources linked.
--- /dev/null
+MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
+ bcc32 -c -N -O2 -WM- -H -Hs -5 -a8 -W -I"c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(FLOAT)sin -Dcosf=(FLOAT)cos -Dasinf=(FLOAT)asin -Dacosf=(FLOAT)acos -Dsqrtf=(FLOAT)sqrt -Dexpf=(FLOAT)exp .\SystemImpl.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\SystemImpl.cpp:
+\8cx\8d\90 W8058 .\System.h 24: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\83G\83\89\81[ E2285 .\SystemImpl.cpp 66: 'std::auto_ptr<SystemImpl>::operator =(std::auto_ptr<SystemImpl>)' \82É\88ê\92v\82·\82é\82à\82Ì\82ª\8c©\82Â\82©\82ç\82È\82¢(\8aÖ\90\94 SystemImpl::instance() )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 248: \83p\83\89\83\81\81[\83^ 'hPrevInstance' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::winMain(HINSTANCE__ * const,HINSTANCE__ * const,char * const,const int) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 248: \83p\83\89\83\81\81[\83^ 'lpszCmdParam' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::winMain(HINSTANCE__ * const,HINSTANCE__ * const,char * const,const int) )
+\8cx\8d\90 W8066 .\SystemImpl.cpp 285: \8eÀ\8ds\82³\82ê\82È\82¢\83R\81[\83h(\8aÖ\90\94 __stdcall SystemImpl::wndFunc(HWND__ *,unsigned int,unsigned int,long) )
+\8cx\8d\90 W8066 .\SystemImpl.cpp 295: \8eÀ\8ds\82³\82ê\82È\82¢\83R\81[\83h(\8aÖ\90\94 __stdcall SystemImpl::wndFunc(HWND__ *,unsigned int,unsigned int,long) )
+\8cx\8d\90 W8004 .\SystemImpl.cpp 319: 'hdc' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 SystemImpl::onPaint(HWND__ * const,const unsigned int,const long) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 319: \83p\83\89\83\81\81[\83^ 'wParam' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::onPaint(HWND__ * const,const unsigned int,const long) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 319: \83p\83\89\83\81\81[\83^ 'lParam' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::onPaint(HWND__ * const,const unsigned int,const long) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 330: \83p\83\89\83\81\81[\83^ 'hwnd' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::onActivate(HWND__ * const,const unsigned int,const long) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 330: \83p\83\89\83\81\81[\83^ 'lParam' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::onActivate(HWND__ * const,const unsigned int,const long) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 361: \83p\83\89\83\81\81[\83^ 'hwnd' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::onSize(HWND__ * const,const unsigned int,const long) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 361: \83p\83\89\83\81\81[\83^ 'wParam' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::onSize(HWND__ * const,const unsigned int,const long) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 361: \83p\83\89\83\81\81[\83^ 'lParam' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::onSize(HWND__ * const,const unsigned int,const long) )
+*** 1 errors in Compile ***
+
+** error 1 ** deleting .\obj\SystemImpl.obj
--- /dev/null
+//{{NO_DEPENDENCIES}}
+// Microsoft Developer Studio generated include file.
+// Used by genx.rc
+//
+#define IDI_ICON1 101
+#define IDR_MENU1 104
+#define IDD_ABOUT 105
+#define ID_RESET 40001
+#define ID_EXIT 40002
+#define ID_BGM 40003
+#define ID_EFFECT 40004
+#define ID_ABOUT 40005
+#define ID_DIK 40006
+#define ID_EDITGAME 40008
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE 109
+#define _APS_NEXT_COMMAND_VALUE 40009
+#define _APS_NEXT_CONTROL_VALUE 1009
+#define _APS_NEXT_SYMED_VALUE 101
+#endif
+#endif
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// AbstractCharacter.cpp: AbstractCharacter \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// \97\9a\97ð\81F
+// $Log: AbstractCharacter.cpp,v $
+// Revision 1.1 2001/10/28 21:40:34 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.6 2001/07/09 20:30:07 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.5 2001/07/01 21:30:33 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.4 2001/07/01 01:03:43 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.3 2001/06/10 21:18:15 fujiwara
+// \92n\8fã\97p\92Ç\89Á
+//
+// Revision 1.2 2001/05/12 00:48:13 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// SYSTEM INCLUDES //
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include <sfdebug.h>
+
+#include <stack>
+#include <list>
+#include <iostream>
+#include <fstream>
+#include <vector>
+#include <map>
+#include <string>
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+
+// PROJECT INCLUDES //
+#include "exception.h"
+#include "singleton.h"
+#include "system.h"
+#include "sound.h"
+#include "console.h"
+#include "Obj.h"
+#include "Obj2D.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+#include "Obj3DL.h"
+#include "Background.h"
+#include "input.h"
+#include "Scene.h"
+#include "main.h"
+#include "AbstractScene.h"
+#include "character.h"
+#include "Hit.h"
+#include "MyShip.h"
+#include "Game.h"
+#include "Enemys.h"
+#include "Armys.h"
+#include "DispositionControl.h"
+#include "AbstractCharacter.h"
+#include "MyGroundBullets.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+using namespace sf::application;
+
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// AbstractCharacter.h: AbstractCharacter \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \97\9a\97ð\81F
+// $Log: AbstractCharacter.h,v $
+// Revision 1.1 2001/10/28 21:40:34 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.4 2001/07/09 20:30:07 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.3 2001/07/01 01:03:43 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.2 2001/05/12 00:48:13 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_ABSTRACTCHARACTER_H__210B0A8B_5035_404F_8747_41531FD7A17A__INCLUDED_)
+#define AFX_ABSTRACTCHARACTER_H__210B0A8B_5035_404F_8747_41531FD7A17A__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+
+#include "character.h"
+
+namespace sf {
+ namespace application {
+
+
+// \93o\8fê\95¨\92\8a\8fÛ\83N\83\89\83X \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+class AbstractCharacter : public Character {
+
+ public:
+ // LIFECYCLE //
+ AbstractCharacter()
+ { mX = mY = mZ = 0.0f;
+ mpGame = NULL;
+ mMoveSpeed = 0.0f;
+ mMoveDirection = 0.0f;
+ mLife = 0;
+ };
+ virtual ~AbstractCharacter(){};
+ // OPERATORS //
+ // OPERATIONS //
+ virtual void initialize(void) = 0;
+ // \83L\83\83\83\89\83N\83^\81[\88Ú\93®
+ virtual void move(void) = 0;
+
+ virtual const bool hitCheck(Character * const pDest)
+ { if(hitObj()->check(pDest->hitObj())){
+ hit(pDest);
+ pDest->hit(this);
+ return true;
+ }
+ return false;
+ };
+
+ virtual const bool hitCheck(Characters * const pDest){
+ return pDest->hitCheck(this);
+ };
+
+ virtual void hit(Character * const pDest) = 0;
+
+ // ACCESS //
+
+ // \92\86\90S\8dÀ\95W
+ virtual const float x(void){ return mX;};
+ virtual void x(const float value){mX = value;};
+
+ virtual const float y(void){return mY;};
+ virtual void y(const float value){mY = value;};
+
+ virtual const float z(void){return mZ;};
+ virtual void z(const float value){mZ = value;};
+
+ // \83\89\83C\83t
+ virtual const int life(void){return mLife;};
+ virtual void life(const int value){mLife = value;};
+ // \88Ú\93®\83X\83s\81[\83h
+ virtual const float speed(void){return mMoveSpeed;};
+ virtual void speed(const float value){mMoveSpeed = value;};
+ // \88Ú\93®\95û\8cü (\83\89\83W\83A\83\93\81j
+ virtual const float direction(void){return mMoveDirection;};
+ virtual void direction(const float value){mMoveDirection = value;};
+
+
+ virtual sf::application::hit::Interface * const hitObj(void) = 0;
+
+
+ virtual sf::application::scene::Game * const game(void){ return mpGame;};
+ virtual game(sf::application::scene::Game * const value){mpGame = value;};
+
+ virtual int index(void) { return mIndex;};
+ virtual void index(int value){ mIndex = value;};
+ // INQUIRY //
+ private:
+ float mX,mY,mZ;
+ int mLife;
+ float mMoveSpeed,mMoveDirection;
+ int mIndex;
+ sf::application::scene::Game * mpGame;
+};// bullet::Abstract
+ }
+}
+#endif // !defined(AFX_ABSTRACTCHARACTER_H__210B0A8B_5035_404F_8747_41531FD7A17A__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// AbstractCharacters.h: AbstractCharacters \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \97\9a\97ð\81F
+// $Log: AbstractCharacters.h,v $
+// Revision 1.1 2001/10/28 21:40:35 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.2 2001/07/09 20:30:07 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.1 2001/06/03 09:21:03 fujiwara
+// \92\8a\8fÛ\93G\83N\83\89\83X\82Ì\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_ENEMYS_H__8DC400E3_9678_4AA5_B5A2_B96809AEEEEA__INCLUDED_)
+#define AFX_ENEMYS_H__8DC400E3_9678_4AA5_B5A2_B96809AEEEEA__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "character.h"
+namespace sf {
+ namespace application {
+
+ class AbstractCharacters : public Characters
+ {
+ public:
+ // LIFE CYCLE //
+ AbstractCharacters();
+ virtual ~AbstractCharacters();
+ // Type \92è\8b` //
+ // \83e\83N\83X\83`\83\83\83\8d\81[\83_\82Ö\82Ì\83|\83C\83\93\83^
+ typedef void (*LoaderFuncPtr)(void);
+ // \83e\83N\83X\83`\83\83\8aJ\95ú\83\81\83\\83b\83h\82Ö\82Ì\83|\83C\83\93\83^
+ typedef void (*UnloadFuncPtr)(void);
+
+ // OPERATIONS
+ void initialize();
+ // \83L\83\83\83\89\83N\83^\81[\88Ú\93®
+ void move(void);
+
+ const bool hitCheck(Character * const pDest);
+ const bool hitCheck(Characters * const pDest);
+ const void clear(int index){mppAbstractCharacters[index] = NULL ; mCount-- ;};
+ void unload(void);
+
+
+ void ppCharacters(Character ** pp){mppAbstractCharacters = pp;};
+ void ppLoaders(LoaderFuncPtr *pp){mppLoaders = pp;};
+ void ppUnloaders(UnloadFuncPtr *pp){mppUnloaders = pp;};
+
+ void count(const int value){mCount = value;};
+ const int count(void){return mCount;};
+
+ void max(const int value){mMax = value;};
+ const int max(void){return mMax;};
+
+ void typeMax(const int value){mTypeMax = value;};
+ const int typeMax(void){return mTypeMax;};
+
+ private:
+ Character **mppAbstractCharacters;
+
+ int mCount;
+ int mMax;
+ int mTypeMax;
+
+ LoaderFuncPtr *mppLoaders;
+ UnloadFuncPtr *mppUnloaders;
+
+ };// AbstractCharacters
+
+ }// application
+}// sf
+
+#endif // !defined(AFX_ENEMYS_H__8DC400E3_9678_4AA5_B5A2_B96809AEEEEA__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// \97\9a\97ð\81F
+// $Log: AbstractEnemy.cpp,v $
+// Revision 1.1 2001/10/28 21:40:35 fujiwara
+// DLL\82É\95ª\8a\84
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// System Includes //
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+#include <string>
+#include <vector>
+#include <memory>
+#include <stack>
+#include <list>
+#include <iostream>
+#include <fstream>
+#include <map>
+#include "stdio.h"
+#include "math.h"
+
+// Project Includes //
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "exception.h"
+#include "singleton.h"
+#include "system.h"
+#include "console.h"
+#include "input.h"
+#include "sound.h"
+
+#include "Obj.h"
+#include "Obj2D.h"
+#include "Obj3D.h"
+#include "Obj3DL.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+
+#include "Background.h"
+#include "Scene.h"
+#include "main.h"
+
+#include "character.h"
+#include "Hit.h"
+#include "MyShip.h"
+#include "Game.h"
+#include "Enemys.h"
+#include "AbstractCharacter.h"
+#include "AbstractEnemy.h"
+
+
+using namespace sf::application;
+using namespace sf::application::enemy;
+
+sf::system::console::sprite::PSprite AbstractEnemy::mspSpriteLight;
+
+const sf::system::console::sprite::Info AbstractEnemy::msSpriteInfoLight =
+{
+ "media\\enlight.png",0.0f,0.0f,0.0f,0.0f,0xff000000,console::sprite::SPRITE2D
+};
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+
+AbstractEnemy::AbstractEnemy()
+{
+
+}
+
+AbstractEnemy::~AbstractEnemy()
+{
+
+}
+
+void AbstractEnemy::initLight(void)
+{
+ // Light\95\94\95ª
+ mObjLight.index(0);
+ mObjLight.sprite(mspSpriteLight.get());
+ mObjLight.color(0x80ffff00);
+ mObjLight.drawMode(sf::system::console::DRAW_ADD);
+ mObjLight.visibility(true);
+ mLightDirection = (int)(-16.0f * sf::system::instance()->deltaTime());
+ mLightCount = 0xff;
+}
+
+void AbstractEnemy::moveLight(void)
+{
+ int temp;
+
+ // \83\89\83C\83g\81H
+ mLightCount += mLightDirection;
+
+ if(mLightCount <= 0 || mLightCount >= 255){
+ mLightDirection = -mLightDirection;
+ mLightCount += mLightDirection;
+ }
+
+ temp = 0x80000000 + (mLightCount << 16) ;
+ mObjLight.color(temp);
+}
+
+void AbstractEnemy::loadLight(void)
+{
+ using namespace sf::system::console::sprite;
+ if(!mspSpriteLight.get()){
+ sf::system::console::sprite::PSprite ptemp(sf::system::instance()->console()->createSprite(&msSpriteInfoLight));
+ mspSpriteLight = ptemp;
+ }
+}
\ No newline at end of file
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// AbstractEnemy.h: AbstractEnemy \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \97\9a\97ð\81F
+// $Log: AbstractEnemy.h,v $
+// Revision 1.2 2001/11/06 21:25:02 fujiwara
+// \91å\95\9d\8dX\90V\91O\83o\83b\83N\83A\83b\83v
+//
+// Revision 1.1 2001/10/28 21:40:35 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.3 2001/07/09 20:30:07 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.2 2001/07/01 01:03:43 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_ABSTRACTENEMY_H__1D874A8B_6CCD_407D_A1D5_69B0CD0864AC__INCLUDED_)
+#define AFX_ABSTRACTENEMY_H__1D874A8B_6CCD_407D_A1D5_69B0CD0864AC__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "AbstractCharacter.h"
+
+namespace sf {
+ namespace application {
+ namespace enemy {
+ class AbstractEnemy : public sf::application::AbstractCharacter,public Event
+ {
+ public:
+ AbstractEnemy(){mbUsePath = false;};
+ virtual ~AbstractEnemy();
+ static void loadLight(void);
+ void initLight(void);
+ void moveLight(void);
+ virtual bool isUsePath(void){return mbUsePath;};
+ virtual void usePath(bool bUse){mbUsePath = bUse;};
+ protected:
+ sf::system::console::ObjRectangle mObjLight;
+ private:
+ int mLightCount;
+ int mLightDirection;
+ bool mbUsePath;
+ static sf::system::console::sprite::PSprite mspSpriteLight;
+ static const sf::system::console::sprite::Info msSpriteInfoLight;
+ };
+ }
+ }
+}
+#endif // !defined(AFX_ABSTRACTENEMY_H__1D874A8B_6CCD_407D_A1D5_69B0CD0864AC__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// AbstarctScene \83N\83\89\83X
+// Scene\83N\83\89\83X(interface\82É\91\8a\93\96)\82Ì\92\8a\8fÛ(abstract)\83N\83\89\83X
+// \82 \82è\82ª\82¿\82È\83\81\83\\83b\83h\82ð\8eÀ\91\95
+// \97\9a\97ð:
+// $Log: AbstractScene.cpp,v $
+// Revision 1.1 2001/10/28 21:40:35 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.5 2001/07/09 20:30:07 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.4 2001/07/01 21:30:33 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.3 2001/07/01 01:03:43 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.2 2001/05/12 00:48:13 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+// 2001/01/30 \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p\83\89\83C\83u\83\89\83\8a\83C\83\93\83N\83\8b\81[\83h
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+#include "sfdebug.h"
+
+
+#include <stack>
+#include <list>
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "exception.h"
+#include "singleton.h"
+#include "system.h"
+#include "console.h"
+#include "Scene.h"
+#include "main.h"
+#include "Obj.h"
+#include "Obj2D.h"
+#include "ObjQuadrangle.h"
+#include "ObjRectangle.h"
+#include "AbstractScene.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+
+using namespace sf::application::scene;
+// \83R\83\93\83X\83g\83\89\83N\83^ -------------------------------------------------------------
+AbstractScene::AbstractScene()
+{
+ //mpListener = NULL;
+ mpSystem = system::Factory::getInstance();
+ mpConsole = mpSystem->console();
+ mpSound = mpSystem->sound();
+ mpInput = mpSystem->input();
+ mpMain = application::MainFactory::getInstance();
+ mbActive = true;
+
+}// AbstarctScene
+
+// \83f\83X\83g\83\89\83N\83^ ---------------------------------------------------------------
+AbstractScene::~AbstractScene()
+{
+
+}// ~AbstarctScene
+
+// \83\8a\83X\83i\81[\82ð\90Ý\92è\82·\82é ---------------------------------------------------------
+void AbstractScene::addListener(Listener *pListener)
+{
+ mListenerList.push_back(pListener);
+} //addListener()
+
+void AbstractScene::removeListener(Listener *pListener)
+{
+ for(std::list<Listener *>::iterator it = mListenerList.begin();it != mListenerList.end();++it)
+ {
+ if(*it == pListener){
+ *it = NULL;
+ //mListenerList.erase(it);
+ return;
+ }
+ }
+} //removeListener()
+
+// \83C\83x\83\93\83g\8cÄ\82Ñ\8fo\82µ\83\81\83\\83b\83h
+void AbstractScene::callSceneEvent(void(Listener::* const pMethod)(Scene* const ))
+{
+ std::list<Listener *>::iterator it = mListenerList.begin();
+
+// sf::application::scene::Container *pc = sf::application::scene::Container::instance();
+
+ while(it != mListenerList.end())
+ {
+ if(*it != NULL){
+ ((*it)->*pMethod)(this);
+ ++it;
+ } else {
+ it = mListenerList.erase(it);
+ }
+ }
+}
\ No newline at end of file
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// AbstarctScene \83N\83\89\83X
+// Scene\83N\83\89\83X(interface\82É\91\8a\93\96)\82Ì\92\8a\8fÛ(abstract)\83N\83\89\83X
+// \82 \82è\82ª\82¿\82È\83\81\83\\83b\83h\82ð\8bï\8fÛ\89»
+// $Log: AbstractScene.h,v $
+// Revision 1.1 2001/10/28 21:40:35 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.4 2001/07/09 20:30:07 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.3 2001/07/01 01:03:43 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.2 2001/05/12 00:48:13 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+
+#if !defined(AFX_ABSTRACTSCENE_H__760660AB_BD65_461F_B374_0600A79A0A44__INCLUDED_)
+#define AFX_ABSTRACTSCENE_H__760660AB_BD65_461F_B374_0600A79A0A44__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+#include "scene.h"
+namespace sf {
+ namespace application {
+ namespace scene {
+ class AbstractScene : public Scene,public Listener
+ {
+ public:
+ // LIFECYCLE //
+ AbstractScene();
+ virtual ~AbstractScene();
+ // OPERATORS //
+
+ // OPERATIONS//
+ virtual void move(void) = 0;
+
+ virtual void sleep(void){mbActive = false;};
+ virtual void active(void){mbActive = true;};
+ virtual const bool isActive(void) const {return mbActive;};
+
+ virtual void addListener(Listener * const pListener);
+ virtual void removeListener(Listener * const pListener);
+ // \83C\83x\83\93\83g\8cÄ\82Ñ\8fo\82µ\83\81\83\\83b\83h
+ virtual void callSceneEvent(void(Listener::*pMethod)(Scene* const));
+ protected:
+ std::list<Listener*> mListenerList;
+ system::console::Console *mpConsole;
+ system::System *mpSystem;
+ system::sound::Sound *mpSound;
+ system::input::Input *mpInput;
+ application::Main * mpMain;
+ bool mbActive;
+ bool mbInitialized;
+ };
+ }// scene
+ }// application
+}// system
+
+#endif // !defined(AFX_ABSTRACTSCENE_H__760660AB_BD65_461F_B374_0600A79A0A44__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// Armys.cpp: Armys \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// \97\9a\97ð\81F
+// $Log: Armys.cpp,v $
+// Revision 1.1 2001/10/28 21:40:35 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.4 2001/07/09 20:30:07 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.3 2001/07/01 21:30:33 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.2 2001/07/01 01:03:43 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.1 2001/06/03 09:21:26 fujiwara
+// \92n\8fã\93G\83N\83\89\83X\82Ì\92Ç\89Á
+//
+// Revision 1.5 2001/05/13 20:04:23 fujiwara
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\82ª\94\90¶\82µ\82½\82Ì\82Å\8eæ\82è\8f\9c\82\81B
+// \8e©\92e\82Ì\83T\83E\83\93\83h\83e\83X\83g
+//
+// Revision 1.4 2001/05/12 08:17:31 fujiwara
+// \88ê\94Ê\95Û\8cì\88á\94½\82ª\8bN\82±\82éBUG\8fC\90³
+//
+// Revision 1.3 2001/05/12 00:50:48 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+
+// System Includes //
+
+#include "sfdebug.h"
+#include <string>
+#include <vector>
+#include <memory>
+#include <stack>
+#include <list>
+#include <iostream>
+#include <fstream>
+#include <map>
+#include "stdio.h"
+#include "math.h"
+
+// Project Includes //
+
+#include "exception.h"
+#include "singleton.h"
+#include "system.h"
+#include "console.h"
+#include "input.h"
+#include "sound.h"
+
+#include "Obj.h"
+#include "Obj2D.h"
+#include "Obj3D.h"
+#include "Obj3DL.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+
+#include "Background.h"
+#include "Scene.h"
+#include "main.h"
+
+#include "character.h"
+#include "Hit.h"
+#include "MyShip.h"
+#include "Game.h"
+#include "Enemys.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "Armys.h"
+#include "DispositionControl.h"
+#include "EA01.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+
+
+using namespace sf::application::enemy;
+using namespace sf::application;
+
+IMPLEMENT_SINGLETON(Armys,Armys);
+const Armys::LoaderFuncPtr Armys::mpLoaders[MAX_ARMYS_TYPE] =
+{ &EA01::load
+};
+
+const int Armys::INIT_ARMYS = 16;
+
+const Armys::CreateFuncPtr Armys::mpFunctions[MAX_ARMYS_TYPE] =
+{ &EA01::create };
+
+const Armys::UnloadFuncPtr Armys::mpUnloadFunc[MAX_ARMYS_TYPE] =
+{ &EA01::unload };
+
+// \83R\83\93\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+Armys::Armys()
+{
+ int i;
+ mCount = 0;
+ mMax = INIT_ARMYS;
+
+ for(i = 0;i < MAX_ARMYS;i++){
+ mpArmys[i] = NULL;
+ }
+
+}// Armys()
+
+// \83f\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+Armys::~Armys()
+{
+ int i;
+ for(i = 0;i < MAX_ARMYS;i++)
+ {
+ if(mpArmys[i]){
+ delete mpArmys[i];
+ mpArmys[i] = NULL;
+ }
+ }
+}// ~Armys()
+
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Armys::initialize(void){
+
+ int i;
+ for(i = 0;i < MAX_ARMYS;i++)
+ {
+ if(mpArmys[i]){
+ delete mpArmys[i];
+ mpArmys[i] = NULL;
+ }
+ }
+ mCount = 0;
+}// initialize()
+
+// \92e\82Ì\88Ú\93® \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Armys::move(void)
+{
+ for(int i = 0;i < MAX_ARMYS;i++)
+ {
+ if(mpArmys[i]){
+ mpArmys[i]->move();
+ }
+ }
+}// move()
+
+// \92e\82ð\90¶\90¬\82·\82é \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+const bool Armys::create(const TYPE id,const float x,const float y,const float z,sf::application::scene::Game *pGame)
+{
+ if(id >= MAX_ARMYS_TYPE)
+ return false;
+
+ if(mCount >= mMax)
+ return false;
+
+ for(int i = 0 ; i < MAX_ARMYS; i++){
+ if(mpArmys[i] == NULL){
+ mpArmys[i] = (*mpFunctions[id])(x,y,z,pGame,i);
+ mCount++;
+ return true;
+ }
+ }
+ return false;
+}// create()
+
+// \93\96\82è\94»\92è \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+const bool Armys::hitCheck(Character * const pDest){
+ bool return_ = false;
+
+ for(int i = 0;i < MAX_ARMYS;i++){
+ if(mpArmys[i]){
+ if(mpArmys[i]->hitCheck(pDest)){
+ mpArmys[i]->hit(pDest);
+ pDest->hit(mpArmys[i]);
+ return_ = true;
+ };
+ }
+ }
+ return return_;
+}// hitCheck(Character * const pDest)
+
+const bool Armys::hitCheck(Characters * const pDest){
+ bool return_ = false;
+
+ for(int i = 0;i < MAX_ARMYS;i++){
+ if(mpArmys[i]){
+ if(pDest->hitCheck(mpArmys[i]))
+ return_ = true;
+ }
+ }
+
+ return return_;
+}// hitCheck(Characters * const pDest)
+
+// \83e\83N\83X\83`\83\83\82Ì\91S\8aJ\95ú \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Armys::unload(void){
+ for(int i = 0;i < MAX_ARMYS_TYPE;i++)
+ {
+ (*mpUnloadFunc[i])();
+ }
+}// unload()
+
+// \83e\83N\83X\83`\83\83\82Ì\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Armys::load(const int value){
+ // \83r\83b\83g\83}\83b\83v\82Ì\83\8d\81[\83h
+ (*mpLoaders[value])();
+}// load()
+
+void Armys::allBomb(void){
+ ;
+}
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// Armys.h: Armys \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \97\9a\97ð\81F
+// $Log: Armys.h,v $
+// Revision 1.1 2001/10/28 21:40:35 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.2 2001/07/09 20:30:07 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.1 2001/06/03 09:21:26 fujiwara
+// \92n\8fã\93G\83N\83\89\83X\82Ì\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_ARMYS_H__8DC400E3_9678_4AA5_B5A2_B96809AEEEEA__INCLUDED_)
+#define AFX_ARMYS_H__8DC400E3_9678_4AA5_B5A2_B96809AEEEEA__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "character.h"
+namespace sf {
+ namespace application {
+ namespace enemy {
+
+ const int MAX_ARMYS_TYPE = 1;
+ const int MAX_ARMYS = 64;
+
+ class Armys : public Characters ,public Event
+ {
+ DECLARE_SINGLETON(Armys)
+ Armys();
+ public:
+ ~Armys();
+ // Type \92è\8b` //
+ // \83I\83u\83W\83F\83N\83g\90¶\90¬\83\81\83\\83b\83h\82Ö\82Ì\83|\83C\83\93\83^
+ typedef sf::application::Character * const (*CreateFuncPtr)(float,float,float,sf::application::scene::Game * const ,int);
+ // \83e\83N\83X\83`\83\83\83\8d\81[\83_\82Ö\82Ì\83|\83C\83\93\83^
+ typedef void (*LoaderFuncPtr)(void);
+ // \83e\83N\83X\83`\83\83\8aJ\95ú\83\81\83\\83b\83h\82Ö\82Ì\83|\83C\83\93\83^
+ typedef void (*UnloadFuncPtr)(void);
+
+ enum TYPE {
+ ZK01 = 0
+ };
+ // OPERATIONS
+ void initialize(void);
+ // \83L\83\83\83\89\83N\83^\81[\88Ú\93®
+ void move(void);
+
+ const bool create(const TYPE id,const float x,const float y,const float z,sf::application::scene::Game *pGame);
+ const bool hitCheck(Character * const pDest);
+ const bool hitCheck(Characters * const pDest);
+ const void clear(int index){mpArmys[index] = NULL ; mCount-- ;};
+ void unload(void);
+ void load(const int value);
+
+ // Event
+ void allBomb(void);
+
+ private:
+ Character *mpArmys[MAX_ARMYS];
+ int mCount;
+ int mMax;
+
+ static const LoaderFuncPtr mpLoaders[MAX_ARMYS_TYPE];
+ static const int INIT_ARMYS;
+ static const CreateFuncPtr mpFunctions[MAX_ARMYS_TYPE];
+ static const UnloadFuncPtr mpUnloadFunc[MAX_ARMYS_TYPE];
+
+ };// Armys
+
+ }// enemy
+ }// application
+}// sf
+
+#endif // !defined(AFX_ARMYS_H__8DC400E3_9678_4AA5_B5A2_B96809AEEEEA__INCLUDED_)
--- /dev/null
+/AbstractCharacter.cpp/1.1/Sun Oct 28 21:40:34 2001//
+/AbstractCharacter.h/1.1/Sun Oct 28 21:40:34 2001//
+/AbstractCharacters.h/1.1/Sun Oct 28 21:40:36 2001//
+/AbstractEnemy.cpp/1.1/Sun Oct 28 21:40:36 2001//
+/AbstractScene.cpp/1.1/Sun Oct 28 21:40:36 2001//
+/AbstractScene.h/1.1/Sun Oct 28 21:40:36 2001//
+/Armys.cpp/1.1/Sun Oct 28 21:40:36 2001//
+/Armys.h/1.1/Sun Oct 28 21:40:36 2001//
+/DispositionControl.cpp/1.1/Sun Oct 28 21:40:36 2001//
+/DispositionControl.h/1.1/Sun Oct 28 21:40:36 2001//
+/EA01.cpp/1.1/Sun Oct 28 21:40:36 2001//
+/EA01.h/1.1/Sun Oct 28 21:40:36 2001//
+/EB01.cpp/1.1/Sun Oct 28 21:40:36 2001//
+/EB01.h/1.1/Sun Oct 28 21:40:36 2001//
+/Effects.cpp/1.1/Sun Oct 28 21:40:36 2001//
+/Effects.h/1.1/Sun Oct 28 21:40:36 2001//
+/EnemyBullets.cpp/1.1/Sun Oct 28 21:40:36 2001//
+/EnemyBullets.h/1.1/Sun Oct 28 21:40:36 2001//
+/Enemys.cpp/1.1/Sun Oct 28 21:40:36 2001//
+/Enemys.h/1.1/Sun Oct 28 21:40:36 2001//
+/Explosion.cpp/1.1/Sun Oct 28 21:40:36 2001//
+/Fade.cpp/1.1/Sun Oct 28 21:40:36 2001//
+/Fade.h/1.1/Sun Oct 28 21:40:36 2001//
+/Game.cpp/1.1/Sun Oct 28 21:40:36 2001//
+/Game.h/1.1/Sun Oct 28 21:40:36 2001//
+/Hit.cpp/1.1/Sun Oct 28 21:40:36 2001//
+/Hit.h/1.1/Sun Oct 28 21:40:36 2001//
+/MainApp.cpp/1.1/Sun Oct 28 21:40:36 2001//
+/MainApp.h/1.1/Sun Oct 28 21:40:36 2001//
+/MyBullets.cpp/1.1/Sun Oct 28 21:40:36 2001//
+/MyBullets.h/1.1/Sun Oct 28 21:40:36 2001//
+/MyGroundBullets.cpp/1.1/Sun Oct 28 21:40:36 2001//
+/MyGroundBullets.h/1.1/Sun Oct 28 21:40:36 2001//
+/MyShip.cpp/1.1/Sun Oct 28 21:40:36 2001//
+/MyShip.h/1.1/Sun Oct 28 21:40:36 2001//
+/Over.cpp/1.1/Sun Oct 28 21:40:36 2001//
+/Over.h/1.1/Sun Oct 28 21:40:36 2001//
+/ReadMe.txt/1.1/Sun Oct 28 09:19:54 2001//
+/Restart.cpp/1.1/Sun Oct 28 21:40:36 2001//
+/Restart.h/1.1/Sun Oct 28 21:40:36 2001//
+/Scene.cpp/1.1/Sun Oct 28 21:40:36 2001//
+/SceneAuthor.cpp/1.1/Sun Oct 28 21:40:38 2001//
+/SceneAuthor.h/1.1/Sun Oct 28 21:40:38 2001//
+/Start.cpp/1.1/Sun Oct 28 21:40:38 2001//
+/Start.h/1.1/Sun Oct 28 21:40:38 2001//
+/StdAfx.cpp/1.1/Sun Oct 28 09:19:54 2001//
+/StdAfx.h/1.1/Sun Oct 28 13:01:34 2001//
+/Target.cpp/1.1/Sun Oct 28 21:40:38 2001//
+/Target.h/1.1/Sun Oct 28 21:40:38 2001//
+/Title.cpp/1.1/Sun Oct 28 21:40:38 2001//
+/Title.h/1.1/Sun Oct 28 21:40:38 2001//
+/ZK01.cpp/1.1/Sun Oct 28 21:40:38 2001//
+/ZK01.h/1.1/Sun Oct 28 21:40:38 2001//
+/ZK02.cpp/1.1/Sun Oct 28 21:40:38 2001//
+/ZK02.h/1.1/Sun Oct 28 21:40:38 2001//
+/character.cpp/1.1/Sun Oct 28 21:40:38 2001//
+/character.h/1.1/Sun Oct 28 21:40:38 2001//
+/explosion.h/1.1/Sun Oct 28 21:40:38 2001//
+/s2001.plg/1.1/Sun Oct 28 14:04:02 2001//
+/AbstractEnemy.h/1.2/Tue Nov 06 21:25:02 2001//
+/Scene.h/1.2/Tue Nov 06 21:27:34 2001//
+/s2001.cpp/1.2/Tue Nov 06 21:27:34 2001//
+/s2001.dsp/1.2/Tue Oct 30 13:19:00 2001//
+D
--- /dev/null
+project/s2001
--- /dev/null
+:local:c:\home
--- /dev/null
+// Controller.cpp: Controller \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+//
+//////////////////////////////////////////////////////////////////////
+
+#include "stdafx.h"
+#include "Controller.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+
+Controller::Controller()
+{
+
+}
+
+Controller::~Controller()
+{
+
+}
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// Controller.h: Controller \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \94z\92u\83R\83}\83\93\83h\83\8a\83X\83g\82¨\82æ\82Ñ\82»\82Ì\90§\8cä\82ð\8ds\82¤\83C\83\93\83^\81[\83t\83F\81[\83X
+// \97\9a\97ð\81F
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_CONTROLLER_H__3BA9FFD8_ADFD_419D_B1AA_700CEA340332__INCLUDED_)
+#define AFX_CONTROLLER_H__3BA9FFD8_ADFD_419D_B1AA_700CEA340332__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "../sfinterface.h"
+
+namespace sf {
+ namespace application {
+ namespace command {
+
+// \94z\92u\83R\83}\83\93\83h\82Ì\90§\8cä //
+class Controller
+{
+public:
+ // \8c^\92è\8b`
+ typedef std::multimap<float,command::Interface * > CommandList;
+ typedef command::Interface * const (*CreateFuncPtr)(void);
+
+ // LIFECYCLE
+ Controller(){};
+ virtual ~Controller(){};
+
+ // OPERATIONS
+
+ // \94z\92u\83f\81[\83^\82ð\94j\8aü\82·\82é
+ virtual void unload(void) = 0;
+ // \94z\92u\83f\81[\83^\83t\83@\83C\83\8b\82Ì\83\8d\81[\83h
+ virtual void load(const char * const pFileName) = 0;
+ // \94z\92u\83f\81[\83^\83t\83@\83C\83\8b\82Ì\83Z\81[\83u
+ virtual void save(const char * const pFileName = NULL) = 0;
+ // \94z\92u\83f\81[\83^\82ð\8eÀ\8ds
+ virtual void exec(const float position) = 0;
+ // \8ew\92è\82µ\82½\88Ê\92u\82É\83C\83e\83\8c\81[\83^\82ð\88Ú\93®
+ virtual void restart(const float position) = 0;
+ virtual void insertCommand(const float position,command::Interface * const pInterface) = 0;
+ // \83V\83\8a\83A\83\8bNo\82Å\94z\92u\83f\81[\83^\82ð\8dí\8f\9c
+ virtual void deleteCommand(const int serialNo) = 0 ;
+ // \94z\92u\83}\83b\83v\82Ì\88Ê\92u\82Å\93G\82ð\8dí\8f\9c
+ virtual void deleteCommand(const float x,const float y,const float position,const command::TYPE type) = 0;
+ // \83R\83}\83\93\83h\83I\83u\83W\83F\83N\83g\82Ì\90¶\90¬
+ static command::Interface * const create(const command::TYPE type) = 0;
+ // ACCESS //
+
+ // Game\83I\83u\83W\83F\83N\83g\82Ö\82Ì\83|\83C\83\93\83^
+ virtual sf::application::scene::Game * const game() = 0;
+ virtual void game(sf::application::scene::Game * const pGame) = 0;
+
+ virtual CommandList& commandList() = 0;
+};
+
+ }
+ }
+}
+
+
+#endif // !defined(AFX_CONTROLLER_H__3BA9FFD8_ADFD_419D_B1AA_700CEA340332__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// DispositionControl.cpp: DispositionControl \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// \97\9a\97ð\81F
+// $Log: DispositionControl.cpp,v $
+// Revision 1.1 2001/10/28 21:40:35 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.7 2001/07/01 21:30:33 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.6 2001/07/01 01:03:43 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.5 2001/05/17 12:34:10 fujiwara
+// \92n\8fã\93G\83T\83\93\83v\83\8b\8dì\90¬
+//
+// Revision 1.4 2001/05/12 12:48:28 fujiwara
+// \94z\92u\83G\83f\83B\83^\8dì\90¬\82É\94º\82¤\95Ï\8dX\81E\92Ç\89Á
+//
+// Revision 1.3 2001/05/12 00:57:59 fujiwara
+// (none)
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// SYSTEM INCLUDES //
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+
+#include "sfdebug.h"
+
+#include <string>
+#include <stack>
+#include <list>
+#include <iostream>
+#include <fstream>
+#include <vector>
+#include <map>
+
+
+// PROJECT INCLUDES //
+
+#include "exception.h"
+#include "system.h"
+#include "sound.h"
+#include "console.h"
+#include "Obj.h"
+#include "Obj2D.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+#include "Obj3DL.h"
+#include "Background.h"
+#include "input.h"
+#include "Scene.h"
+#include "main.h"
+#include "AbstractScene.h"
+#include "character.h"
+#include "Hit.h"
+#include "MyShip.h"
+#include "Game.h"
+#include "Enemys.h"
+#include "Armys.h"
+#include "ZK01.h"
+#include "DispositionControl.h"
+#include "DispositionEditor.h"
+
+#ifdef _DEBUG
+#ifndef _BORLAND
+#define new DEBUG_NEW
+#endif
+#endif
+
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+
+
+using namespace sf::application::disposition;
+using namespace sf;
+using namespace sf::application::disposition::command;
+
+// \83R\83}\83\93\83h\97ñ //
+const std::string ControllerImpl::mCommand[command::MAX] = {
+ "Reset",
+ "SetScrollSpeed",
+ "SetRestartPosition",
+ "SetEnemy",
+ "SetArmy"
+};
+
+const ControllerImpl::CreateFuncPtr ControllerImpl::mpCreateFunc[command::MAX]
+= { &command::Reset::create,
+ &command::SetScrollSpeed::create,
+ &command::SetRestartPosition::create,
+ &command::SetEnemy::create,
+ &command::SetArmy::create
+};
+
+// \83R\83\93\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ControllerImpl::ControllerImpl(){
+}
+
+// \83f\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ControllerImpl::~ControllerImpl(){
+ for(CommandList::iterator it = mData.begin();it != mData.end();++it)
+ {
+ delete (*it).second;
+ }
+ mData.clear();
+}
+
+// \83f\81[\83^\82Ì\83A\83\93\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ControllerImpl::unload(void)
+{
+ for(CommandList::iterator it = mData.begin();it != mData.end();++it)
+ {
+ delete (*it).second;
+ }
+ mData.clear();
+
+ // \93G\83e\83N\83X\83`\83\83\82Ì\83A\83\93\83\8d\81[\83h
+ sf::application::enemy::Enemys::instance()->unload();
+}// unload()
+
+// \94z\92u\83f\81[\83^\82Ì\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ControllerImpl::load(const char * const pFileName)
+{
+ mSerialNo = 0;
+ unload();
+ char err_loadstr[] = "ControllerImpl:load() Error!";
+
+ std::fstream file(pFileName,std::ios::in);
+
+ if(!file.is_open()){
+ std::string tmp;
+
+ tmp += "File Open Error! ";
+ tmp += "Disposition File ";
+ tmp += pFileName;
+ tmp += " Not Found!!";
+
+ throw FatalErrorException(tmp,__FILE__,__LINE__);
+ }
+
+ mFileName = pFileName;
+
+ int position,command_id;
+ std::string command_str;
+
+ while(!file.eof()){
+
+
+ file >> position;
+
+ if(file.fail())
+ break;
+
+ file >> command_str;
+ command_id = findCommand(command_str);
+ command_id--;
+
+ command::Interface *pinterface = create((command::TYPE)command_id);
+ pinterface->load(file);
+
+ if(file.fail())
+ throw FatalErrorException(err_loadstr,__FILE__,__LINE__);
+
+ pinterface->game(game());
+ insertCommand(position,pinterface);
+ }
+ mDataIter = mData.begin();
+}//load()
+
+// \83R\83}\83\93\83h\82ð\83T\81[\83`\82µ\81A\82»\82Ì\83C\83\93\83f\83b\83N\83X\82ð\95Ô\82· \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+const int ControllerImpl::findCommand(const std::string &s)
+{
+ for(int i = 0;i < command::MAX;i++){
+ if(s == mCommand[i]){
+ i++;
+ return i;
+ }
+ }
+ throw FatalErrorException("ControllerImpl::findCommand() Command Parse Error!!",__FILE__,__LINE__);
+ return 0;
+}// findCommand()
+
+// \83I\83u\83W\83F\83N\83g\90¶\90¬ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+//command::Interface * ControllerImpl::create(command::TYPE command_id)
+//{
+// return (mpCreateFunc[command_id])();
+//}// create
+
+// \83\8a\83X\83^\81[\83g\88Ê\92u\82É\83R\83}\83\93\83h\82ð\82 \82í\82¹\82é \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ControllerImpl::restart(const float position){
+ mDataIter = mData.begin();
+
+ if(mDataIter == mData.end()) return;
+
+ while(mDataIter != mData.end() && mDataIter->first < position)
+ {
+ mDataIter++;
+ };
+}//restart();
+
+
+// \83f\81[\83^\82Ì\83Z\81[\83u \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ControllerImpl::save(const char * const pMapFileName)
+{
+ std::string err_savestr = "ControllerImpl:save() Error!";
+ char *pfile_name;
+
+ // \83t\83@\83C\83\8b\83l\81[\83\80\82ªNULL\82Ì\8fê\8d\87\81A\83\8d\81[\83h\8e\9e\82Ì\83t\83@\83C\83\8b\83l\81[\83\80\82ð\8eg\97p
+ if(pMapFileName == NULL){
+ if(mFileName.c_str() == NULL){
+ throw FatalErrorException(err_savestr,__FILE__,__LINE__);
+ } else {
+ pfile_name = const_cast<char*>(mFileName.c_str());
+ }
+ } else {
+ pfile_name = const_cast<char*>(pMapFileName);
+ }
+
+ std::fstream file(pfile_name,std::ios::out);
+
+ if(!file.is_open()){
+ std::string tmp ="";
+ tmp += "File Open Error! ";
+ tmp += "Disposition File ";
+ tmp += pMapFileName;
+ tmp += " Not Found!!";
+ throw FatalErrorException(tmp,__FILE__,__LINE__);
+ }
+
+ bool bflag = false;
+
+ for(CommandList::iterator it = mData.begin();
+ it != mData.end(); it++)
+ {
+ if(bflag)
+ file << std::endl;
+
+ file << it->first << " ";
+ file << mCommand[it->second->id()];
+
+ it->second->save(file);
+
+ bflag = true;
+ if(file.fail())
+ throw FatalErrorException(err_savestr,__FILE__,__LINE__);
+ }
+}// save()
+
+// \83R\83}\83\93\83h\82Ì\8eÀ\8ds \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ControllerImpl::exec(const float position){
+
+ if(mDataIter->first > position || mDataIter == mData.end())
+ return;
+
+ while(mDataIter->first <= position && mDataIter != mData.end()){
+ mDataIter->second->exec(position);
+ mDataIter++;
+ }
+
+}// exec()
+
+// \93G\82Ì\8dí\8f\9c \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ControllerImpl::deleteCommand(const float x,const float y,const float position,command::TYPE type)
+{
+ std::pair< CommandList::iterator, CommandList::iterator > it_pair
+ = mData.equal_range( position );
+
+ CommandList::iterator it = it_pair.first;
+
+ command::SetEnemy *pe = NULL;
+ command::SetArmy *pe1 = NULL;
+
+ const int range = 6.0f;
+ float tx,ty;
+
+ while(it != it_pair.second){
+ if(it->second->id() == type){
+ switch(type){
+ case SET_ENEMY:
+ pe = dynamic_cast<command::SetEnemy *>(it->second);
+ tx = pe->x() + game()->background()->startOffsetX();
+ ty = pe->y() + game()->background()->startOffsetY();
+ if(x > (tx - range) && x < (tx + range) && y > (ty - range) && y < (ty + range)){
+ mData.erase(it);
+ return;
+ }
+ break;
+ case SET_ARMY:
+ pe1 = dynamic_cast<command::SetArmy *>(it->second);
+ tx = pe1->x() + game()->background()->startOffsetX();
+ ty = pe1->y() + game()->background()->startOffsetY();
+ if(x > (tx - range) && x < (tx + range) && y > (ty - range) && y < (ty + range)){
+ mData.erase(it);
+ return;
+ }
+ break;
+ default:
+ tx = sf::system::console::viewport::X + game()->background()->startOffsetX();
+ ty = game()->background()->startOffsetY();
+ if(x > (tx - range) && x < (tx + range) && y > (ty - range) && y < (ty + range)){
+ mData.erase(it);
+ return;
+ }
+ return;
+ }
+ }
+ ++it;
+ }
+}// deleteCommand()
+
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+// Abstract
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+
+void Abstract::draw(sf::application::scene::DispositionEditor *pEditor,float position,bool bMouse)
+{
+ if(sprite() == NULL)
+ return;
+
+ if(bMouse){
+ pEditor->x(pEditor->mouseX());
+ pEditor->y(pEditor->mouseY());
+ } else {
+ pEditor->x(sf::system::console::viewport::X + sf::system::console::viewport::WIDTH / 2.0f + game()->background()->startOffsetX());
+ pEditor->y(game()->background()->startOffsetY()
+ + (game()->scrollY() - position));
+ }
+
+ if(position == game()->scrollY() && !bMouse)
+ pEditor->specular(0x00208020);
+ else
+ pEditor->specular(0);
+
+ pEditor->drawMode(sf::system::console::DRAW_TRANS);
+ pEditor->color(0xffffffff);
+
+ sprite()->draw(pEditor);
+}// Abstract::draw()
+
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+// SetScrollSpeed
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+
+sf::system::console::sprite::PSprite SetScrollSpeed::mspSprite;
+
+const sf::system::console::sprite::Info SetScrollSpeed::msSpriteInfo =
+{
+ "media\\SetScrollSpeed.png",0.0f,0.0f,0.0f,0.0f,0xff000000,sf::system::console::sprite::SPRITE2D
+};
+
+// \83\8a\83\\81[\83X\82Ì\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void SetScrollSpeed::loadResource(void){
+ using namespace sf::system::console::sprite;
+ if(!mspSprite.get()){
+ PSprite ptemp(sf::system::instance()->console()->createSprite(&msSpriteInfo));
+ mspSprite = ptemp;
+ }
+}// SetScrollSpeed::loadResource()
+
+// \83\8a\83\\81[\83X\82Ì\83A\83\93\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void SetScrollSpeed::unloadResource(void){
+ using namespace sf::system::console::sprite;
+ PSprite ptmp(NULL);
+ mspSprite = ptmp;
+}// SetScrollSpeed::unloadResource()
+
+
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+// SetRestartPosition
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+sf::system::console::sprite::PSprite SetRestartPosition::mspSprite;
+
+const sf::system::console::sprite::Info SetRestartPosition::msSpriteInfo =
+{
+ "media\\Restart.png",0.0f,0.0f,0.0f,0.0f,0xff000000,sf::system::console::sprite::SPRITE2D
+};
+
+// \83\8a\83\\81[\83X\82Ì\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void SetRestartPosition::loadResource(void){
+ using namespace sf::system::console::sprite;
+ if(!mspSprite.get()){
+ PSprite ptemp(sf::system::instance()->console()->createSprite(&msSpriteInfo));
+ mspSprite = ptemp;
+ }
+}// SetRestartPosition::loadResource()
+
+// \83\8a\83\\81[\83X\82Ì\83A\83\93\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void SetRestartPosition::unloadResource(void){
+ using namespace sf::system::console::sprite;
+ PSprite ptmp(NULL);
+ mspSprite = ptmp;
+}// SetRestartPosition::unloadResource()
+
+
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+// SetEnemy
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+
+sf::system::console::sprite::PSprite SetEnemy::mspSprites[sf::application::enemy::MAX_TYPE];
+const sf::system::console::sprite::Info SetEnemy::msSpriteInfos[sf::application::enemy::MAX_TYPE] =
+{
+ {"media\\zk01.png",0.0f,0.0f,64.0f,64.0f,0xff000000,sf::system::console::sprite::SPRITE2D},
+ {"media\\zk02.png",0.0f,0.0f,64.0f,64.0f,0xff000000,sf::system::console::sprite::SPRITE2D}
+};
+
+
+// \83I\83y\83\8c\81[\83^\83I\81[\83o\81[\83\89\83C\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+std::ostream & operator <<
+ ( std::ostream &rOStrm // cStrStrm
+ , const sf::application::scene::Game::DIFFICULTY &rDifficulty ) // cInt
+{
+ int temp = (int)rDifficulty;
+ return rOStrm << temp; // \8aù\91¶\82Ì\8aÖ\90\94\82ð\8cÄ\82Ñ\8fo\82µ\82Ü\82·\81B
+}
+
+std::istream& operator >> ( std::istream& rIStrm, sf::application::scene::Game::DIFFICULTY &rDifficulty )
+{
+ int temp;
+ rIStrm >> temp;
+ rDifficulty = (sf::application::scene::Game::DIFFICULTY)temp;
+ return rIStrm;
+}
+
+
+// \83R\83\93\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+SetEnemy::SetEnemy()
+{ mX = mY = mZ = 0.0f;
+ mEnemyNo = 0;
+ mDifficulty = sf::application::scene::Game::EASY;
+};
+
+// \83f\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+SetEnemy::~SetEnemy(){;};
+
+// \8dÅ\91å\90\94\82ð\95Ô\82· \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+const int SetEnemy::max(void) const
+{
+ return sf::application::enemy::MAX_TYPE;
+}
+
+// \83R\83}\83\93\83h\82Ì\8eÀ\8ds \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void SetEnemy::exec(const float position)
+{
+ if(mDifficulty <= game()->difficulty()){
+ sf::application::enemy::Enemys::instance()->create(
+ (sf::application::enemy::Enemys::TYPE)mEnemyNo,
+ mX,mY,mZ,game()
+ );
+ }
+};
+
+// \83R\83}\83\93\83h\82Ì\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void SetEnemy::load(std::istream &is){
+
+ is >> mDifficulty;
+ is >> mEnemyNo;
+ is >> mX;
+ is >> mY;
+ is >> mZ;
+
+ sf::application::enemy::Enemys::instance()->load(mEnemyNo);
+};// load()
+
+// \83R\83}\83\93\83h\82Ì\83Z\81[\83u \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void SetEnemy::save(std::ostream &os){
+ os << " " << mDifficulty;
+ os << " " << mEnemyNo;
+ os << " " << mX ;
+ os << " " << mY;
+ os << " " << mZ;
+};// save();
+
+// \83\8a\83\\81[\83X\82Ì\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void SetEnemy::loadResource(void){
+ using namespace sf::system::console::sprite;
+ for(int i = 0;i < sf::application::enemy::MAX_TYPE;i++){
+ if(!mspSprites[i].get()){
+ PSprite ptemp(sf::system::instance()->console()->createSprite(&msSpriteInfos[i]));
+ mspSprites[i] = ptemp;
+ }
+ }
+}// SetEnemy::loadResource()
+
+// \83\8a\83\\81[\83X\82Ì\83A\83\93\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void SetEnemy::unloadResource(void){
+ using namespace sf::system::console::sprite;
+ for(int i = 0;i < sf::application::enemy::MAX_TYPE;i++){
+ if(mspSprites[i].get()){
+ PSprite ptmp(NULL);
+ mspSprites[i] = ptmp;
+ }
+ }
+}// SetEnemy::unloadResource()
+
+// \93G\83}\81[\83J\81[\82Ì\95`\89æ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void SetEnemy::draw(sf::application::scene::DispositionEditor * const pEditor
+ ,const float position,const bool bMouse)
+{
+ using namespace sf::application::scene;
+ // \83}\83E\83X\83J\81[\83\\83\8b\82É\92Ç\8f]\82·\82é\82©
+ if(bMouse){
+ pEditor->x(pEditor->mouseX());
+ pEditor->y(pEditor->mouseY());
+ } else {
+ pEditor->x(x() + game()->background()->startOffsetX());
+ pEditor->y(y() + game()->background()->startOffsetY()
+ + (game()->scrollY() - position));
+ }
+
+ if(position == game()->scrollY() && !bMouse)
+ pEditor->specular(DispositionEditor::CURRENT_SPECULAR);
+ else
+ pEditor->specular(DispositionEditor::NORMAL_SPECULAR);
+
+ pEditor->drawMode(sf::system::console::DRAW_TRANS);
+ pEditor->color(0xffffffff);
+
+ mspSprites[mEnemyNo]->draw(pEditor);
+
+}// SetEnemy::draw()
+
+// \83L\81[\89\9f\89º\8e\9e\82Ì\8f\88\97\9d \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void SetEnemy::keyDown(const DWORD keyCode,const DWORD extKeyCode)
+{
+ switch((char)keyCode)
+ {
+ case '1':
+ if(mEnemyNo > 0)
+ mEnemyNo--;
+ break;
+ case '2':
+ if(mEnemyNo < max() - 1)
+ mEnemyNo++;
+ break;
+ }
+}//keyDown();
+
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+// SetArmy
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+
+sf::system::console::sprite::PSprite SetArmy::mspSprites[sf::application::enemy::MAX_ARMYS_TYPE];
+const sf::system::console::sprite::Info SetArmy::msSpriteInfos[sf::application::enemy::MAX_ARMYS_TYPE] =
+{
+ {"media\\ea01.png",0.0f,0.0f,64.0f,64.0f,0xff000000,sf::system::console::sprite::SPRITE2D}
+};
+
+// \83R\83\93\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+SetArmy::SetArmy()
+{ mX = mY = mZ = 0.0f;
+ mEnemyNo = 0;
+ mDifficulty = sf::application::scene::Game::EASY;
+};
+
+// \83f\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+SetArmy::~SetArmy(){;};
+
+// \8dÅ\91å\90\94\82ð\95Ô\82· \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+const int SetArmy::max(void) const
+{
+ return sf::application::enemy::MAX_ARMYS_TYPE;
+}
+
+// \83R\83}\83\93\83h\82Ì\8eÀ\8ds \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void SetArmy::exec(const float position)
+{
+ if(mDifficulty <= game()->difficulty()){
+ sf::application::enemy::Armys::instance()->create(
+ (sf::application::enemy::Armys::TYPE)mEnemyNo,
+ mX,mY,mZ,game()
+ );
+ }
+};
+
+// \83R\83}\83\93\83h\82Ì\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void SetArmy::load(std::istream &is){
+
+ is >> mDifficulty;
+ is >> mEnemyNo;
+ is >> mX;
+ is >> mY;
+ is >> mZ;
+
+ sf::application::enemy::Armys::instance()->load(mEnemyNo);
+
+};// load()
+
+// \83R\83}\83\93\83h\82Ì\83Z\81[\83u \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void SetArmy::save(std::ostream &os){
+ os << " " << mDifficulty;
+ os << " " << mEnemyNo;
+ os << " " << mX ;
+ os << " " << mY;
+ os << " " << mZ;
+};// save();
+
+// \83\8a\83\\81[\83X\82Ì\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void SetArmy::loadResource(void){
+ using namespace sf::system::console::sprite;
+ for(int i = 0;i < sf::application::enemy::MAX_TYPE;i++){
+ if(!mspSprites[i].get()){
+ PSprite ptemp(sf::system::instance()->console()->createSprite(&msSpriteInfos[i]));
+ mspSprites[i] = ptemp;
+ }
+ }
+}// SetArmy::loadResource()
+
+// \83\8a\83\\81[\83X\82Ì\83A\83\93\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void SetArmy::unloadResource(void){
+ using namespace sf::system::console::sprite;
+ for(int i = 0;i < sf::application::enemy::MAX_TYPE;i++){
+ if(mspSprites[i].get()){
+ PSprite ptmp(NULL);
+ mspSprites[i] = ptmp;
+ }
+ }
+}// SetArmy::unloadResource()
+
+// \94z\92u\83}\83b\83v\8fã\82É\95`\89æ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void SetArmy::draw(sf::application::scene::DispositionEditor * const pEditor,const float position,const bool bMouse)
+{
+ if(bMouse){
+ pEditor->x(pEditor->mouseX());
+ pEditor->y(pEditor->mouseY());
+ } else {
+ pEditor->x(game()->background()->startOffsetX());
+ pEditor->y(game()->background()->startOffsetY()
+ + (game()->scrollY() - position));
+ }
+
+ if(position == game()->scrollY() && !bMouse)
+ pEditor->specular(0x00208020);
+ else
+ pEditor->specular(0);
+
+ pEditor->drawMode(sf::system::console::DRAW_TRANS);
+ pEditor->color(0xffffffff);
+
+ mspSprites[mEnemyNo]->draw(pEditor);
+}// SetArmy::draw()
+
+// \83L\81[\89\9f\89º\8e\9e\82Ì\8f\88\97\9d \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void SetArmy::keyDown(const DWORD keyCode,const DWORD extKeyCode)
+{
+ switch((char)keyCode)
+ {
+ case '1':
+ if(mEnemyNo > 0)
+ mEnemyNo--;
+ break;
+ case '2':
+ if(mEnemyNo < max() - 1)
+ mEnemyNo++;
+ break;
+ }
+}//keyDown();
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// DispositionControl.h: DispositionControl \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \94z\92u\83f\81[\83^\90§\8cä
+// \97\9a\97ð\81F
+// $Log: DispositionControl.h,v $
+// Revision 1.1 2001/10/28 21:40:35 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.7 2001/07/09 20:30:08 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.6 2001/07/01 01:03:43 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.5 2001/05/17 12:34:10 fujiwara
+// \92n\8fã\93G\83T\83\93\83v\83\8b\8dì\90¬
+//
+// Revision 1.4 2001/05/12 12:48:28 fujiwara
+// \94z\92u\83G\83f\83B\83^\8dì\90¬\82É\94º\82¤\95Ï\8dX\81E\92Ç\89Á
+//
+// Revision 1.3 2001/05/12 00:50:48 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_DISPOSITIONCONTROL_H__B18EC6D6_B30C_4A24_B747_D0EBBC6F71F2__INCLUDED_)
+#define AFX_DISPOSITIONCONTROL_H__B18EC6D6_B30C_4A24_B747_D0EBBC6F71F2__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+namespace sf {
+ namespace application {
+ namespace scene {
+ class DispositionEditor;
+ };
+
+ namespace disposition {
+
+ // \94z\92u\83R\83}\83\93\83h\83I\83u\83W\83F\83N\83g
+ namespace command {
+ // ----------------------------------------------------
+ // \83R\83}\83\93\83h\83f\81[\83^\82Ì\88Ó\96¡\81i\83t\83@\83C\83\8b\82É\95Û\91¶\82³\82ê\82Ä\82¢\82é\8e\9e\81j
+ // position float Y\88Ê\92u
+ // command string \83R\83}\83\93\83h\96¼
+ // parameter ... \83p\83\89\83\81\81[\83^\97ñ(\8ae\83R\83}\83\93\83h\82²\82Æ\82É\92·\82³\82Í\88Ù\82È\82é\81j
+ // ----------------------------------------------------
+
+ const int MAX = 5;// \83R\83}\83\93\83h\82Ì\8dÅ\91å\90\94
+ enum TYPE {
+ RESET = 0,
+ SET_SCROLLSPEED = 1,
+ SET_RESTARTPOSITION = 2,
+ SET_ENEMY = 3,
+ SET_ARMY = 4
+ };
+
+ // --- \83R\83\93\83e\83i\8eû\94[\97p\83C\83\93\83^\81[\83t\83F\81[\83X --- //
+
+ class Interface :
+ public sf::system::input::keyboard::Listener
+ ,public sf::system::input::mouse::Listener
+ {
+
+ // LIFECYCLE //
+
+ public:
+ Interface(){;};
+ virtual ~Interface(){;};
+
+ // OPERATORS //
+
+ // \83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\8dl\82¦\95û\82©\82ç\82·\82ê\82Î\82±\82ê\82Í\94½\91¥\8ds\88×\81I
+ // \91ã\93ü\89\89\8eZ\8eq\82Ívirtual\82É\82Å\82«\82È\82¢\82Ì\82Å\81D\81D\81D
+ Interface &operator=( Interface &rSrc )
+ {
+ return copy(rSrc);
+ };
+
+
+ // OPERATIONS //
+
+ virtual void exec(const float position) = 0;
+ // \83X\83g\83\8a\81[\83\80\82©\82ç\82Ì\83\8d\81[\83h
+ virtual void load(std::istream &is) = 0;
+ // \83X\83g\83\8a\81[\83\80\82©\82ç\82Ì\83Z\81[\83u
+ virtual void save(std::ostream &os) = 0;
+
+ // \94z\92u\83G\83f\83B\83^\8fî\95ñ\95`\89æ
+ virtual void draw(sf::application::scene::DispositionEditor * const pEditor
+ ,const float position,const bool bMouse) = 0;
+
+ // ACCESS //
+
+ // \83R\83}\83\93\83h\82Ì\8c^\82ð\95Ô\82·
+ virtual const TYPE id(void) const = 0;
+ // Game\83V\81[\83\93\82Ö\82Ì\83|\83C\83\93\83^
+ virtual sf::application::scene::Game * const game(void) const = 0;
+ virtual void game(sf::application::scene::Game * const pGame) = 0;
+ // \83R\83}\83\93\83h\82Ì\83V\83\8a\83A\83\8b\94Ô\8d\86(\8c»\8dÝ\82Í\96¢\8eg\97p)
+ virtual void serialNo(const int value) = 0;
+ virtual const int serialNo(void) const = 0;
+ // \94z\92u\83}\83b\83v\95\\8e¦\97p\83X\83v\83\89\83C\83g\82Ö\82Ì\83|\83C\83\93\83^
+ virtual sf::system::console::sprite::Sprite * const sprite (void) const = 0;
+ // \94z\92u\83G\83f\83B\83^\97p
+ virtual const int max(void) const = 0;
+ virtual void load(void) = 0;
+ virtual Interface& copy(Interface &rSrc) = 0;
+
+ };// Interface
+
+ // --- \92\8a\8fÛ\83N\83\89\83X \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+
+ class Abstract : public Interface {
+
+ // LIFECYCLE //
+
+ public:
+ Abstract()
+ { mSerialNo = 0;
+ mpGame = NULL;
+ };
+
+ ~Abstract(){;};
+
+ // OPERATORS //
+
+
+ // OPERATIONS //
+
+ virtual void draw(sf::application::scene::DispositionEditor * const pEditor
+ ,const float position
+ ,const bool bMouse);
+
+ // \83}\83E\83X\81E\83L\81[\83{\81[\83h\83\8a\83X\83i
+ // \83}\83E\83X\83\8a\83X\83i\81[
+ void leftButtonDown(const int screenX,const int screenY,const DWORD mkey){;};
+ void leftButtonUp(const int screenX,const int screenY,const DWORD mkey){;};
+ void leftButtonDoubleClick(const int screenX,const int screenY,const DWORD mkey){;};
+ void rightButtonDown(const int screenX,const int screenY,const DWORD mkey){;};
+ void rightButtonUp(const int screenX,const int screenY,const DWORD mkey){;};
+ void rightButtonDoubleClick(const int screenX,const int screenY,const DWORD mkey){;};
+ virtual void mouseMove(const int screenX,const int screenY,const DWORD mkey){;};
+ void mouseWheel(const int screenX,const int screenY,const DWORD mkey){;};
+ void mouseTalkerIsDeleted(void){;};
+
+ void keyDown(const DWORD keyCode,const DWORD extKeyCode){};
+ void keyUp(const DWORD keyCode,const DWORD extKeyCode){};
+ void keyboardTalkerIsDeleted(void){;};
+
+ // \83R\83}\83\93\83h\82Ì\83R\83s\81[\82ð\82Æ\82é //
+ Interface ©(Interface &rSrc)
+ {
+// position(rSrc.position());
+ game(rSrc.game());
+ return (*this);
+ };
+
+ // ACCESS //
+
+ // \83V\83\8a\83A\83\8b\94Ô\8d\86 //
+ void serialNo(const int value){ mSerialNo = value;};
+ const int serialNo(void) const {return mSerialNo;};
+ // \83Q\81[\83\80\83V\81[\83\93\82Ö\82Ì\83|\83C\83\93\83^
+ sf::application::scene::Game * const game(void) const { return mpGame;};
+ void game(sf::application::scene::Game * const pGame){mpGame = pGame;};
+
+ const int max(void) const { return 1;};
+
+ sf::system::console::sprite::Sprite * const sprite(void) const {return NULL;};
+
+ // INQUIRY //
+
+ const bool isListeningMouse(void) const {return false;};
+ const bool isListeningKeyboard(void) const {return false;};
+
+ private:
+ sf::application::scene::Game * mpGame;
+ int mSerialNo;
+ };// Abstract
+
+ // \83\8a\83Z\83b\83g\83R\83}\83\93\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ class Reset : public Abstract {
+
+ // LIFECYCLE //
+
+ public:
+ Reset(){;};
+ virtual ~Reset(){;};
+
+ // OPERATORS //
+
+
+ // OPERATIONS //
+
+ void exec(const float position){;};
+
+ void load(std::istream &is){;};
+ void save(std::ostream &os){;};
+ void load(void){;};
+ // \83I\83u\8e\9e\83W\83F\83N\83g\82Ì\90¶\90¬
+ static Interface * const create(void) { return new Reset;};
+
+ // ACCESS //
+
+ const TYPE id(void) const {return RESET;};
+ };// Reset
+
+ // \83X\83N\83\8d\81[\83\8b\83X\83s\81[\83h \82Ì\90Ý\92è \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ class SetScrollSpeed : public Abstract {
+
+ // LIFECYCLE //
+
+ public:
+ SetScrollSpeed(){mSpeed = 0;};
+ virtual ~SetScrollSpeed(){unloadResource();};
+
+ // OPERATORS //
+
+
+ // OPERATIONS //
+
+ void exec(const float position){ game()->scrollSpeed(mSpeed);};
+
+ const TYPE id(void) const {return SET_SCROLLSPEED;};
+
+ void load(std::istream &is){ is >> mSpeed; };
+ void save(std::ostream &os){ os << " " << mSpeed;};
+
+ static void loadResource(void);
+ static void unloadResource(void);
+
+ void load(void){loadResource();};
+
+ static Interface * const create(void) { return new SetScrollSpeed;};
+
+ // \83R\83}\83\93\83h\82Ì\83R\83s\81[\82ð\82Æ\82é //
+ Interface ©(Interface &rSrc)
+ {
+ SetScrollSpeed &tmp = dynamic_cast<SetScrollSpeed &>(rSrc);
+ speed(tmp.speed());
+ game(tmp.game());
+ return (*this);
+ };
+
+ // ACCESS //
+
+ const float speed(void) const {return mSpeed;};
+ void speed(const float value){mSpeed = value;};
+
+ sf::system::console::sprite::Sprite * const sprite(void) const {return mspSprite.get();};
+ private:
+
+ float mSpeed;
+
+ static sf::system::console::sprite::PSprite mspSprite;
+ static const sf::system::console::sprite::Info msSpriteInfo;
+ static int msRefCount;
+ };// SetScrollSpeed
+
+ // -- \83\8a\83X\83^\81[\83g\88Ê\92u\82Ì\90Ý\92è \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ class SetRestartPosition : public Abstract {
+
+ // LIFECYCLE //
+
+ public:
+ SetRestartPosition(){;};
+ virtual ~SetRestartPosition(){;};
+
+ // OPERATORS //
+
+
+ // OPERATIONS //
+
+ // \83R\83}\83\93\83h\82Ì\8eÀ\8ds
+ void exec(const float position)
+ { game()->restartPosition(position);
+ };
+
+ // \83R\83}\83\93\83h\82Ì\83R\83s\81[\82ð\82Æ\82é
+ Interface ©(Interface &rSrc)
+ {
+ SetRestartPosition &tmp = dynamic_cast<SetRestartPosition &>(rSrc);
+ game(tmp.game());
+ return (*this);
+ };
+
+
+
+ void load(std::istream &is){;};
+ void save(std::ostream &os){;};
+
+ void load(void){loadResource();};
+
+ static void loadResource(void);
+ static void unloadResource(void);
+
+ static Interface * const create(void) { return new SetRestartPosition;};
+
+ // ACCESS //
+
+ const TYPE id(void) const {return SET_RESTARTPOSITION;};
+
+ sf::system::console::sprite::Sprite * const sprite(void){return mspSprite.get();};
+ private:
+ static sf::system::console::sprite::PSprite mspSprite;
+ static const sf::system::console::sprite::Info msSpriteInfo;
+ };// SetRestartPosition
+
+ // \93G\82ð\94z\92u\82·\82é //////////////////////////////////////////////////
+ // \83p\83\89\83\81\81[\83^
+ // int ... \93ï\88Õ\93x
+ // int ... \93G\82h\82c
+ // float ... \8fo\8c»\88Ê\92u\82w
+ // float ... \8fo\8c»\88Ê\92u\82x
+
+ // \8bó\92\86\93G\82Ì\94z\92u\83R\83}\83\93\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ class SetEnemy : public Abstract {
+
+ // LIFECYCLE //
+
+ public:
+ SetEnemy();
+ virtual ~SetEnemy();
+
+ // OPERATORS //
+
+
+ // OPERATIONS //
+
+ // \83R\83}\83\93\83h\82Ì\83R\83s\81[\82ð\82Æ\82é
+ Interface ©(Interface &rSrc)
+ {
+ SetEnemy &tmp = dynamic_cast<SetEnemy &>(rSrc);
+ game(tmp.game());
+ x(tmp.x());
+ y(tmp.y());
+ z(tmp.z());
+ enemyNo(tmp.enemyNo());
+ difficulty(tmp.difficulty());
+ return (*this);
+ };
+
+ void exec(const float position);
+ // \83X\83g\83\8a\81[\83\80\82æ\82è\83f\81[\83^\83\8d\81[\83h
+ void load(std::istream &is);
+ // \83X\83g\83\8a\81[\83\80\82Ö\83f\81[\83^\83Z\81[\83u
+ void save(std::ostream &os);
+ // \83\8a\83\\81[\83X\82Ì\83\8d\81[\83h
+ void load(void){loadResource();};
+ static void loadResource(void);
+ // \83\8a\83\\81[\83X\82Ì\83A\83\93\83\8d\81[\83h
+ static void unloadResource(void);
+ // \94z\92u\83f\81[\83^\82Ö\95`\89æ
+ void draw(sf::application::scene::DispositionEditor * const pEditor,const float position,const bool bMouse);
+ // \83I\83u\83W\83F\83N\83g\82Ì\90¶\90¬
+ static Interface * const create(void) { return new SetEnemy;};
+ // \83}\83E\83X\88Ú\93®\8e\9e\82Ì\8f\88\97\9d
+ void mouseMove(const int screenX,const int screenY,const DWORD mkey)
+ {
+ x((float)screenX - game()->background()->startOffsetX());
+ y((float)screenY - game()->background()->startOffsetY());
+ z(sf::application::enemy::Z_OFFSET_ENEMYS);
+ };
+ // \83L\81[\89\9f\89º\8e\9e\82Ì\8f\88\97\9d
+ void keyDown(const DWORD keyCode,const DWORD extKeyCode);
+
+ // ACCESS //
+
+ // \94z\92u\83f\81[\83^\88Ê\92u\81@X
+ const float x() const {return mX;};
+ void x(const float value){mX = value;};
+ // \94z\92u\83f\81[\83^\88Ê\92u\81@Y
+ const float y() const {return mY;};
+ void y(const float value){mY = value;};
+ // \94z\92u\83f\81[\83^\88Ê\92u\81@Z
+ const float z() const {return mZ;};
+ void z(const float value){mZ = value;};
+ // \93G\82Ì\8eí\97Þ
+ const int enemyNo() const {return mEnemyNo;};
+ void enemyNo(const int value){mEnemyNo = value;};
+ // \93ï\88Õ\93x
+ const sf::application::scene::Game::DIFFICULTY difficulty() const {return mDifficulty;};
+ void difficulty(const sf::application::scene::Game::DIFFICULTY value){mDifficulty = value;};
+ // \93G\82Ì\8dÅ\91å
+ const int max(void) const;
+ // \83R\83}\83\93\83h\82Ì\8eí\97Þ
+ const TYPE id(void) const {return SET_ENEMY;};
+
+ // INQUIRY //
+
+ const bool isListeningMouse(void) const {return true;};
+ const bool isListeningKeyboard(void) const {return true;};
+
+ private:
+
+ int mEnemyNo;
+ sf::application::scene::Game::DIFFICULTY mDifficulty;
+
+ float mX;
+ float mY;
+ float mZ;
+
+ static const sf::system::console::sprite::Info msSpriteInfos[sf::application::enemy::MAX_TYPE];
+ static sf::system::console::sprite::PSprite mspSprites[sf::application::enemy::MAX_TYPE];
+
+ };// SetEnemy
+
+ // \92n\8fã\93G\94z\92u\83R\83}\83\93\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ class SetArmy : public Abstract
+ {
+
+ // LIFECYCLE //
+
+ public:
+
+ SetArmy();
+ virtual ~SetArmy();
+
+ // OPERATORS //
+
+
+ // OPERATIONS //
+
+ // \83R\83}\83\93\83h\82Ì\83R\83s\81[\82ð\82Æ\82é
+ Interface ©(Interface &rSrc)
+ {
+ SetArmy &tmp = dynamic_cast<SetArmy &>(rSrc);
+ game(tmp.game());
+ x(tmp.x());
+ y(tmp.y());
+ z(tmp.z());
+ enemyNo(tmp.enemyNo());
+ difficulty(tmp.difficulty());
+ return (*this);
+ };
+
+ // \83R\83}\83\93\83h\82Ì\8eÀ\8ds
+ void exec(const float position);
+ // \83X\83g\83\8a\81[\83\80\82æ\82è\83R\83}\83\93\83h\82Ì\83\8d\81[\83h
+ void load(std::istream &is);
+ // \83X\83g\83\8a\81[\83\80\82Ö\83R\83}\83\93\83h\82ð\83Z\81[\83u
+ void save(std::ostream &os);
+ // \83\8a\83\\81[\83X\82Ì\83\8d\81[\83h
+ void load(void){loadResource();};
+ static void loadResource(void);
+ // \83\8a\83\\81[\83X\82Ì\83A\83\93\83\8d\81[\83h
+ static void unloadResource(void);
+ // \94z\92u\83}\83b\83v\82É\95`\89æ
+ void draw(sf::application::scene::DispositionEditor * const pEditor,const float position,const bool bMouse);
+ // \83I\83u\83W\83F\83N\83g\82Ì\90¶\90¬
+ static Interface * const create(void) { return new SetArmy;};
+ // \83L\81[\83R\81[\83h\89\9f\89º\8e\9e\82Ì\8f\88\97\9d
+ void keyDown(const DWORD keyCode,const DWORD extKeyCode);
+
+ // ACCESS //
+
+ // \8fo\8c»\88Ê\92u X
+ const float x() const {return mX;};
+ void x(const float value){mX = value;};
+ // \8fo\8c»\88Ê\92u Y
+ const float y() const {return mY;};
+ void y(const float value){mY = value;};
+ // \8fo\8c»\88Ê\92u Z
+ const float z() const {return mZ;};
+ void z(const float value){mZ = value;};
+ // \93G\82Ì\8eí\97Þ
+ const int enemyNo() const {return mEnemyNo;};
+ void enemyNo(const int value){mEnemyNo = value;};
+ // \93ï\88Õ\93x
+ const sf::application::scene::Game::DIFFICULTY difficulty() const {return mDifficulty;};
+ void difficulty(const sf::application::scene::Game::DIFFICULTY value){mDifficulty = value;};
+ // \93G\82Ì\8eí\97Þ\8dÅ\91å
+ const int max(void) const ;
+ // \83I\83u\83W\83F\83N\83g\82Ì\83^\83C\83v\82ð\95Ô\82·
+ const TYPE id(void) const {return SET_ARMY;};
+
+ // INQUIRY //
+
+ const bool isListeningMouse(void) const {return true;};
+ const bool isListeningKeyboard(void) const {return true;};
+
+ private:
+ // \93G\94Ô\8d\86
+ int mEnemyNo;
+ // \93ï\88Õ\93x
+ sf::application::scene::Game::DIFFICULTY mDifficulty;
+
+ float mX;// \8fo\8c»X\8dÀ\95W
+ float mY;// \8fo\8c»Y\8dÀ\95W
+ float mZ;// \8fo\8c»Z\8dÀ\95W
+
+ static const sf::system::console::sprite::Info msSpriteInfos[sf::application::enemy::MAX_ARMYS_TYPE];
+ static sf::system::console::sprite::PSprite mspSprites[sf::application::enemy::MAX_ARMYS_TYPE];
+
+ };// SetArmy
+
+ }// command
+
+ // \83R\83}\83\93\83h\90§\8cä \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ class ControllerImpl : public Controller
+ {
+ public:
+
+ // LIFECYCLE
+
+ ControllerImpl();
+ ~ControllerImpl();
+
+ // OPERATIONS
+
+ // \94z\92u\83f\81[\83^\82ð\94j\8aü\82·\82é
+ void unload(void);
+ // \94z\92u\83f\81[\83^\83t\83@\83C\83\8b\82Ì\83\8d\81[\83h
+ void load(const char * const pFileName);
+ // \94z\92u\83f\81[\83^\83t\83@\83C\83\8b\82Ì\83Z\81[\83u
+ void save(const char * const pFileName = NULL);
+ // \94z\92u\83f\81[\83^\82ð\8eÀ\8ds
+ void exec(const float position);
+ // \8ew\92è\82µ\82½\88Ê\92u\82É\83C\83e\83\8c\81[\83^\82ð\88Ú\93®
+ void restart(const float position);
+
+ void insertCommand(const float position,command::Interface * const pInterface)
+ {
+ typedef std::pair<float,command::Interface * > value_type;
+ pInterface->serialNo(mSerialNo++);
+ mData.insert(value_type(position,pInterface));
+ };// insertCommand()
+ // \83V\83\8a\83A\83\8bNo\82Å\94z\92u\83f\81[\83^\82ð\8dí\8f\9c
+ void deleteCommand(const int serialNo){
+ CommandList::iterator it = mData.begin();
+ while(it != mData.end()){
+ if(it->second->serialNo() == serialNo){
+ mData.erase(it);
+ break;
+ }
+ it++;
+ }
+ };// deleteCommand()
+
+ // \94z\92u\83}\83b\83v\82Ì\88Ê\92u\82Å\93G\82ð\8dí\8f\9c
+ void deleteCommand(const float x,const float y,const float position,const command::TYPE type);
+ // \83R\83}\83\93\83h\83I\83u\83W\83F\83N\83g\82Ì\90¶\90¬
+ static command::Interface * const create(const command::TYPE type){return (*mpCreateFunc[type])();};
+
+ // ACCESS //
+
+ // Game\83I\83u\83W\83F\83N\83g\82Ö\82Ì\83|\83C\83\93\83^
+ sf::application::scene::Game * game(void){ return mpGame;};
+ void game(sf::application::scene::Game *pGame){mpGame = pGame;};
+
+ CommandList& commandList(void){return mData;};
+
+ static const int commandMax(void) {return command::MAX;};
+
+ private:
+// command::Interface * create(command::TYPE command_id);
+ const int findCommand(const std::string &s);
+
+ CommandList mData;
+ CommandList::iterator mDataIter;
+ std::string mFileName;
+ sf::application::scene::Game * mpGame;
+ int mSerialNo;
+ // command parse\97p string table
+ static const std::string mCommand[command::MAX];
+ static const CreateFuncPtr mpCreateFunc[command::MAX];
+
+ };// ControllerImpl()
+
+}
+}
+}
+
+#endif // !defined(AFX_DISPOSITIONCONTROL_H__B18EC6D6_B30C_4A24_B747_D0EBBC6F71F2__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// EA01.cpp: EA01 \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// \97\9a\97ð\81F
+// $Log: EA01.cpp,v $
+// Revision 1.1 2001/10/28 21:40:35 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.5 2001/07/09 20:30:08 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.4 2001/07/01 21:30:33 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.3 2001/07/01 01:03:43 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.2 2001/06/10 21:18:15 fujiwara
+// \92n\8fã\97p\92Ç\89Á
+//
+// Revision 1.1 2001/06/03 09:21:49 fujiwara
+// \92n\8fã\93G\83N\83\89\83X\82Ì\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+// System Includes //
+
+#include <string>
+#include <vector>
+#include <memory>
+#include <stack>
+#include <list>
+#include <iostream>
+#include <fstream>
+#include <map>
+#include "stdio.h"
+#include "math.h"
+
+// Project Includes //
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "exception.h"
+#include "singleton.h"
+#include "system.h"
+#include "console.h"
+#include "input.h"
+#include "sound.h"
+
+#include "Obj.h"
+#include "Obj2D.h"
+#include "Obj3D.h"
+#include "Obj3DL.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+
+#include "Background.h"
+#include "Scene.h"
+#include "main.h"
+
+#include "character.h"
+#include "Hit.h"
+#include "MyShip.h"
+#include "Game.h"
+#include "Enemys.h"
+#include "Armys.h"
+#include "EnemyBullets.h"
+#include "DispositionControl.h"
+#include "Effects.h"
+#include "Explosion.h"
+#include "EA01.h"
+#include "EB01.h"
+
+using namespace sf::application;
+using namespace sf::application::enemy;
+
+sf::system::console::sprite::PSprite EA01::mspSprite[2];
+
+
+const sf::system::console::sprite::Info EA01::msSpriteInfo[2] =
+{
+ {"media\\ea01.png",0.0f,0.0f,64.0f,64.0f,0xff000000,console::sprite::SPRITE2D},
+ {"media\\ea01foot.tga",0.0f,0.0f,64.0f,64.0f,0xff000000,console::sprite::SPRITE2D}
+};
+
+const int EA01::SCORE = 20;
+const float LIGHT_OFFSET_Y = -14.0f;
+
+// \83R\83\93\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+EA01::EA01()
+{
+}// EA01()
+
+// \83f\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+EA01::~EA01()
+{
+ Armys::instance()->clear(index());
+}// ~EA01()
+
+
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void EA01::initialize()
+{
+ // \93\96\82è\94»\92è
+ mHitRect.offsetTop(-24.0f);
+ mHitRect.offsetBottom(24.0f);
+ mHitRect.offsetLeft(-24.0f);
+ mHitRect.offsetRight(24.0f);
+
+ mHitRect.isChecking(true);
+ mHitRect.characterPtr(this);
+
+ direction((float)atan2((double)(game()->player()->y() - y()),(double)(game()->player()->x() - x())));
+
+ if(direction() < 0.0f)
+ direction(2.0f * sf::system::PI + direction());
+
+ speed(0.0f);
+
+ mDeltaTime = sf::system::instance()->deltaTime();
+ mDeltaTimeRev = 1.0f / mDeltaTime;
+
+ if(!mspSprite[0].get())
+ load();
+
+ mObj.index(0);
+ mObj.sprite(mspSprite[0].get());
+
+ mObj.z(Z_OFFSET_ARMYS + index() * Z_OFFSET_INDEX);
+ mObj.x(x());
+ mObj.y(y());
+
+ mObj.visibility(true);
+ mObj.color(0xffffffff);
+ mObj.drawMode(sf::system::console::DRAW_TRANS);
+ mObj.angle(direction());
+
+ mObjFoot.index(0);
+ mObjFoot.sprite(mspSprite[1].get());
+
+ mObjFoot.z(Z_OFFSET_ARMYS + index() * Z_OFFSET_INDEX + Z_OFFSET_ASSEMBLE);
+ mObjFoot.x(x());
+ mObjFoot.y(y());
+
+ mObjFoot.visibility(true);
+ mObjFoot.color(0xffffffff);
+ mObjFoot.drawMode(sf::system::console::DRAW_TRANS);
+
+ mbHit = false;
+ mDirCount = (rand() & 3) + 3;
+ mDirSpeed = (direction() > 0.0f) ? 0.04f * mDeltaTime : -0.04f * mDeltaTime;
+ mState = MOVE;
+
+ mShootTimer = (80.0f - game()->currentDifficulty() * 15.0f) * mDeltaTimeRev;
+ mShootCount = game()->currentDifficulty() + 2.0f;
+
+ mObjLight.x(x() + cosf(direction()) * LIGHT_OFFSET_Y );
+ mObjLight.y(y() + sinf(direction()) * LIGHT_OFFSET_Y );
+
+
+ mObjLight.z(z() - Z_OFFSET_ASSEMBLE);
+ initLight();
+}// initialize()
+
+// \83e\83N\83X\83`\83\83\82Ì\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void EA01::load(void){
+ using namespace sf::system::console::sprite;
+ if(!mspSprite[0].get()){
+ PSprite ptemp(sf::system::instance()->console()->createSprite(&msSpriteInfo[0]));
+ mspSprite[0] = ptemp;
+
+#ifdef _BORLAND
+ ptemp.reset(sf::system::instance()->console()->createSprite(&msSpriteInfo[1]));
+#else
+ ptemp = PSprite(sf::system::instance()->console()->createSprite(&msSpriteInfo[1]));
+#endif
+ mspSprite[1] = ptemp;
+
+// PSprite ptemp1(sf::system::instance()->console()->createSprite(&msSpriteInfo[1]));
+// if(ptemp1.get() == NULL)
+// return false;
+// mspSprite[1] = ptemp1;
+
+ }
+ Bullets::instance()->load(Bullets::EB01);
+ AbstractEnemy::loadLight();
+}// load()
+
+// \83e\83N\83X\83`\83\83\82Ì\83A\83\93\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void EA01::unload(void){
+ using namespace sf::system::console::sprite;
+ PSprite ptmp(NULL);
+ mspSprite[0] = ptmp;
+ mspSprite[1] = ptmp;
+
+}// unload()
+
+// \93G\82Ì\93®\8dì \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void EA01::move()
+{
+ using namespace sf::application;
+
+ float dir,tmpx,tmpy;
+
+ y(y() + game()->scrollSpeed());
+
+ mObj.y(y());
+ mObjFoot.y(y());
+
+ switch(mState){
+ case MOVE:
+ //
+ dir = fabs(mDirBackup - direction());
+
+ if(dir > sf::system::PI)
+ dir = 2.0f * sf::system::PI - dir;
+
+ if(dir > 0.08f)
+ {
+ direction(direction() + mDirSpeed);
+
+ if(direction() < 0.0f)
+ direction(2.0f * sf::system::PI + direction());
+
+ if(direction() > 2.0f * sf::system::PI)
+ direction(direction() - 2.0f * sf::system::PI);
+
+ dir = direction() - mDirBackup;
+
+ if(dir < 0.0f) dir = dir + 2.0f * sf::system::PI;
+
+ if(dir > sf::system::PI)
+ mDirSpeed = 0.04f;
+ else
+ mDirSpeed = -0.04f;
+
+ mObj.angle(direction());
+
+ }
+
+ if(!mDirCount--){
+ mDirCount = 30.0f * mDeltaTimeRev;
+ mDirBackup = Util::calcDirection(x(),y(),game()->player()->x(),game()->player()->y());
+ if(mDirBackup < 0.0f)
+ mDirBackup = 2.0f * sf::system::PI + mDirBackup;
+
+ dir = direction() - mDirBackup;
+ if(dir < 0.0f) dir = dir + 2.0f * sf::system::PI;
+
+ if(dir > sf::system::PI)
+ mDirSpeed = -0.04f * mDeltaTime;
+ else
+ mDirSpeed = 0.04f * mDeltaTime;
+
+ }
+
+ if(mShootCount){
+ if(!(mShootTimer--) ){
+ mState = SHOOT;
+ mShootCount--;
+ mShootTimer = 80.0f * mDeltaTimeRev;
+ mAnimTimer = (int)(2.0f * mDeltaTimeRev);
+ mAnimSpeed = 1;
+ }
+ }
+
+ if(mbHit)
+ {
+ die();
+ return;
+ }
+
+ mObjLight.x(x() + cosf(direction()) * LIGHT_OFFSET_Y );
+ mObjLight.y(y() + sinf(direction()) * LIGHT_OFFSET_Y );
+ moveLight();
+
+ break;
+
+ case SHOOT:
+ if(!mAnimTimer--){
+ if(mAnimSpeed == 1){
+ if(mObj.index() == 3)
+ {
+ tmpx = x() + cosf(direction()) * 6.0f;
+ tmpy = y() + sinf(direction()) * 6.0f;
+
+ EB01 *peb = (EB01 *)Bullets::instance()->create(Bullets::EB01,tmpx,tmpy,z() - 0.01f,game());
+ peb->direction(direction());
+ mAnimSpeed = -1;
+ mAnimTimer = (int)(2.0f * mDeltaTimeRev);
+ } else {
+ mObj.index(mObj.index() + mAnimSpeed);
+ mAnimTimer = (int)(2.0f * mDeltaTimeRev);
+ }
+ } else {
+ if(mObj.index() == 0){
+ mState = MOVE;
+ } else {
+ mObj.index(mObj.index() + mAnimSpeed);
+ mAnimTimer = (int)(2.0f * mDeltaTimeRev);
+ }
+ }
+ };
+
+ mObjLight.x(x() + cosf(direction()) * LIGHT_OFFSET_Y );
+ mObjLight.y(y() + sinf(direction()) * LIGHT_OFFSET_Y );
+
+ moveLight();
+ if(mbHit)
+ {
+ die();
+ return;
+ }
+
+ break;
+ case DEAD:
+ if(!mDirCount){
+ mObjLight.visibility(false);
+ mObj.visibility(false);
+ return;
+ } else {
+ mDirCount--;
+ }
+
+ break;
+
+ }
+
+ if( y() < -64.0f || y() > (sf::system::console::viewport::HEIGHT + 32.0f))
+ delete this;
+}//move()
+
+
+
+// \92e\82É\82 \82½\82Á\82½\82Æ\82«\82Ì\8f\88\97\9d \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void EA01::hit(Character * const pDest)
+{
+ if(pDest->life()){
+ mHitRect.isChecking(false);
+ mbHit = true;
+ }
+};
+
+// \93G\82Ì\90¶\90¬ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+sf::application::Character * const EA01::create(float x,float y ,float z,sf::application::scene::Game * const pGame,int index)
+{
+ EA01 * ptemp = new EA01;
+ ptemp->x(x);
+ ptemp->y(y);
+ ptemp->z(Z_OFFSET_ARMYS);
+ ptemp->index(index);
+ ptemp->game(pGame);
+ ptemp->initialize();
+ return ptemp;
+;}// create
+
+//\81@\8e\80\82ñ\82¾\82Æ\82«\82Ì\8f\88\97\9d \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void EA01::die(void)
+{
+
+ direction(3.0f * sf::system::PI / 2.0f );
+ speed( - game()->scrollSpeed());
+
+ effect::Explosion *pExp = (effect::Explosion*)effect::Effects::instance()->create(effect::Effects::EXPLOSION,x(),y(),0.5f,game(),this);
+ if(pExp){
+ pExp->scaling(1.0f);
+ }
+ mDirCount = 2;
+ mState = DEAD;
+ game()->score(game()->score() + SCORE);
+
+};// die()
+
+// \91S\94\9a\94\83C\83x\83\93\83g \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void EA01::allBomb(void)
+{
+ die();
+}// allBomb()
\ No newline at end of file
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// EA01.h: EA01 \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \97\9a\97ð\81F
+// $Log: EA01.h,v $
+// Revision 1.1 2001/10/28 21:40:35 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.3 2001/07/09 20:30:08 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.2 2001/07/01 01:03:43 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.1 2001/06/03 09:21:49 fujiwara
+// \92n\8fã\93G\83N\83\89\83X\82Ì\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_EA01_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_)
+#define AFX_EA01_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "AbstractEnemy.h"
+namespace sf {
+ namespace application {
+ namespace enemy {
+
+class EA01 : public AbstractEnemy
+{
+public:
+ // LIFECYCLE //
+ EA01();
+ virtual ~EA01();
+ // OPERATIONS //
+ void initialize();
+ // \83L\83\83\83\89\83N\83^\81[\88Ú\93®
+ void move(void);
+ void hit(Character * const pDest);
+ void allBomb(void);
+ // \83e\83N\83X\83`\83\83\82È\82Ç\82Ì\83\8d\81[\83h
+ static void load(void);
+ static void unload(void);
+ static Character * const create(float x,float y ,float z,sf::application::scene::Game * const pGame,int index);
+ // ACCESS //
+ sf::application::hit::Interface * const hitObj(void){return &mHitRect;};
+private:
+ enum State {
+ MOVE,
+ SHOOT,
+ DEAD
+ } mState;
+
+ void die(void);
+
+ int mDirCount;
+ float mDirSpeed;
+ sf::application::hit::HitRect mHitRect;
+ sf::system::console::ObjRectangle mObj;
+ sf::system::console::ObjRectangle mObjFoot;
+
+ static sf::system::console::sprite::PSprite mspSprite[2];
+ static const sf::system::console::sprite::Info msSpriteInfo[2];
+
+ static const int SCORE;
+
+ bool mbHit;
+ int mShootCount;
+ int mShootTimer;
+ float mDeltaTime;
+ float mDeltaTimeRev;
+ float mSpeed;
+ float mDirBackup;
+ int mAnimTimer;
+ int mAnimSpeed;
+
+};
+ }
+ }
+}
+
+#endif // !defined(AFX_EA01_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// EB01.cpp: EB01 \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// \97\9a\97ð\81F
+// $Log: EB01.cpp,v $
+// Revision 1.1 2001/10/28 21:40:35 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.7 2001/07/09 20:30:08 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.6 2001/07/01 21:30:33 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.5 2001/07/01 01:03:43 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.4 2001/05/29 01:12:55 fujiwara
+// \8eG\8b\9b\83L\83\83\83\89(\94ò\8ds\95¨\81j\82Ì\8dì\90¬\81B\94z\92u\83G\83f\83B\83^\82Ì\83o\83O\8fC\90³
+//
+// Revision 1.3 2001/05/17 12:34:10 fujiwara
+// \92n\8fã\93G\83T\83\93\83v\83\8b\8dì\90¬
+//
+// Revision 1.2 2001/05/13 20:04:23 fujiwara
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\82ª\94\90¶\82µ\82½\82Ì\82Å\8eæ\82è\8f\9c\82\81B
+// \8e©\92e\82Ì\83T\83E\83\93\83h\83e\83X\83g
+//
+// Revision 1.1 2001/05/12 22:26:16 fujiwara
+// \93G\92e\83N\83\89\83X\90V\8bK\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+// System Includes //
+
+#include <string>
+#include <vector>
+#include <memory>
+#include <stack>
+#include <list>
+#include <iostream>
+#include <fstream>
+#include <map>
+#include "stdio.h"
+#include "math.h"
+
+// Project Includes //
+
+#include "exception.h"
+#include "singleton.h"
+#include "system.h"
+#include "console.h"
+#include "input.h"
+#include "sound.h"
+
+#include "Obj.h"
+#include "Obj2D.h"
+#include "Obj3D.h"
+#include "Obj3DL.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+
+#include "Background.h"
+#include "Scene.h"
+#include "main.h"
+
+#include "character.h"
+#include "Hit.h"
+#include "MyShip.h"
+#include "Game.h"
+#include "Enemys.h"
+#include "Armys.h"
+#include "EnemyBullets.h"
+#include "DispositionControl.h"
+#include "Effects.h"
+#include "Explosion.h"
+#include "EB01.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+
+using namespace sf::application;
+using namespace sf::application::enemy;
+
+sf::system::console::sprite::PSprite EB01::mspSprite;
+
+const sf::system::console::sprite::Info EB01::msSpriteInfo =
+{
+ "media\\EB01.tga",0.0f,0.0f,0.0f,0.0f,0xff000000,console::sprite::SPRITE2D
+};
+
+const int EB01::SCORE = 20;
+int EB01::msSoundID = 0;
+
+// \83R\83\93\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+EB01::EB01()
+{
+
+}// EB01()
+
+// \83f\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+EB01::~EB01()
+{
+ Bullets::instance()->clear(index());
+}// ~EB01()
+
+
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void EB01::initialize()
+{
+ // \93\96\82è\94»\92è
+ mHitRect.offsetTop(-8.0f);
+ mHitRect.offsetBottom(8.0f);
+ mHitRect.offsetLeft(-8.0f);
+ mHitRect.offsetRight(8.0f);
+
+ mHitRect.isChecking(true);
+ mHitRect.characterPtr(this);
+ float dtime = sf::system::instance()->deltaTime();
+ speed(8.0f * dtime);
+
+ mObj.index(0);
+ mObj.sprite(mspSprite.get());
+
+ mObj.z(z());
+ mObj.x(x());
+ mObj.y(y());
+ mObj.visibility(true);
+ mObj.color(0xffffffff);
+ mObj.drawMode(sf::system::console::DRAW_ADD);
+
+ mbHit = false;
+ mDirCount = 18;
+ mDirSpeed = (rand() & 1) ? -0.2f * dtime : 0.2f * dtime;
+ mState = MOVE;
+ sf::system::instance()->sound()->play(msSoundID,1,false,false);
+}// initialize()
+
+// \83e\83N\83X\83`\83\83\82Ì\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void EB01::load(void){
+ using namespace sf::system::console::sprite;
+ if(!mspSprite.get()){
+ PSprite ptemp(sf::system::instance()->console()->createSprite(&msSpriteInfo));
+ mspSprite = ptemp;
+ }
+ // \83T\83E\83\93\83h\82Ì\83\8d\81[\83h
+ msSoundID = sf::system::instance()->sound()->load("EB01.WAV") ;
+}// load()
+
+// \83e\83N\83X\83`\83\83\82Ì\83A\83\93\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void EB01::unload(void){
+ using namespace sf::system::console::sprite;
+ PSprite ptmp(NULL);
+ mspSprite = ptmp;
+}// unload()
+
+// \93G\82Ì\93®\8dì \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void EB01::move()
+{
+
+ using namespace sf::system::console;
+
+ y(y() + mDy);
+ x(x() + mDx);
+
+ switch(mState){
+ case MOVE:
+
+ mObj.x(x());
+ mObj.y(y());
+
+ mObj.angle(mObj.angle() + mDirSpeed);
+
+ if(mObj.angle() > 2.0f * sf::system::PI)
+ mObj.angle(mObj.angle() - 2 * sf::system::PI);
+
+ if(mObj.angle() < 0.0f)
+ mObj.angle(2 * sf::system::PI - mObj.angle() );
+
+ if(mbHit)
+ {
+ die();
+ return;
+ }
+ break;
+ case DEAD:
+ delete this;
+ return;
+ }
+
+ if(Util::checkArea(x(),y(),mObj.sprite()))
+ delete this;
+
+}//move()
+
+
+
+// \8e©\8b@\82É\82 \82½\82Á\82½\82Æ\82«\82Ì\8f\88\97\9d \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void EB01::hit(Character * const pDest)
+{
+ mHitRect.isChecking(false);
+ mbHit = true;
+
+};
+
+// \93G\92e\82Ì\90¶\90¬ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+sf::application::Character * const EB01::create(float x,float y ,float z,sf::application::scene::Game * const pGame,int index)
+{
+ EB01 * ptemp = new EB01;
+ ptemp->x(x);
+ ptemp->y(y);
+ ptemp->z(z);
+ ptemp->index(index);
+ ptemp->game(pGame);
+ ptemp->initialize();
+ return ptemp;
+;}// create
+
+//\81@\8e\80\82ñ\82¾\82Æ\82«\82Ì\8f\88\97\9d \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void EB01::die(void)
+{
+ effect::Explosion *pExp = (effect::Explosion*)effect::Effects::instance()->create(effect::Effects::EXPLOSION,x(),y(),0.1f,game(),this);
+ if(pExp){
+ pExp->scaling(1.5f);
+ }
+ mDirCount = 2;
+ mState = DEAD;
+ game()->score(game()->score() + SCORE);
+
+};// die()
+
+// \91S\94\9a\94\83C\83x\83\93\83g \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void EB01::allBomb(void)
+{
+ die();
+}// allBomb()
+
+// \88Ú\93®\95û\8cü (\83\89\83W\83A\83\93\81j
+const float EB01::direction(void){return AbstractCharacter::direction();};
+void EB01::direction(const float value)
+{ AbstractCharacter::direction(value);
+ mDx = cosf(value) * speed();
+ mDy = sinf(value) * speed();
+ mObj.angle(value + sf::system::PI / 2.0f);
+};
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// EB01.h: EB01 \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \97\9a\97ð\81F
+// $Log: EB01.h,v $
+// Revision 1.1 2001/10/28 21:40:35 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.5 2001/07/09 20:30:08 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.4 2001/07/01 01:03:43 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.3 2001/05/17 12:34:10 fujiwara
+// \92n\8fã\93G\83T\83\93\83v\83\8b\8dì\90¬
+//
+// Revision 1.2 2001/05/13 20:04:23 fujiwara
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\82ª\94\90¶\82µ\82½\82Ì\82Å\8eæ\82è\8f\9c\82\81B
+// \8e©\92e\82Ì\83T\83E\83\93\83h\83e\83X\83g
+//
+// Revision 1.1 2001/05/12 22:26:16 fujiwara
+// \93G\92e\83N\83\89\83X\90V\8bK\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_EB01_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_)
+#define AFX_EB01_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "AbstractCharacter.h"
+namespace sf {
+ namespace application {
+ namespace enemy {
+
+class EB01 : public sf::application::AbstractCharacter,public Event
+{
+public:
+ // LIFECYCLE //
+ EB01();
+ virtual ~EB01();
+ // OPERATIONS //
+ void initialize(void);
+ // \83L\83\83\83\89\83N\83^\81[\88Ú\93®
+ void move(void);
+ void hit(Character * const pDest);
+ void allBomb(void);
+
+ // \83e\83N\83X\83`\83\83\82È\82Ç\82Ì\83\8d\81[\83h
+ static void load(void);
+ static void unload(void);
+
+
+ static Character * const create(float x,float y ,float z,sf::application::scene::Game * const pGame,int index);
+
+ // ACCESS //
+ // \88Ú\93®\95û\8cü (\83\89\83W\83A\83\93\81j
+ const float direction(void);
+ void direction(const float value);
+
+ sf::application::hit::Interface * const hitObj(void){return &mHitRect;};
+ static sf::system::console::sprite::Sprite * const pSprite(void){return mspSprite.get();};
+
+private:
+ enum State {
+ MOVE,
+ DEAD
+ } mState;
+
+ void die(void);
+
+ float mDx;
+ float mDy;
+ int mDirCount;
+ float mDirSpeed;
+ sf::application::hit::HitRect mHitRect;
+ sf::system::console::ObjRectangle mObj;
+ static sf::system::console::sprite::PSprite mspSprite;
+ static const sf::system::console::sprite::Info msSpriteInfo;
+ static const int SCORE;
+ bool mbHit;
+ static int msSoundID;
+ float mSpeed;
+};
+ }
+ }
+}
+
+#endif // !defined(AFX_EB01_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// Effects.cpp: Effects \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// \97\9a\97ð\81F
+// $Log: Effects.cpp,v $
+// Revision 1.1 2001/10/28 21:40:35 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.6 2001/07/09 20:30:08 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.5 2001/07/01 21:30:33 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.4 2001/05/13 20:04:23 fujiwara
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\82ª\94\90¶\82µ\82½\82Ì\82Å\8eæ\82è\8f\9c\82\81B
+// \8e©\92e\82Ì\83T\83E\83\93\83h\83e\83X\83g
+//
+// Revision 1.3 2001/05/12 08:17:25 fujiwara
+// \88ê\94Ê\95Û\8cì\88á\94½\82ª\8bN\82±\82éBUG\8fC\90³
+//
+// Revision 1.2 2001/05/12 00:50:48 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+#include <string>
+#include <vector>
+#include <memory>
+#include <stack>
+#include <list>
+#include <iostream>
+#include <fstream>
+#include <map>
+
+#include "stdio.h"
+#include "math.h"
+
+#include "exception.h"
+#include "singleton.h"
+#include "system.h"
+#include "console.h"
+#include "input.h"
+#include "sound.h"
+
+#include "Obj.h"
+#include "Obj2D.h"
+#include "Obj3D.h"
+#include "Obj3DL.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+
+#include "Background.h"
+#include "Scene.h"
+#include "main.h"
+
+#include "character.h"
+#include "Hit.h"
+#include "MyShip.h"
+#include "Game.h"
+#include "Effects.h"
+#include "explosion.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+using namespace sf::application::effect;
+using namespace sf::application;
+
+
+IMPLEMENT_SINGLETON(Effects,Effects)
+
+const Effects::LoaderFuncPtr Effects::mpLoaders[MAX_TYPE] =
+{ &Explosion::load
+};
+
+const int Effects::INIT_EFFECTS = 16;
+
+const Effects::CreateFuncPtr Effects::mpFunctions[MAX_TYPE] =
+{ &Explosion::create };
+
+// \83R\83\93\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+Effects::Effects()
+{
+ int i;
+ mCount = 0;
+ mMax = INIT_EFFECTS;
+
+ for(i = 0;i < MAX_EFFECTS;i++){
+ mpEffects[i] = NULL;
+ }
+
+}// Effects()
+
+// \83f\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+Effects::~Effects()
+{
+ int i;
+ for(i = 0;i < MAX_EFFECTS;i++)
+ {
+ if(mpEffects[i]){
+ delete mpEffects[i];
+ mpEffects[i] = NULL;
+ }
+ }
+}// ~Effects()
+
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Effects::initialize(){
+
+ int i;
+ for(i = 0;i < MAX_EFFECTS;i++)
+ {
+ if(mpEffects[i]){
+ delete mpEffects[i];
+ mpEffects[i] = NULL;
+ }
+ }
+
+ // \83r\83b\83g\83}\83b\83v\82Ì\83\8d\81[\83h
+ for(i = 0;i < MAX_TYPE;i++){
+ (*mpLoaders[i])();
+ }
+
+ mCount = 0;
+}// initialize()
+
+// \92e\82Ì\88Ú\93® \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Effects::move(void)
+{
+ int count = 0;
+ for(int i = 0;i < MAX_EFFECTS;i++)
+ {
+ if(mpEffects[i]){
+ mpEffects[i]->move();
+ }
+ }
+}// move()
+
+// \92e\82ð\90¶\90¬\82·\82é \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+Character * const Effects::create(const TYPE id,const float x,const float y,const float z,sf::application::scene::Game *pGame,sf::application::Character *pCharacter)
+{
+ if(id >= MAX_TYPE)
+ return NULL;
+
+ if(mCount >= mMax)
+ return NULL;
+
+ for(int i = 0 ; i < MAX_EFFECTS; i++){
+ if(mpEffects[i] == NULL){
+ mpEffects[i] = (*mpFunctions[id])(x,y,z,pGame,pCharacter,i);
+ mCount++;
+ return mpEffects[i];
+ }
+ }
+ return NULL;
+}// create()
+
+// \93\96\82è\94»\92è \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+const bool Effects::hitCheck(Character * const pDest){
+ bool return_ = false;
+
+ for(int i = 0;i < MAX_EFFECTS;i++){
+ if(mpEffects[i]){
+ if(mpEffects[i]->hitCheck(pDest)){
+ mpEffects[i]->hit(pDest);
+ pDest->hit(mpEffects[i]);
+ return_ = true;
+ };
+ }
+ }
+ return return_;
+}// hitCheck(Character * const pDest)
+
+const bool Effects::hitCheck(Characters * const pDest){
+ bool return_ = false;
+
+ for(int i = 0;i < MAX_EFFECTS;i++){
+ if(mpEffects[i]){
+ if(pDest->hitCheck(mpEffects[i]))
+ return_ = true;
+ }
+ }
+
+ return return_;
+}// hitCheck(Characters * const pDest)
\ No newline at end of file
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// Effects.h: Effects \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \97\9a\97ð\81F
+// $Log: Effects.h,v $
+// Revision 1.1 2001/10/28 21:40:35 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.4 2001/07/09 20:30:08 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.3 2001/05/13 20:04:23 fujiwara
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\82ª\94\90¶\82µ\82½\82Ì\82Å\8eæ\82è\8f\9c\82\81B
+// \8e©\92e\82Ì\83T\83E\83\93\83h\83e\83X\83g
+//
+// Revision 1.2 2001/05/12 00:50:48 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_EFFECTS_H__7CFEB852_73A7_4010_BD50_C93C56019091__INCLUDED_)
+#define AFX_EFFECTS_H__7CFEB852_73A7_4010_BD50_C93C56019091__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "character.h"
+namespace sf {
+ namespace application {
+ namespace effect {
+
+ const int MAX_TYPE = 1;
+ const int MAX_EFFECTS = 96;
+
+ class Effects : public Characters
+ {
+ DECLARE_SINGLETON(Effects)
+ Effects();
+ public:
+ ~Effects();
+ // Type \92è\8b` //
+ // \83I\83u\83W\83F\83N\83g\90¶\90¬\83\81\83\\83b\83h\82Ö\82Ì\83|\83C\83\93\83^
+ typedef sf::application::Character * const (*CreateFuncPtr)(float,float,float,sf::application::scene::Game * const ,sf::application::Character * const pCharacter,int);
+ // \83e\83N\83X\83`\83\83\83\8d\81[\83_\82Ö\82Ì\83|\83C\83\93\83^
+ typedef void (*LoaderFuncPtr)(void);
+ enum TYPE {
+ EXPLOSION = 0
+ };
+ // OPERATIONS
+ void initialize();
+ // \83L\83\83\83\89\83N\83^\81[\88Ú\93®
+ void move(void);
+
+ Character * const create(const TYPE id,const float x,const float y,const float z,sf::application::scene::Game * const pGame,sf::application::Character * const pCharacter = NULL);
+ const bool hitCheck(Character * const pDest);
+ const bool hitCheck(Characters * const pDest);
+ const void clear(int index){mpEffects[index] = NULL ; mCount-- ;};
+ private:
+ Character *mpEffects[MAX_EFFECTS];
+ int mCount;
+ int mMax;
+ static const LoaderFuncPtr mpLoaders[MAX_TYPE];
+ static const int INIT_EFFECTS;
+ static const CreateFuncPtr mpFunctions[MAX_TYPE];
+
+ };// Effects
+ }
+ }
+}
+
+#endif // !defined(AFX_EFFECTS_H__7CFEB852_73A7_4010_BD50_C93C56019091__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// Bullets.cpp: Bullets \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// \97\9a\97ð\81F
+// $Log: EnemyBullets.cpp,v $
+// Revision 1.1 2001/10/28 21:40:35 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.5 2001/07/09 20:30:08 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.4 2001/07/01 21:30:33 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.3 2001/07/01 01:03:43 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.2 2001/05/13 20:04:23 fujiwara
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\82ª\94\90¶\82µ\82½\82Ì\82Å\8eæ\82è\8f\9c\82\81B
+// \8e©\92e\82Ì\83T\83E\83\93\83h\83e\83X\83g
+//
+// Revision 1.1 2001/05/12 21:46:39 fujiwara
+// \93G\92e\83N\83\89\83X\90V\8bK\92Ç\89Á
+//
+// Revision 1.4 2001/05/12 08:17:31 fujiwara
+// \88ê\94Ê\95Û\8cì\88á\94½\82ª\8bN\82±\82éBUG\8fC\90³
+//
+// Revision 1.3 2001/05/12 00:50:48 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+#include <string>
+#include <vector>
+#include <memory>
+#include <stack>
+#include <list>
+#include <iostream>
+#include <fstream>
+#include <map>
+#include "stdio.h"
+#include "math.h"
+
+#include "exception.h"
+#include "singleton.h"
+#include "system.h"
+#include "console.h"
+#include "input.h"
+#include "sound.h"
+
+#include "Obj.h"
+#include "Obj2D.h"
+#include "Obj3D.h"
+#include "Obj3DL.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+
+#include "Background.h"
+#include "Scene.h"
+#include "main.h"
+
+#include "character.h"
+#include "Hit.h"
+#include "MyShip.h"
+#include "Game.h"
+#include "Enemys.h"
+#include "Armys.h"
+#include "DispositionControl.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "EnemyBullets.h"
+#include "EB01.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+
+
+using namespace sf::application::enemy;
+using namespace sf::application;
+
+IMPLEMENT_SINGLETON(Bullets,Bullets)
+
+const Bullets::LoaderFuncPtr Bullets::mpLoaders[MAX_BULLET_TYPE]
+={ &EB01::load };
+
+const int Bullets::INIT_BULLETS = 16;
+
+const Bullets::CreateFuncPtr Bullets::mpFunctions[MAX_BULLET_TYPE]
+ ={ &EB01::create };
+
+const Bullets::UnloadFuncPtr Bullets::mpUnloadFunc[MAX_BULLET_TYPE]
+ ={ &EB01::unload };
+
+
+// \83R\83\93\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+Bullets::Bullets()
+{
+ int i;
+ mCount = 0;
+ mMax = INIT_BULLETS;
+
+ for(i = 0;i < MAX_BULLETS;i++){
+ mpBullets[i] = NULL;
+ }
+
+}// Bullets()
+
+// \83f\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+Bullets::~Bullets()
+{
+ int i;
+ for(i = 0;i < MAX_BULLETS;i++)
+ {
+ if(mpBullets[i]){
+ delete mpBullets[i];
+ mpBullets[i] = NULL;
+ }
+ }
+}// ~Bullets()
+
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Bullets::initialize(){
+
+ int i;
+ for(i = 0;i < MAX_BULLETS;i++)
+ {
+ if(mpBullets[i]){
+ delete mpBullets[i];
+ mpBullets[i] = NULL;
+ }
+ }
+
+ mCount = 0;
+}// initialize()
+
+// \92e\82Ì\88Ú\93® \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Bullets::move(void)
+{
+ int count = 0;
+ for(int i = 0;i < MAX_BULLETS;i++)
+ {
+ if(mpBullets[i]){
+ mpBullets[i]->move();
+ }
+ }
+}// move()
+
+// \92e\82ð\90¶\90¬\82·\82é \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+Character * const Bullets::create(const TYPE id,const float x,const float y,const float z,sf::application::scene::Game *pGame)
+{
+ if(id >= MAX_BULLET_TYPE)
+ return NULL;
+
+ if(mCount >= mMax)
+ return NULL;
+
+ for(int i = 0 ; i < MAX_BULLETS; i++){
+ if(mpBullets[i] == NULL){
+ mpBullets[i] = (*mpFunctions[id])(x,y,z,pGame,i);
+ mCount++;
+ return mpBullets[i];
+ }
+ }
+ return NULL;
+}// create()
+
+// \93\96\82è\94»\92è \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+const bool Bullets::hitCheck(Character * const pDest){
+ bool return_ = false;
+
+ for(int i = 0;i < MAX_BULLETS;i++){
+ if(mpBullets[i]){
+ if(mpBullets[i]->hitCheck(pDest)){
+ mpBullets[i]->hit(pDest);
+ pDest->hit(mpBullets[i]);
+ return_ = true;
+ };
+ }
+ }
+ return return_;
+}// hitCheck(Character * const pDest)
+
+const bool Bullets::hitCheck(Characters * const pDest){
+ bool return_ = false;
+
+ for(int i = 0;i < MAX_BULLETS;i++){
+ if(mpBullets[i]){
+ if(pDest->hitCheck(mpBullets[i]))
+ return_ = true;
+ }
+ }
+
+ return return_;
+}// hitCheck(Characters * const pDest)
+
+// \83e\83N\83X\83`\83\83\82Ì\91S\8aJ\95ú \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Bullets::unload(void){
+ for(int i = 0;i < MAX_BULLET_TYPE;i++)
+ {
+ (*mpUnloadFunc[i])();
+ }
+}// unload()
+
+// \83e\83N\83X\83`\83\83\82Ì\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Bullets::load(int value){
+ // \83r\83b\83g\83}\83b\83v\82Ì\83\8d\81[\83h
+ (*mpLoaders[value])();
+}// load()
+
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// EnemyBullets.h: Bullets \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \97\9a\97ð\81F
+// $Log: EnemyBullets.h,v $
+// Revision 1.1 2001/10/28 21:40:35 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.3 2001/07/09 20:30:08 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.2 2001/05/13 20:04:23 fujiwara
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\82ª\94\90¶\82µ\82½\82Ì\82Å\8eæ\82è\8f\9c\82\81B
+// \8e©\92e\82Ì\83T\83E\83\93\83h\83e\83X\83g
+//
+// Revision 1.1 2001/05/12 21:46:39 fujiwara
+// \93G\92e\83N\83\89\83X\90V\8bK\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_BULLETS_H__8DC400E3_9678_4AA5_B5A2_B96809AEEEEA__INCLUDED_)
+#define AFX_BULLETS_H__8DC400E3_9678_4AA5_B5A2_B96809AEEEEA__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "character.h"
+namespace sf {
+ namespace application {
+ namespace enemy {
+
+ const int MAX_BULLET_TYPE = 1;
+ const int MAX_BULLETS = 64;
+
+ class Bullets : public Characters
+ {
+ DECLARE_SINGLETON(Bullets)
+ Bullets();
+ public:
+ ~Bullets();
+ // Type \92è\8b` //
+ // \83I\83u\83W\83F\83N\83g\90¶\90¬\83\81\83\\83b\83h\82Ö\82Ì\83|\83C\83\93\83^
+ typedef sf::application::Character * const (*CreateFuncPtr)(float,float,float,sf::application::scene::Game * const ,int);
+ // \83e\83N\83X\83`\83\83\83\8d\81[\83_\82Ö\82Ì\83|\83C\83\93\83^
+ typedef void (*LoaderFuncPtr)(void);
+ // \83e\83N\83X\83`\83\83\8aJ\95ú\83\81\83\\83b\83h\82Ö\82Ì\83|\83C\83\93\83^
+ typedef void (*UnloadFuncPtr)(void);
+ typedef sf::system::console::sprite::Sprite * const (*GetSpritePtrFunc)(void);
+
+ enum TYPE {
+ EB01 = 0
+ };
+ // OPERATIONS
+ void initialize();
+ // \83L\83\83\83\89\83N\83^\81[\88Ú\93®
+ void move(void);
+
+ Character * const create(const TYPE id,const float x,const float y,const float z,sf::application::scene::Game *pGame);
+ const bool hitCheck(Character * const pDest);
+ const bool hitCheck(Characters * const pDest);
+ const void clear(int index){mpBullets[index] = NULL ; mCount-- ;};
+ void unload(void);
+ void load(int value);
+
+ private:
+ Character *mpBullets[MAX_BULLETS];
+ int mCount;
+ int mMax;
+ static const LoaderFuncPtr mpLoaders[MAX_BULLET_TYPE];
+ static const int INIT_BULLETS;
+ static const CreateFuncPtr mpFunctions[MAX_BULLET_TYPE];
+ static const UnloadFuncPtr mpUnloadFunc[MAX_BULLET_TYPE];
+
+ };// Bullets
+
+ }// enemy
+ }// application
+}// sf
+
+#endif // !defined(AFX_BULLETS_H__8DC400E3_9678_4AA5_B5A2_B96809AEEEEA__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// Enemys.cpp: Enemys \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// \97\9a\97ð\81F
+// $Log: Enemys.cpp,v $
+// Revision 1.1 2001/10/28 21:40:35 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.8 2001/07/09 20:30:08 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.7 2001/07/01 21:30:33 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.6 2001/07/01 01:03:43 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.5 2001/05/13 20:04:23 fujiwara
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\82ª\94\90¶\82µ\82½\82Ì\82Å\8eæ\82è\8f\9c\82\81B
+// \8e©\92e\82Ì\83T\83E\83\93\83h\83e\83X\83g
+//
+// Revision 1.4 2001/05/12 08:17:31 fujiwara
+// \88ê\94Ê\95Û\8cì\88á\94½\82ª\8bN\82±\82éBUG\8fC\90³
+//
+// Revision 1.3 2001/05/12 00:50:48 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+#include <string>
+#include <vector>
+#include <memory>
+#include <stack>
+#include <list>
+#include <iostream>
+#include <fstream>
+#include <map>
+#include "stdio.h"
+#include "math.h"
+
+#include "exception.h"
+#include "singleton.h"
+#include "system.h"
+#include "console.h"
+#include "input.h"
+#include "sound.h"
+
+#include "Obj.h"
+#include "Obj2D.h"
+#include "Obj3D.h"
+#include "Obj3DL.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+
+#include "Background.h"
+#include "Scene.h"
+#include "main.h"
+#include "character.h"
+#include "Hit.h"
+#include "MyShip.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "Game.h"
+#include "Enemys.h"
+#include "Armys.h"
+#include "DispositionControl.h"
+#include "ZK01.h"
+#include "ZK02.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+
+
+using namespace sf::application::enemy;
+using namespace sf::application;
+
+IMPLEMENT_SINGLETON(Enemys,Enemys);
+const Enemys::LoaderFuncPtr Enemys::mpLoaders[MAX_TYPE] =
+{ &ZK01::load,
+ &ZK02::load
+};
+
+const int Enemys::INIT_ENEMYS = 16;
+
+const Enemys::CreateFuncPtr Enemys::mpFunctions[MAX_TYPE] =
+{ &ZK01::create,
+ &ZK02::create
+ };
+
+const Enemys::UnloadFuncPtr Enemys::mpUnloadFunc[MAX_TYPE] =
+{ &ZK01::unload,
+ &ZK02::unload
+ };
+
+// \83R\83\93\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+Enemys::Enemys()
+{
+ int i;
+ mCount = 0;
+ mMax = INIT_ENEMYS;
+
+ for(i = 0;i < MAX_ENEMYS;i++){
+ mpEnemys[i] = NULL;
+ }
+
+}// Enemys()
+
+// \83f\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+Enemys::~Enemys()
+{
+ int i;
+ for(i = 0;i < MAX_ENEMYS;i++)
+ {
+ if(mpEnemys[i]){
+ delete mpEnemys[i];
+ mpEnemys[i] = NULL;
+ }
+ }
+}// ~Enemys()
+
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Enemys::initialize(){
+
+ int i;
+ for(i = 0;i < MAX_ENEMYS;i++)
+ {
+ if(mpEnemys[i]){
+ delete mpEnemys[i];
+ mpEnemys[i] = NULL;
+ }
+ }
+ mCount = 0;
+}// initialize()
+
+// \92e\82Ì\88Ú\93® \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Enemys::move(void)
+{
+ for(int i = 0;i < MAX_ENEMYS;i++)
+ {
+ if(mpEnemys[i]){
+ mpEnemys[i]->move();
+ }
+ }
+}// move()
+
+// \92e\82ð\90¶\90¬\82·\82é \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+const bool Enemys::create(const TYPE id,const float x,const float y,const float z,sf::application::scene::Game *pGame)
+{
+ if(id >= MAX_TYPE)
+ return false;
+
+ if(mCount >= mMax)
+ return false;
+
+ for(int i = 0 ; i < MAX_ENEMYS; i++){
+ if(mpEnemys[i] == NULL){
+ mpEnemys[i] = (*mpFunctions[id])(x,y,z,pGame,i);
+ mCount++;
+ return true;
+ }
+ }
+ return false;
+}// create()
+
+// \93\96\82è\94»\92è \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+const bool Enemys::hitCheck(Character * const pDest){
+ bool return_ = false;
+
+ for(int i = 0;i < MAX_ENEMYS;i++){
+ if(mpEnemys[i]){
+ if(mpEnemys[i]->hitCheck(pDest)){
+ mpEnemys[i]->hit(pDest);
+ pDest->hit(mpEnemys[i]);
+ return_ = true;
+ };
+ }
+ }
+ return return_;
+}// hitCheck(Character * const pDest)
+
+const bool Enemys::hitCheck(Characters * const pDest){
+ bool return_ = false;
+
+ for(int i = 0;i < MAX_ENEMYS;i++){
+ if(mpEnemys[i]){
+ if(pDest->hitCheck(mpEnemys[i]))
+ return_ = true;
+ }
+ }
+
+ return return_;
+}// hitCheck(Characters * const pDest)
+
+// \83e\83N\83X\83`\83\83\82Ì\91S\8aJ\95ú \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Enemys::unload(void){
+ for(int i = 0;i < MAX_TYPE;i++)
+ {
+ (*mpUnloadFunc[i])();
+ }
+}// unload()
+
+// \83e\83N\83X\83`\83\83\82Ì\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Enemys::load(int value){
+ // \83r\83b\83g\83}\83b\83v\82Ì\83\8d\81[\83h
+ (*mpLoaders[value])();
+}// load()
+
+void Enemys::allBomb(void){
+ ;
+}
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// Enemys.h: Enemys \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \97\9a\97ð\81F
+// $Log: Enemys.h,v $
+// Revision 1.1 2001/10/28 21:40:36 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.9 2001/07/09 20:30:08 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.8 2001/07/01 01:03:44 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.7 2001/06/03 09:22:32 fujiwara
+// \92n\8fã\93G\83N\83\89\83X\82¨\82æ\82Ñ\8eG\8b\9b\93G\82Ì\94÷\92²\90®
+//
+// Revision 1.6 2001/05/29 01:12:54 fujiwara
+// \8eG\8b\9b\83L\83\83\83\89(\94ò\8ds\95¨\81j\82Ì\8dì\90¬\81B\94z\92u\83G\83f\83B\83^\82Ì\83o\83O\8fC\90³
+//
+// Revision 1.5 2001/05/17 12:34:10 fujiwara
+// \92n\8fã\93G\83T\83\93\83v\83\8b\8dì\90¬
+//
+// Revision 1.4 2001/05/13 20:04:24 fujiwara
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\82ª\94\90¶\82µ\82½\82Ì\82Å\8eæ\82è\8f\9c\82\81B
+// \8e©\92e\82Ì\83T\83E\83\93\83h\83e\83X\83g
+//
+// Revision 1.3 2001/05/12 00:50:48 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_ENEMYS_H__8DC400E3_9678_4AA5_B5A2_B96809AEEEEA__INCLUDED_)
+#define AFX_ENEMYS_H__8DC400E3_9678_4AA5_B5A2_B96809AEEEEA__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "character.h"
+namespace sf {
+ namespace application {
+ namespace enemy {
+
+ const int MAX_TYPE = 2;
+ const int MAX_ENEMYS = 64;
+
+ const float Z_OFFSET_ENEMYS = 0.3f;
+ const float Z_OFFSET_ARMYS = 0.8f;
+ const float Z_OFFSET_INDEX = 0.001f;
+ const float Z_OFFSET_ASSEMBLE = 0.0001f;
+
+ class Event {
+ public:
+ virtual void allBomb(void) = 0;
+ };// Event
+
+ class Enemys : public Characters ,public Event
+ {
+ DECLARE_SINGLETON(Enemys)
+ Enemys();
+ public:
+ ~Enemys();
+ // Type \92è\8b` //
+ // \83I\83u\83W\83F\83N\83g\90¶\90¬\83\81\83\\83b\83h\82Ö\82Ì\83|\83C\83\93\83^
+ typedef sf::application::Character * const (*CreateFuncPtr)(float,float,float,sf::application::scene::Game * const ,int);
+ // \83e\83N\83X\83`\83\83\83\8d\81[\83_\82Ö\82Ì\83|\83C\83\93\83^
+ typedef void (*LoaderFuncPtr)(void);
+ // \83e\83N\83X\83`\83\83\8aJ\95ú\83\81\83\\83b\83h\82Ö\82Ì\83|\83C\83\93\83^
+ typedef void (*UnloadFuncPtr)(void);
+ typedef sf::system::console::sprite::Sprite * const (*GetSpritePtrFunc)(void);
+
+ enum TYPE {
+ ZK01 = 0
+ };
+ // OPERATIONS
+ void initialize();
+ // \83L\83\83\83\89\83N\83^\81[\88Ú\93®
+ void move(void);
+
+ const bool create(const TYPE id,const float x,const float y,const float z,sf::application::scene::Game *pGame);
+ const bool hitCheck(Character * const pDest);
+ const bool hitCheck(Characters * const pDest);
+ const void clear(int index){mpEnemys[index] = NULL ; mCount-- ;};
+ void unload(void);
+ void load(const int value);
+
+ // Event
+ void allBomb(void);
+
+ private:
+ Character *mpEnemys[MAX_ENEMYS];
+ int mCount;
+ int mMax;
+ static const LoaderFuncPtr mpLoaders[MAX_TYPE];
+ static const int INIT_ENEMYS;
+ static const CreateFuncPtr mpFunctions[MAX_TYPE];
+ static const UnloadFuncPtr mpUnloadFunc[MAX_TYPE];
+
+ };// Enemys
+
+ }// enemy
+ }// application
+}// sf
+
+#endif // !defined(AFX_ENEMYS_H__8DC400E3_9678_4AA5_B5A2_B96809AEEEEA__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// Explosion.cpp: Explosion \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// \97\9a\97ð\81F
+// $Log: Explosion.cpp,v $
+// Revision 1.1 2001/10/28 21:40:36 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.6 2001/07/09 20:30:08 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.5 2001/07/01 21:30:33 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.4 2001/07/01 01:03:44 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.3 2001/05/17 12:34:10 fujiwara
+// \92n\8fã\93G\83T\83\93\83v\83\8b\8dì\90¬
+//
+// Revision 1.2 2001/05/12 00:50:33 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+#include <string>
+#include <vector>
+#include <memory>
+#include <stack>
+#include <list>
+#include <iostream>
+#include <fstream>
+#include <map>
+#include "stdio.h"
+#include "math.h"
+
+#include "exception.h"
+#include "singleton.h"
+#include "system.h"
+#include "console.h"
+#include "input.h"
+#include "sound.h"
+
+#include "Obj.h"
+#include "Obj2D.h"
+#include "Obj3D.h"
+#include "Obj3DL.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+
+#include "Background.h"
+#include "Scene.h"
+#include "main.h"
+
+#include "character.h"
+#include "Hit.h"
+#include "MyShip.h"
+#include "Game.h"
+#include "Enemys.h"
+#include "Armys.h"
+#include "DispositionControl.h"
+#include "Effects.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "Explosion.h"
+
+using namespace sf::application;
+using namespace sf::application::effect;
+
+sf::system::console::sprite::PSprite Explosion::mspSprite[MAX_EXPLOSION];
+int Explosion::msSoundID = 0;
+
+const sf::system::console::sprite::Info Explosion::msSpriteInfo[MAX_EXPLOSION] =
+{
+ {"media\\explosion.png",0.0f,0.0f,64.0f,64.0f,0xff000000,console::sprite::SPRITE2D},
+ {"media\\explosion2.png",0.0f,0.0f,64.0f,64.0f,0xff000000,console::sprite::SPRITE2D},
+};
+
+
+
+// \83R\83\93\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+Explosion::Explosion()
+{
+
+}// Explosion()
+
+// \83f\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+Explosion::~Explosion()
+{
+ Effects::instance()->clear(index());
+}// ~Explosion()
+
+
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Explosion::initialize()
+{
+ // \93\96\82è\94»\92è
+/*
+ mHitRect.offsetTop(-24.0f);
+ mHitRect.offsetBottom(24.0f);
+ mHitRect.offsetLeft(-24.0f);
+ mHitRect.offsetRight(24.0f);
+*/
+ mHitRect.isChecking(false);
+ mHitRect.characterPtr(this);
+ mScaling = 1.0f;
+
+ mObj.scalingX(mScaling);
+ mObj.scalingY(mScaling);
+
+/* mRadian = (float)atan2((double)(game()->player()->y() - y()),(double)(game()->player()->x() - x()));
+
+
+ mSpeed = 6.0f;
+*/
+ mDx = cosf(direction()) * speed();
+ mDy = sinf(direction()) * speed();
+
+ mObj.index(0);
+ mObj.sprite(mspSprite[rand() & 0x1].get());
+
+ mObj.z(z());
+ mObj.x(x());
+ mObj.y(y());
+ mObj.visibility(true);
+ mObj.color(0xF0ffffff);
+ mObj.drawMode(sf::system::console::DRAW_ADD);
+ mObj.angle(direction());
+ mObj.reverseX(rand() & 0x1?true:false);
+ mObj.reverseY(rand() & 0x1?true:false);
+
+ mbHit = false;
+// mDirCount = 24;
+// mDirSpeed = (rand() & 1) ? -0.01 : 0.01;
+ sf::system::instance()->sound()->play(msSoundID,1,false,false);
+}// initialize()
+
+// \83e\83N\83X\83`\83\83\82Ì\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Explosion::load(void){
+ using namespace sf::system::console::sprite;
+ PSprite *ptemp;
+ int i;
+
+ if(!mspSprite[0].get()){
+ for(i = 0;i < MAX_EXPLOSION;i++){
+ ptemp = new PSprite(sf::system::instance()->console()->createSprite(&msSpriteInfo[i]));
+ mspSprite[i] = *ptemp;
+ delete ptemp;
+ }
+ }
+
+ // \83T\83E\83\93\83h\83f\81[\83^\82Ì\83\8d\81[\83h
+ msSoundID = sf::system::instance()->sound()->load("explos.wav");
+}// load()
+
+// \93G\82Ì\93®\8dì \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Explosion::move()
+{
+ mCount++;
+ y(y() + mDy);
+ x(x() + mDx);
+ mObj.x(x());
+ mObj.y(y());
+ mObj.index(mObj.index() + (mCount & 1));
+
+ if(mObj.index() > 15){
+ delete this;
+ return;
+ }
+}//move()
+
+void Explosion::hit(Character * const pDest)
+{
+// mHitRect.isChecking(false);
+// mbHit = true;
+};
+
+// \93G\82Ì\90¶\90¬ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+sf::application::Character * const Explosion::create(float x,float y ,float z,sf::application::scene::Game * const pGame,Character *pCharacter,int index)
+{
+ Explosion * ptemp = new Explosion;
+ ptemp->x(x);
+ ptemp->y(y);
+ ptemp->z(z);
+ ptemp->index(index);
+ ptemp->game(pGame);
+ ptemp->speed(pCharacter->speed());
+ ptemp->direction(pCharacter->direction());
+ ptemp->initialize();
+ return ptemp;
+;}// create
+
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// Hit.cpp: Hit \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// \97\9a\97ð\81F
+// $Log: Hit.cpp,v $
+// Revision 1.1 2001/10/28 21:40:36 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.4 2001/07/01 21:30:34 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.3 2001/05/13 20:04:24 fujiwara
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\82ª\94\90¶\82µ\82½\82Ì\82Å\8eæ\82è\8f\9c\82\81B
+// \8e©\92e\82Ì\83T\83E\83\93\83h\83e\83X\83g
+//
+// Revision 1.2 2001/05/12 00:50:23 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+#include <string>
+#include <vector>
+#include "system.h"
+#include "Console.h"
+#include "character.h"
+#include "Hit.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// Hit.h: Hit \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \97\9a\97ð\81F
+// $Log: Hit.h,v $
+// Revision 1.1 2001/10/28 21:40:36 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.2 2001/05/12 00:50:17 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_HIT_H__197186A8_1D82_4ABA_9C67_C142B720501C__INCLUDED_)
+#define AFX_HIT_H__197186A8_1D82_4ABA_9C67_C142B720501C__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+namespace sf {
+ namespace application {
+ namespace hit {
+
+
+class HitRect;
+class HitRects;
+// \93\96\82è\94»\92è\83C\83\93\83^\81[\83t\83F\81[\83X
+class Interface
+{
+public:
+ Interface(){;};
+ virtual ~Interface(){;};
+ virtual const bool check(Interface * const pInterface) = 0;
+ virtual const bool check(HitRect &rHitRect) = 0;
+ virtual const bool check(HitRects &rHitRects) = 0;
+ virtual const bool isChecking(void) = 0;
+ virtual void isChecking(const bool value) = 0 ;
+ virtual void characterPtr(Character * const value) = 0;
+
+};// Interface()
+
+// \93\96\82è\94»\92è
+class HitRect : public Interface
+{
+public:
+ // LIFECYCLE //
+ HitRect(){
+ mTop = mBottom = mLeft = mRight = 0.0f;
+ mbCheck = false;
+ };
+
+ HitRect(Character *pCharacter){ mpCharacter = pCharacter;mbCheck= false;};
+ HitRect(Character *pCharacter,float top,float bottom,float left,float right)
+ {
+ mbCheck = false;
+ mpCharacter = pCharacter;
+ mTop = top;
+ mBottom = bottom;
+ mLeft = left;
+ mRight = right;
+ };
+
+ virtual ~HitRect(){};
+
+ // OPERATIONS //
+ const bool check(Interface * const pInterface){return pInterface->check(*this);};
+ inline const bool check(HitRects & rHitRects);
+
+ const bool check(HitRect & rHitRect){
+ if(!isChecking() || !rHitRect.isChecking())
+ return false;
+
+ if(rHitRect.bottom() < top() ||
+ rHitRect.top() > bottom()
+ )
+ {
+ // \82Í\82¸\82ê
+ return false;
+ }
+
+ if(rHitRect.right() < left() ||
+ rHitRect.left() > right())
+ {
+ // \82Í\82¸\82ê
+ return false;
+ }
+ // \93\96\82è!
+ return true;
+ };
+
+ const float top(){return mpCharacter->y() + mTop;};
+ const float bottom(){return mpCharacter->y() + mBottom;};
+ const float left(){return mpCharacter->x() + mLeft;};
+ const float right(){return mpCharacter->x() + mRight;};
+
+ const float offsetTop(void){ return mTop;};
+ void offsetTop(const float value){ mTop = value;};
+ const float offsetBottom(void){ return mBottom;};
+ void offsetBottom(const float value){ mBottom = value;};
+ const float offsetLeft(void){ return mLeft;};
+ void offsetLeft(const float value){ mLeft = value;};
+ const float offsetRight(void){ return mRight;};
+ void offsetRight(const float value){ mRight = value;};
+
+ const bool isChecking(void){return mbCheck;};
+ void isChecking(const bool value){mbCheck = value;};
+
+ void characterPtr(Character * const value){mpCharacter = value;};
+
+private:
+
+ float mTop,mBottom;
+ float mLeft,mRight;
+ float mHitPosX,mHitPosY;
+ bool mbCheck;
+ Character *mpCharacter;
+};// HitRect()
+
+typedef std::vector<HitRect *> HitRectVector;
+
+class HitRects : public Interface {
+public:
+ // \93\96\82è\94»\92è(\95¡\90\94\95Û\8e\9d\94Å)
+ HitRects(Character *pCharacter){ mpCharacter = pCharacter;mHitIndex = 0;};
+ HitRects(){mHitIndex = 0;mbCheck = false;};
+ virtual ~HitRects()
+ {
+ for(HitRectVector::iterator it = mHitRectVector.begin();
+ it != mHitRectVector.end();it ++)
+ {
+ delete *it;
+ }
+ };
+
+ void insertRect(HitRect * const pHitRect){mHitRectVector.push_back(pHitRect);};
+
+ const bool check(Interface *pInterface){
+ return pInterface->check(this);
+ };
+
+ const bool check(HitRects & rHitRects){
+
+ if(!isChecking() || !rHitRects.isChecking())
+ return false;
+
+ int i,j;
+ for(i = 0 ; i < rHitRects.size();i++)
+ {
+ for(j = 0 ; j < size() ; j ++)
+ {
+ if( rHitRects.hitRect(i).check(hitRect(j)))
+ {
+ mHitIndex = j;
+ rHitRects.mHitIndex = i;
+ return true;
+ }
+ }
+ }
+ return false;
+ };
+
+ const bool check(HitRect & rHitRect){
+ if(!isChecking() || !rHitRect.isChecking())
+ return false;
+
+ int j;
+ for(j = 0 ; j <size() ; j ++){
+ if(mHitRectVector[j]->check(rHitRect)){
+ mHitIndex = j;
+ return true;
+ };
+ }
+ return false;
+ };
+
+ HitRectVector& hitRectVector(void){return mHitRectVector;};
+ HitRect& hitRect(int i){return *(mHitRectVector[i]);};
+
+ const int size(void){return mHitRectVector.size();};
+ const int hitIndex(void){return mHitIndex;};
+ void hitIndex(const int value){mHitIndex = value;};
+
+ const bool isChecking(void){return mbCheck;};
+ void isChecking(const bool value){mbCheck = value;};
+
+ void characterPtr(Character * const value){mpCharacter = value;};
+
+private:
+ bool mbCheck;
+ Character *mpCharacter;
+ HitRectVector mHitRectVector;
+ int mHitIndex;
+};// HitRects()
+
+const bool HitRect::check(HitRects &rHitRects)
+{
+ if(!isChecking() || !rHitRects.isChecking())
+ return false;
+ int j;
+
+ for(j = 0 ; j < rHitRects.size() ; j ++)
+ {
+ if(check(rHitRects.hitRect(j))){
+ rHitRects.hitIndex(j);
+ return true;
+ }
+ }
+ return false;
+};
+
+
+ }
+ }
+}
+
+#endif // !defined(AFX_HIT_H__197186A8_1D82_4ABA_9C67_C142B720501C__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// MainApp \83A\83v\83\8a\83P\81[\83V\83\87\83\93\83\81\83C\83\93
+// \81@aMain\82Ì\8bï\8fÛ\83N\83\89\83X\82Å\82·\81B
+// \97\9a\97ð:
+// $Log: MainApp.cpp,v $
+// Revision 1.1 2001/10/28 21:40:36 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.5 2001/07/09 20:30:09 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.4 2001/07/01 21:30:34 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.3 2001/07/01 01:03:44 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.2 2001/05/12 00:49:43 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+// 2001/01/29 \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p\83\89\83C\83u\83\89\83\8a\82Ì\92Ç\89Á
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sf.h"
+#include "sfdebug.h"
+
+// SYSTEM INCLUDES
+//
+
+#include <stdio.h>
+#include <list>
+#include <vector>
+#include <fstream>
+
+// PROJECT INCLUDES
+//
+#include "exception.h"
+#include "singleton.h"
+#include "System.h"
+#include "Console.h"
+#include "Sound.h"
+#include "input.h"
+#include "Scene.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "MainApp.h"
+#include "Manager.h"
+#include "s2001.h"
+
+using namespace sf::application;
+using namespace sf::system;
+
+IMPLEMENT_SINGLETON(MainImpl,MainImpl)
+
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+// MainFactory\83N\83\89\83X
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+Main * Main::instance()
+{
+ return MainImpl::instance();
+}
+
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+// MainImpl\83N\83\89\83X
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+
+// \83R\83\93\83X\83g\83\89\83N\83^ -------------------------------------------------------------
+MainImpl::MainImpl()
+{
+ mpSpriteBlank = NULL;
+
+}
+
+// \83f\83X\83g\83\89\83N\83^ ---------------------------------------------------------------
+MainImpl::~MainImpl()
+{
+ if(mpSpriteBlank)
+ delete mpSpriteBlank;
+
+}// ~MainImpl()
+
+// \8f\89\8aú\89» ---------------------------------------------------------------------
+void MainImpl::initialize(void)
+{
+// mState = INITIALIZE;
+
+ mpSystem = system::instance();
+ mpConsole = mpSystem->console();
+ mpSound = mpSystem->sound();
+
+ // \83u\83\89\83\93\83N \83X\83v\83\89\83C\83g\82Ì\83\8d\81[\83h
+ console::sprite::Info brank_info =
+ {"media\\blank.bmp",0.0f,0.0f,0x0,console::sprite::SPRITE2D};
+
+ if(NULL == (mpSpriteBlank = mpConsole->createSprite(&brank_info)))
+ return;
+
+ ::createScene(scene::AUTHOR);
+
+}// intialize()
+
+// \83\81\83C\83\93\82Ì\8eÀ\8ds ---------------------------------------------------------------
+void MainImpl::run()
+{ // \83V\81[\83\93\82Ì\8eÀ\8ds
+ scene::Container::instance()->move();
+ scene::Container::instance()->eraseNull();
+}// run()
+
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// MainImpl \83A\83v\83\8a\83P\81[\83V\83\87\83\93\83\81\83C\83\93
+// \81@Main\82Ì\8bï\8fÛ\83N\83\89\83X\82Å\82·\81B
+// $Log: MainApp.h,v $
+// Revision 1.1 2001/10/28 21:40:36 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.3 2001/07/09 20:30:09 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.2 2001/05/12 00:49:43 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_MainImpl_H__A78603C6_C6A5_4017_9BA8_6228600E3D63__INCLUDED_)
+#define AFX_MainImpl_H__A78603C6_C6A5_4017_9BA8_6228600E3D63__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "Main.h"
+namespace sf {
+ namespace application {
+ enum State {
+ INITIALIZE,
+ MAIN,
+ EDIT,
+ END
+ };
+
+ class MainImpl : public Main
+ {
+ // LIFECYCLE //
+ MainImpl();
+ DECLARE_SINGLETON(MainImpl)
+ public:
+ virtual ~MainImpl();
+
+ // OPERATORS //
+ // OPEARTIONS //
+ // \8f\89\8aú\89»
+ void initialize(void);
+ //
+ void run();
+ system::console::sprite::Sprite * const getBlankSprite(){return mpSpriteBlank;};
+
+ // INQUIRY //
+ private:
+
+ State mState;
+
+ system::System * mpSystem;
+ system::console::Console * mpConsole;
+ system::sound::Sound * mpSound;
+ system::console::sprite::Sprite *mpSpriteBlank;
+ };// MainImpl
+ }// application
+
+}// sf
+#endif // !defined(AFX_MainImpl_H__A78603C6_C6A5_4017_9BA8_6228600E3D63__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// Manager.cpp: Manager \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// \97\9a\97ð\81F
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+// System Includes //
+#include <stack>
+#include <list>
+#include <vector>
+#include <string>
+#include <map>
+#include <fstream>
+
+// Project Includes //
+#include "exception.h"
+#include "singleton.h"
+#include "system.h"
+#include "console.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "Scene.h"
+#include "Manager.h"
+
+
+using namespace sf::application::scene;
+// ---------------------------------------------------------------------------
+// Scene::Container \83N\83\89\83X\81@\8eÀ\91\95\95\94
+// ---------------------------------------------------------------------------
+
+// \83R\83\93\83e\83i\83V\83\93\83O\83\8b\83g\83\93 -------------------------------------------------------
+IMPLEMENT_SINGLETON(Container,Container);
+
+// \83R\83\93\83X\83g\83\89\83N\83^ -------------------------------------------------------------
+Container::Container()
+{
+ ;
+}// Container()
+
+// \83f\83X\83g\83\89\83N\83^ ---------------------------------------------------------------
+Container::~Container()
+{
+ SceneContainer::iterator it = mContainer.begin();
+
+ while(it != mContainer.end())
+ {
+ if(*it != NULL){
+ delete (*it);
+ }
+ it = mContainer.erase(it);
+ }
+
+}// ~Container()
+
+IMPLEMENT_SINGLETON(DLLManager,DLLManager);
+
+/*
+// \83V\81[\83\93\90¶\90¬\83\81\83\\83b\83h\81i\90»\8dì\8eÒ\95\\8e¦) -----------------------------------------------
+Scene * const AuthorParameter::createScene(bool bAddSceneContainer)
+{
+ Scene *pscene = new Author(this);
+ if(bAddSceneContainer)
+ Container::instance()->add(pscene);
+ return pscene;
+}// AuthorParameter::createScene()
+
+// \83V\81[\83\93\90¶\90¬\83\81\83\\83b\83h(\83t\83F\81[\83h\83C\83\93\81E\83A\83E\83g) ---------------------------------------
+Scene * const FadeParameter::createScene(bool bAddSceneContainer)
+{
+ Scene *pscene = new Fade(this);
+ if(bAddSceneContainer)
+ Container::instance()->add(pscene);
+ return pscene;
+}// FadeParameter::createScene()
+*/
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// Manager.h: Manager \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \97\9a\97ð\81F
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_MANAGER_H__54ECBFD0_103D_4D71_83BB_83D948FD2892__INCLUDED_)
+#define AFX_MANAGER_H__54ECBFD0_103D_4D71_83BB_83D948FD2892__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+#include "windows.h"
+#include "Exception.h"
+#include <iosfwd>
+#include "stdafx.h"
+namespace sf {
+ namespace application {
+ namespace scene {
+ // ----------------------------------------------------------------
+ // \83R\83\93\83e\83i\83N\83\89\83X
+ // ----------------------------------------------------------------
+ typedef std::list<Scene *> SceneContainer;
+
+ class Container : public Listener
+ {
+ DECLARE_SINGLETON(Container)
+
+ Container();
+ public:
+ ~Container();
+
+ void add(Scene * const pScene)
+ {
+ mContainer.push_back(pScene);
+ pScene->addListener(this);
+ };
+
+ // \83V\81[\83\93\83|\83C\83\93\83^\82Ì\8eæ\93¾
+ void move(void)
+ {
+
+ if(mContainer.empty()){
+ throw sf::system::RecoverbleErrorException("Scene is Empty",__FILE__,__LINE__,sf::system::Exception::SCENE_IS_EMPTY);
+ };
+
+ for(SceneContainer::iterator it = mContainer.begin();it != mContainer.end();++it)
+ {
+ if(*it != NULL){
+ if((*it)->isActive()){
+ (*it)->move();
+ }
+ }
+ }
+ };
+
+ // NULL\83|\83C\83\93\83^\82Ì\8dí\8f\9c
+ void eraseNull(void)
+ {
+ for(SceneContainer::iterator it = mContainer.begin();it != mContainer.end();++it)
+ {
+ if(*it == NULL){
+ it = mContainer.erase(it);
+ }
+ }
+
+ };
+
+ // \83V\81[\83\93\8fI\97¹\8e\9e\82Ì\8f\88\97\9d
+ virtual void endOfScene(Scene * const pScene)
+ {
+ for(SceneContainer::iterator it = mContainer.begin();it != mContainer.end();++it)
+ {
+ if(*it == pScene){
+ *it = NULL;
+ break;
+ }
+ }
+
+ };
+
+ // \83V\81[\83\93\8fI\97¹\8e\9e\82Ì\8f\88\97\9d
+ const bool findScene(Scene * const pScene)
+ {
+ for(SceneContainer::iterator it = mContainer.begin();it != mContainer.end();++it)
+ {
+ if(*it == pScene){
+ return true;
+ }
+ }
+ return false;
+ };
+
+ virtual void exitKeyPressed(Scene * const pScene)
+ { endOfScene(pScene);};
+ private:
+ SceneContainer mContainer;
+ };// Container
+
+
+ // \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ // \83V\81[\83\93\82c\82k\82k\90§\8cä\97p\83N\83\89\83X
+ // \93®\93I\82¨\82æ\82Ñ\90Ã\93I\82É\83V\81[\83\93\82c\82k\82k\82ð\83\8d\81[\83h\81A\8aJ\95ú\82·\82é\8ed\91g\82Ý\82ð\92ñ\8b\9f\82·\82é
+ // \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+
+ class DLL;
+
+ std::ostream & operator <<
+ ( std::ostream &rOStrm
+ , const sf::application::scene::DLL & rDll);
+
+ std::istream& operator >>
+ ( std::istream& rIStrm,
+ sf::application::scene::DLL &rDLL);
+
+ // DLL
+ class DLL : public sf::application::scene::Listener
+ {
+ public:
+ friend std::ostream & operator <<
+ ( std::ostream &rOStrm // cStrStrm
+ , const sf::application::scene::DLL & rDll);
+ friend std::istream& operator >>
+ ( std::istream& rIStrm,
+ sf::application::scene::DLL &rDLL);
+
+ // LIFE CYCLE;
+ DLL()
+ {
+ mbPreLoad = false;
+ mhModule = NULL;
+ mpCreateFunc = NULL;
+ };
+
+ DLL(const char * pDLLName,const bool bPreLoad = false)
+ {
+ mDLLName = pDLLName;
+ if(bPreLoad){
+ mbPreLoad = true;
+ mhModule = LoadLibrary(pDLLName);
+ mpCreateFunc = (CreateSceneMethod)GetProcAddress(mhModule,"createScene");
+
+ } else {
+ mbPreLoad = false;
+ mhModule = NULL;
+ mpCreateFunc = NULL;
+ }
+ };
+
+ ~DLL()
+ {
+ // \8dí\8f\9c\82³\82ê\82é\91O\82ÉTalker\82Ö\82ÌListner\93o\98^\82ð\8dí\8f\9c
+ std::vector<Scene *>::iterator it = mSceneList.begin();
+ while(it != mSceneList.end()){
+ (*it)->removeListener(this);
+ it = mSceneList.erase(it);
+ it++;
+ }
+ // \95Û\8e\9d\82µ\82Ä\82¢\82é\83\89\83C\83u\83\89\83\8a\82ð\8aJ\95ú\82·\82é
+ if(mhModule){
+ FreeLibrary(mhModule);
+ }
+
+ };
+
+ // OPERATORS //
+ // OPERATIONS //
+ // DLL\82Ì\83\8d\81[\83h
+ void load()
+ {
+ if(mhModule) return;
+ mhModule = LoadLibrary(mDLLName.c_str());
+ mpCreateFunc = (CreateSceneMethod)GetProcAddress(mhModule,"createScene");
+ };
+
+ // DLL\93à\82Ì\83V\81[\83\93\82Ì\8dì\90¬
+ Scene * const createScene(const int id,const bool bAddSceneContainer = true)
+ {
+ if(mhModule){
+ Scene * pscene = (*mpCreateFunc)(id);
+ pscene->addListener(this);
+ mSceneList.push_back(pscene);
+ addRef();
+ if(bAddSceneContainer){
+ Container::instance()->add(pscene);
+ }
+ return pscene;
+ };
+ return NULL;
+ }
+
+ // \83m\81[\83}\83\8b\8fI\97¹
+ void endOfScene(Scene * const pScene)
+ {
+ std::vector<Scene *>::iterator it = mSceneList.begin();
+ while(it != mSceneList.end()){
+ if(*it == pScene){
+ mSceneList.erase(it);
+ break;
+ }
+ it++;
+ }
+ release();
+ };
+
+ // Exit\83L\81[\82ª\89\9f\82³\82ê\82½
+ void exitKeyPressed(Scene * const pScene){;};
+
+ // INQUIRY //
+ // DLL\82ª\83\8d\81[\83h\82³\82ê\82Ä\82¢\82é\82©\82Ç\82¤\82©
+ const bool isLoad() const {return (mhModule != NULL);};
+ const std::string & name(void){return mDLLName;};
+ private:
+ // DLL\82Ì\8aJ\95ú
+ void freeLibrary()
+ { FreeLibrary(mhModule);
+ mhModule = NULL;
+ };
+
+ // \8eQ\8fÆ\83J\83E\83\93\83^\82Ì\89Á\8eZ
+ void addRef(){mRefCount++;};
+
+ // \8eQ\8fÆ\83J\83E\83\93\83^\82Ì\8c¸\8eZ\81A\83\8a\83\8a\81[\83X
+ void release()
+ { if(mRefCount){
+ mRefCount--;
+ if(!mRefCount && !mbPreLoad){
+ freeLibrary();
+ }
+ }
+ };
+
+ std::string mDLLName;
+ HMODULE mhModule;
+ bool mbPreLoad;
+ CreateSceneMethod mpCreateFunc;
+ int mRefCount;
+
+ // Talker\82Ö\82Ì\83|\83C\83\93\83^\82ð\95Û\8e\9d //
+ std::vector<Scene *> mSceneList;
+
+ };// DLL \83N\83\89\83X;
+
+ // DLL\83\8d\81[\83f\83B\83\93\83O\97p\83I\83y\83\8c\81[\83^\83I\81[\83o\81[\83\8d\81[\83h
+ std::ostream& operator <<
+ ( std::ostream &rOStrm
+ , const sf::application::scene::DLL & rDLL)
+ {
+ rOStrm << rDLL.mDLLName;
+ if(rDLL.mbPreLoad){
+ rOStrm << " PRELOAD";
+ } else {
+ rOStrm << " DELAYLOAD";
+ }
+ return rOStrm;
+ };// std::ostream & operator<<;
+
+ std::istream& operator >>
+ ( std::istream& rIStrm,
+ sf::application::scene::DLL &rDLL)
+ {
+ std::string tmp;
+ rIStrm >> rDLL.mDLLName;
+ rIStrm >> tmp;
+
+ if(tmp == "PRELOAD"){
+ rDLL.mbPreLoad = true;
+ } else {
+ rDLL.mbPreLoad = false;
+ }
+ return rIStrm;
+ };// std::istream& operator >>
+
+ // \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ // DLL\8aÇ\97\9d\83N\83\89\83X
+ // \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ class DLLManager
+ {
+ DECLARE_SINGLETON(DLLManager)
+ public:
+ ~DLLManager(){
+ unload();
+ };//
+
+ // \83V\81[\83\93DLL\82Ì\83\8d\81[\83h //
+ void load(const char * pFileName)
+ {
+ std::fstream dll_conf(pFileName,std::ios::in);
+ if(!dll_conf.is_open()){
+ throw sf::system::FatalErrorException("Scene Def File Not Found",__FILE__,__LINE__);
+ }
+
+ int i = 0;
+ int scene_index;
+
+ while(!dll_conf.eof())
+ {
+ dll_conf >> scene_index;
+ DLL* pdll = new DLL;
+ dll_conf >> (*pdll);
+ int j;
+ int dll_index = i;
+
+ for(j = 0;j < mDLLs.size();j++){
+ if(mDLLs[j]->name() == pdll->name()){
+ dll_index = j;
+ break;
+ }
+ }
+
+ if(dll_index == i){
+ mDLLs.push_back(pdll);
+ } else {
+ delete pdll;
+ };
+
+ Node* nd = new Node;
+ nd->mDLLIndex = dll_index;
+ nd->mDLLInternalIndex = scene_index;
+ mSceneIndex.push_back(nd);
+ };
+
+ };// load()
+
+ // \83A\83\93\83\8d\81[\83h //
+ void unload(){
+
+ std::vector<Node *>::iterator it = mSceneIndex.begin();
+ while(!mSceneIndex.empty()){
+ delete *it;
+ it = mSceneIndex.erase(it);
+ }
+
+ std::vector<sf::application::scene::DLL *>::iterator it1 = mDLLs.begin();
+ while(!mDLLs.empty()){
+ delete *it1;
+ it1 = mDLLs.erase(it1);
+ }
+
+ };// unload()
+
+ // \83V\81[\83\93\83C\83\93\83X\83^\83\93\83X\82Ì\90¶\90¬ //
+ Scene * const createScene(const int id,const bool bAddSceneContainer = true){
+ return mDLLs[mSceneIndex[id]->mDLLIndex]->createScene(mSceneIndex[id]->mDLLInternalIndex,bAddSceneContainer);
+ };// createScene()
+
+ private:
+
+ struct Node {
+ int mDLLIndex;
+ int mDLLInternalIndex;
+ };
+
+ // DLL\82Ì\83\8a\83X\83g
+ std::vector<sf::application::scene::DLL *> mDLLs;
+ // \83V\81[\83\93\81¨DLL\91Î\89\9e\95\
+ std::vector<Node *> mSceneIndex;
+ };// DLLManager
+
+/*
+ // ----------------------------------------------------------------
+ // \95Ò\8fW\89æ\96Ê\83p\83\89\83\81\81[\83^ \83N\83\89\83X
+ // ----------------------------------------------------------------
+ class Game;
+
+ SF_INTERFACE BGEditor
+ {
+ public:
+ BGEditor(){;};
+ virtual ~BGEditor(){;};
+ // OPERATORS //
+ // OPERATIONS //
+ // ACCESS //
+ virtual void game(Game * const pGame) = 0;
+ virtual Game * const game(void) const = 0;
+ };
+
+ SF_INTERFACE DispositionEditor
+ {
+ public:
+ DispositionEditorParameter(){;};
+ virtual ~DispositionEditorParameter(){;};
+ // OPERATORS //
+ // OPERATIONS //
+ // ACCESS //
+
+ virtual void game(Game * const pGame) = 0;
+ virtual Game * const game(void) const = 0;
+ };
+*/
+
+ }
+ }
+}
+
+#endif // !defined(AFX_MANAGER_H__54ECBFD0_103D_4D71_83BB_83D948FD2892__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// MyBullets.cpp: MyBullets \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// \97\9a\97ð\81F
+// $Log: MyBullets.cpp,v $
+// Revision 1.1 2001/10/28 21:40:36 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.8 2001/07/09 20:30:09 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.7 2001/07/01 21:30:34 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.6 2001/07/01 01:03:44 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.5 2001/06/10 21:17:01 fujiwara
+// \83^\81[\83Q\83b\83g\92Ç\89Á\81i\92n\8fã\97p\81j
+//
+// Revision 1.4 2001/05/29 01:12:35 fujiwara
+// \8eG\8b\9b\83L\83\83\83\89(\94ò\8ds\95¨\81j\82Ì\8dì\90¬\81B\94z\92u\83G\83f\83B\83^\82Ì\83o\83O\8fC\90³
+//
+// Revision 1.3 2001/05/13 20:04:24 fujiwara
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\82ª\94\90¶\82µ\82½\82Ì\82Å\8eæ\82è\8f\9c\82\81B
+// \8e©\92e\82Ì\83T\83E\83\93\83h\83e\83X\83g
+//
+// Revision 1.2 2001/05/12 00:49:34 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+#include <string>
+#include <vector>
+#include <memory>
+#include <stack>
+#include <list>
+#include <iostream>
+#include <fstream>
+#include <map>
+
+#include "stdio.h"
+#include "math.h"
+
+#include "exception.h"
+#include "singleton.h"
+#include "system.h"
+#include "console.h"
+#include "input.h"
+#include "sound.h"
+
+#include "Obj.h"
+#include "Obj2D.h"
+#include "Obj3D.h"
+#include "Obj3DL.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+
+#include "Background.h"
+#include "Scene.h"
+#include "main.h"
+
+#include "character.h"
+#include "Hit.h"
+#include "MyShip.h"
+#include "Game.h"
+#include "Enemys.h"
+#include "Armys.h"
+#include "DispositionControl.h"
+#include "AbstractCharacter.h"
+#include "MyBullets.h"
+
+using namespace sf::application;
+using namespace sf::system::console;
+using namespace sf::application::player::bullet;
+
+//////////////////////////////////////////////////////////////////////
+// Bullets
+//////////////////////////////////////////////////////////////////////
+
+const int Bullets::INIT_BULLETS = 3;
+
+// \83I\83u\83W\83F\83N\83g\90¶\90¬\83\81\83\\83b\83h\82Ö\82Ì\83|\83C\83\93\83^
+const Bullets::CreateFuncPtr Bullets::mpFunctions[MAX_TYPE] = {
+ &Normal::create
+};
+
+// \83e\83N\83X\83`\83\83\83\8d\81[\83_\81[\82Ö\82Ì\83|\83C\83\93\83^
+const Bullets::LoaderFuncPtr Bullets::mpLoaders[MAX_TYPE] = {
+ &Normal::load
+};
+
+int Normal::mSoundID = 0;
+int Normal::mSoundIDB = 0;
+
+// \83V\83\93\83O\83\8b\83g\83\93\83p\83^\81[\83\93\82ð\92[\90Ü\82é\82½\82ß\82Ì\83}\83N\83\8d
+IMPLEMENT_SINGLETON(Bullets,Bullets)
+
+// \83R\83\93\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+Bullets::Bullets()
+{
+ int i;
+ for(i = 0;i < MAX_BULLETS;i++){
+ mpBullets[i] = NULL;
+ }
+
+ mMax = INIT_BULLETS;
+ mCount = 0;
+}// Bullets()
+
+// \83f\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+Bullets::~Bullets()
+{
+ int i;
+
+ for(i = 0;i < MAX_BULLETS;i++)
+ {
+ if(mpBullets[i]){
+ delete mpBullets[i];
+ mpBullets[i] = NULL;
+ }
+ }
+
+
+}// ~Bullets()
+
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Bullets::initialize(){
+
+ int i;
+ for(i = 0;i < MAX_BULLETS;i++)
+ {
+ if(mpBullets[i]){
+ delete mpBullets[i];
+ mpBullets[i] = NULL;
+ }
+ }
+
+ // \83r\83b\83g\83}\83b\83v\82Ì\83\8d\81[\83h
+ for(i = 0;i < MAX_TYPE;i++){
+ (*mpLoaders[i])();
+ }
+ mCount = 0;
+}// initialize()
+
+// \92e\82Ì\88Ú\93® \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Bullets::move(void)
+{
+ int count = 0;
+ for(int i = 0;i < MAX_BULLETS;i++)
+ {
+ if(mpBullets[i]){
+ mpBullets[i]->move();
+ }
+ }
+}// move()
+
+// \92e\82ð\90¶\90¬\82·\82é \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+const bool Bullets::create(const TYPE id,const float x,const float y,const float z,sf::application::scene::Game * const pGame)
+{
+ if(id >= MAX_TYPE)
+ return false;
+
+ if(mCount >= mMax)
+ return false;
+
+ for(int i = 0 ; i < MAX_BULLETS; i++){
+ if(mpBullets[i] == NULL){
+ mpBullets[i] = (*mpFunctions[id])(x,y,z,pGame,i);
+ mCount++;
+ return true;
+ }
+ }
+ return false;
+}// create()
+
+// \93\96\82è\94»\92è \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+const bool Bullets::hitCheck(Character * const pDest){
+ bool return_ = false;
+
+ for(int i = 0;i < MAX_BULLETS;i++){
+ if(mpBullets[i]){
+ if(mpBullets[i]->hitCheck(pDest)){
+ mpBullets[i]->hit(pDest);
+ pDest->hit(mpBullets[i]);
+ return_ = true;
+ };
+ }
+ }
+ return return_;
+}// hitCheck(Character * const pDest)
+
+const bool Bullets::hitCheck(Characters * const pDest){
+ bool return_ = false;
+
+ for(int i = 0;i < MAX_BULLETS;i++){
+ if(mpBullets[i]){
+ if(pDest->hitCheck(mpBullets[i]))
+ return_ = true;
+ }
+ }
+
+ return return_;
+}// hitCheck(Characters * const pDest)
+
+
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+// \83m\81[\83}\83\8b\92e
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+
+const console::sprite::Info Normal::mSpriteInfo = {
+ "media\\normal.png",0.0f,0.0f,0.0f,0.0f,0xff000000,console::sprite::SPRITE2D
+};
+
+const console::sprite::Info Normal::mSpriteBInfo = {
+ "media\\normalb.png",0.0f,0.0f,32.0f,32.0f,0xff000000,console::sprite::SPRITE2D
+};
+
+const float Normal::mTextureHeight = 32.0f;
+const float Normal::mTextureWidth = 32.0f;
+
+std::auto_ptr<sf::system::console::sprite::Sprite> Normal::mpSprite;
+std::auto_ptr<sf::system::console::sprite::Sprite> Normal::mpSpriteB;
+
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Normal::initialize()
+{
+ mHitRect.offsetTop(-8.0f);
+ mHitRect.offsetLeft(-2.0f);
+ mHitRect.offsetBottom(8.0f);
+ mHitRect.offsetRight(2.0f);
+ mHitRect.isChecking(true);
+ mHitRect.characterPtr(this);
+ mbHit = false;
+ mObj.x(x());
+ mObj.y(y());
+ mObj.z(z() + Z_OFFSET);
+ mObj.color(0xc0ffffff);
+ mObj.drawMode(DRAW_ADD);
+
+ mObj.sprite(mpSprite.get());
+ mObj.visibility(true);
+
+ speed(-48.0f * sf::system::instance()->deltaTime());
+ direction(sf::system::PI / 2.0f);
+ mObj.angle(direction());
+ mBeforeY = y();
+ sf::system::instance()->sound()->play(mSoundID,1,false,false);
+ life(1);
+ mState = MOVE;
+}// Normal::initialize
+
+// \92e\82Ì\93®\82« \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Normal::move(void){
+
+ switch(mState)
+ {
+ case MOVE:
+ mBeforeY = y();
+ y(y() + speed());
+ mObj.y(y());
+
+ if(y() < (viewport::Y - mTextureHeight / 2.0f)){
+ delete this;
+ return;
+ }
+ // \93\96\82è\94»\92è\82Ì\95â\90³
+ mHitRect.offsetBottom(mHitRect.offsetTop() - speed() );
+ break;
+ case BOUND:
+ mAnimCount++;
+ if(mAnimCount > 7.0f){
+ mState = DEAD;
+ break;
+ }
+ mObj.index(mAnimCount);
+ break;
+ case DEAD:
+ delete this;
+ return;
+ }
+}// Normal::move()
+
+// \83e\83N\83X\83`\83\83\81E\83T\83E\83\93\83h\82Ì\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Normal::load(void){
+ using namespace sf::system::console::sprite;
+ if(!mpSprite.get()){
+ std::auto_ptr<sf::system::console::sprite::Sprite> ptemp(sf::system::instance()->console()->createSprite(&mSpriteInfo));
+ mpSprite = ptemp;
+ std::auto_ptr<sf::system::console::sprite::Sprite> ptemp1(sf::system::instance()->console()->createSprite(&mSpriteBInfo));
+ mpSpriteB = ptemp1;
+ }
+ using namespace sf::system;
+ mSoundID = instance()->sound()->load("beam.wav");
+ mSoundIDB = instance()->sound()->load("bound.wav");
+
+}// Normal::load()
+
+Character * const Normal::create(float x,float y ,float z,sf::application::scene::Game * const pGame,int index)
+{
+ Normal * ptemp = new Normal;
+ ptemp->x(x);
+ ptemp->y(y);
+ ptemp->z(z);
+ ptemp->index(index);
+ ptemp->game(pGame);
+ ptemp->initialize();
+ return ptemp;
+};// create()
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// MyBullets.h: MyBullets \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \97\9a\97ð\81F
+// $Log: MyBullets.h,v $
+// Revision 1.1 2001/10/28 21:40:36 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.6 2001/07/09 20:30:09 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.5 2001/07/01 01:03:44 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.4 2001/06/10 21:17:01 fujiwara
+// \83^\81[\83Q\83b\83g\92Ç\89Á\81i\92n\8fã\97p\81j
+//
+// Revision 1.3 2001/05/13 20:04:24 fujiwara
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\82ª\94\90¶\82µ\82½\82Ì\82Å\8eæ\82è\8f\9c\82\81B
+// \8e©\92e\82Ì\83T\83E\83\93\83h\83e\83X\83g
+//
+// Revision 1.2 2001/05/12 00:49:34 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_MYBULLETS_H__A11104A5_01DB_4B55_B2D4_04853C553E9C__INCLUDED_)
+#define AFX_MYBULLETS_H__A11104A5_01DB_4B55_B2D4_04853C553E9C__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+namespace sf {
+ namespace application {
+ namespace player {
+ namespace bullet {
+
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+// \8e©\92e\92è\8b`
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+
+const int MAX_BULLETS = 8;
+const int MAX_TYPE = 1;
+
+class Bullets : public Characters {
+ DECLARE_SINGLETON(Bullets)
+ Bullets();
+public:
+ ~Bullets();
+ // Type \92è\8b` //
+ // \83I\83u\83W\83F\83N\83g\90¶\90¬\83\81\83\\83b\83h\82Ö\82Ì\83|\83C\83\93\83^
+ typedef Character * const (*CreateFuncPtr)(float,float,float,sf::application::scene::Game * const,int);
+ // \83e\83N\83X\83`\83\83\83\8d\81[\83_\82Ö\82Ì\83|\83C\83\93\83^
+ typedef void (*LoaderFuncPtr)(void);
+ enum TYPE {
+ NORMAL = 0
+ };
+ // OPERATIONS
+ void initialize();
+ // \83L\83\83\83\89\83N\83^\81[\88Ú\93®
+ void move(void);
+
+ const bool create(const TYPE id,const float x,const float y,const float z,sf::application::scene::Game * const pGame);
+ const bool hitCheck(Character * const pDest);
+ const bool hitCheck(Characters * const pDest);
+ const void clear(int index){mpBullets[index] = NULL ; mCount-- ;};
+private:
+ Character *mpBullets[MAX_BULLETS];
+ int mCount;
+ int mMax;
+ static const LoaderFuncPtr mpLoaders[MAX_TYPE];
+ static const int INIT_BULLETS;
+ static const CreateFuncPtr mpFunctions[MAX_TYPE];
+};// Bullets()
+
+ //
+ const float Z_OFFSET = 0.2f;
+
+ // \83m\81[\83}\83\8b\92e \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ class Normal : public sf::application::AbstractCharacter {
+ public:
+ // LIFECYCLE //
+ Normal(){};
+ ~Normal(){ sf::application::player::bullet::Bullets::instance()->clear(index());};
+ // OPERATORS //
+ // OPERATIONS //
+ void initialize();
+ // \83L\83\83\83\89\83N\83^\81[\88Ú\93®
+ void move(void);
+
+ // \92\86\90S\8dÀ\95W
+
+ void hit(Character * const pDest)
+ {
+ if(mState == MOVE){
+ if(pDest->life() > life()){
+ mHitRect.isChecking(false);
+ mbHit = true;
+ mState = BOUND;
+ mObj.sprite(mpSpriteB.get());
+ mAnimCount = 0.0f;
+ sf::system::instance()->sound()->play(mSoundIDB,1,false,false);
+ } else {
+ mHitRect.isChecking(false);
+ mbHit = true;
+ mState = DEAD;
+ }
+ }
+ };
+
+ static Character * const create(float x,float y ,float z,sf::application::scene::Game * const pGame,int index);
+ static void load(void);
+
+ // ACCESS //
+ sf::application::hit::Interface * const hitObj(void){ return &mHitRect;};
+ // INQUIRY //
+ private:
+ enum STATE {
+ MOVE,
+ BOUND,
+ DEAD
+ } mState;
+
+ hit::HitRect mHitRect;
+ bool mbHit;
+// float mSpeed;
+ float mBeforeY;
+ float mAnimCount;
+
+ sf::system::console::ObjRectangle mObj;
+ static int mSoundID;
+ static int mSoundIDB;
+ static std::auto_ptr<sf::system::console::sprite::Sprite> mpSprite;
+ static std::auto_ptr<sf::system::console::sprite::Sprite> mpSpriteB;
+
+ static const console::sprite::Info mSpriteInfo;
+ static const console::sprite::Info mSpriteBInfo;
+ static const float mTextureWidth;
+ static const float mTextureHeight;
+ };// Normal
+
+};
+ }
+ }
+}
+
+#endif // !defined(AFX_MYBULLETS_H__A11104A5_01DB_4B55_B2D4_04853C553E9C__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// MyGroundBullets.cpp: MyGroundBullets \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// \97\9a\97ð\81F
+// $Log: MyGroundBullets.cpp,v $
+// Revision 1.1 2001/10/28 21:40:36 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.4 2001/07/09 20:30:09 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.3 2001/07/01 21:30:34 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.2 2001/07/01 01:03:44 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.1 2001/06/10 21:17:34 fujiwara
+// \92n\8fã\97p\92Ç\89Á
+//
+// Revision 1.4 2001/05/29 01:12:35 fujiwara
+// \8eG\8b\9b\83L\83\83\83\89(\94ò\8ds\95¨\81j\82Ì\8dì\90¬\81B\94z\92u\83G\83f\83B\83^\82Ì\83o\83O\8fC\90³
+//
+// Revision 1.3 2001/05/13 20:04:24 fujiwara
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\82ª\94\90¶\82µ\82½\82Ì\82Å\8eæ\82è\8f\9c\82\81B
+// \8e©\92e\82Ì\83T\83E\83\93\83h\83e\83X\83g
+//
+// Revision 1.2 2001/05/12 00:49:34 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+#include <string>
+#include <vector>
+#include <memory>
+#include <stack>
+#include <list>
+#include <iostream>
+#include <fstream>
+#include <map>
+
+#include "stdio.h"
+#include "math.h"
+
+#include "exception.h"
+#include "singleton.h"
+#include "system.h"
+#include "console.h"
+#include "input.h"
+#include "sound.h"
+
+#include "Obj.h"
+#include "Obj2D.h"
+#include "Obj3D.h"
+#include "Obj3DL.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+
+#include "Background.h"
+#include "Scene.h"
+#include "main.h"
+
+#include "character.h"
+#include "Hit.h"
+#include "MyShip.h"
+#include "Game.h"
+#include "Enemys.h"
+#include "Armys.h"
+#include "DispositionControl.h"
+#include "AbstractCharacter.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "MyGroundBullets.h"
+#include "Target.h"
+#include "Effects.h"
+#include "Explosion.h"
+#include "Enemys.h"
+
+
+using namespace sf::application;
+using namespace sf::system::console;
+using namespace sf::application::player::bullet;
+
+//////////////////////////////////////////////////////////////////////
+// GroundBullets
+//////////////////////////////////////////////////////////////////////
+
+const int GroundBullets::INIT_GROUNDBULLETS = 1;
+
+// \83I\83u\83W\83F\83N\83g\90¶\90¬\83\81\83\\83b\83h\82Ö\82Ì\83|\83C\83\93\83^
+const GroundBullets::CreateFuncPtr GroundBullets::mpFunctions[MAX_GROUNDTYPE] = {
+ &GroundNormal::create
+};
+
+// \83e\83N\83X\83`\83\83\83\8d\81[\83_\81[\82Ö\82Ì\83|\83C\83\93\83^
+const GroundBullets::LoaderFuncPtr GroundBullets::mpLoaders[MAX_GROUNDTYPE] = {
+ &GroundNormal::load
+};
+
+int GroundNormal::mSoundID = 0;
+
+// \83V\83\93\83O\83\8b\83g\83\93\83p\83^\81[\83\93\82ð\92[\90Ü\82é\82½\82ß\82Ì\83}\83N\83\8d
+IMPLEMENT_SINGLETON(GroundBullets,GroundBullets)
+
+// \83R\83\93\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+GroundBullets::GroundBullets()
+{
+ int i;
+ for(i = 0;i < MAX_GROUNDBULLETS;i++){
+ mpGroundBullets[i] = NULL;
+ }
+
+ mMax = INIT_GROUNDBULLETS;
+ mCount = 0;
+}// GroundBullets()
+
+// \83f\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+GroundBullets::~GroundBullets()
+{
+ int i;
+
+ for(i = 0;i < MAX_GROUNDBULLETS;i++)
+ {
+ if(mpGroundBullets[i]){
+ delete mpGroundBullets[i];
+ mpGroundBullets[i] = NULL;
+ }
+ }
+
+
+}// ~GroundBullets()
+
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void GroundBullets::initialize(){
+
+ int i;
+ for(i = 0;i < MAX_GROUNDBULLETS;i++)
+ {
+ if(mpGroundBullets[i]){
+ delete mpGroundBullets[i];
+ mpGroundBullets[i] = NULL;
+ }
+ }
+
+ // \83r\83b\83g\83}\83b\83v\82Ì\83\8d\81[\83h
+ for(i = 0;i < MAX_GROUNDTYPE;i++){
+ (*mpLoaders[i])();
+ }
+ mCount = 0;
+}// initialize()
+
+// \92e\82Ì\88Ú\93® \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void GroundBullets::move(void)
+{
+ int count = 0;
+ for(int i = 0;i < MAX_GROUNDBULLETS;i++)
+ {
+ if(mpGroundBullets[i]){
+ mpGroundBullets[i]->move();
+ }
+ }
+}// move()
+
+// \92e\82ð\90¶\90¬\82·\82é \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+const bool GroundBullets::create(const TYPE id,const float x,const float y,const float z,sf::application::scene::Game * const pGame)
+{
+ if(id >= MAX_GROUNDTYPE)
+ return false;
+
+ if(mCount >= mMax)
+ return false;
+
+ for(int i = 0 ; i < MAX_GROUNDBULLETS; i++){
+ if(mpGroundBullets[i] == NULL){
+ mpGroundBullets[i] = (*mpFunctions[id])(x,y,z,pGame,i);
+ mCount++;
+ return true;
+ }
+ }
+ return false;
+}// create()
+
+// \93\96\82è\94»\92è \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+const bool GroundBullets::hitCheck(Character * const pDest){
+ bool return_ = false;
+
+ for(int i = 0;i < MAX_GROUNDBULLETS;i++){
+ if(mpGroundBullets[i]){
+ if(mpGroundBullets[i]->hitCheck(pDest)){
+ mpGroundBullets[i]->hit(pDest);
+ pDest->hit(mpGroundBullets[i]);
+ return_ = true;
+ };
+ }
+ }
+ return return_;
+}// hitCheck(Character * const pDest)
+
+const bool GroundBullets::hitCheck(Characters * const pDest){
+ bool return_ = false;
+
+ for(int i = 0;i < MAX_GROUNDBULLETS;i++){
+ if(mpGroundBullets[i]){
+ if(pDest->hitCheck(mpGroundBullets[i]))
+ return_ = true;
+ }
+ }
+
+ return return_;
+}// hitCheck(Characters * const pDest)
+
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+// \83m\81[\83}\83\8b\92e
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+
+const console::sprite::Info GroundNormal::mSpriteInfo = {
+ "media\\groundnormal.png",0.0f,0.0f,0.0f,0.0f,0xff000000,console::sprite::SPRITE2D
+};
+
+const float GroundNormal::mTextureHeight = 32.0f;
+const float GroundNormal::mTextureWidth = 32.0f;
+const float GroundNormal::INIT_SPEED = -3.0f;
+const float GroundNormal::INIT_ACCEL = 1.0f;
+std::auto_ptr<sf::system::console::sprite::Sprite> GroundNormal::mpSprite;
+
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void GroundNormal::initialize()
+{
+ mHitRect.offsetTop(-4.0f);
+ mHitRect.offsetLeft(-4.0f);
+ mHitRect.offsetBottom(4.0f);
+ mHitRect.offsetRight(4.0f);
+
+ mHitRect.isChecking(false);
+ mHitRect.characterPtr(this);
+ mbHit = false;
+
+ mObj.x(x());
+ mObj.y(y());
+ mObj.z(z() + GROUND_Z_OFFSET);
+
+ mObj.color(0xc0ffffff);
+ mObj.drawMode(DRAW_ADD);
+
+ mObj.sprite(mpSprite.get());
+ mObj.visibility(true);
+
+ mObj.scalingX(1.0f);
+ mObj.scalingY(1.0f);
+
+ mObjTarget.x(x());
+ mObjTarget.y(y() + Target::OFFSET_Y);
+ mObjTarget.z(z() + GROUND_Z_OFFSET);
+
+ mObjTarget.color(0x40ff0000);
+ mObjTarget.drawMode(DRAW_ADD);
+
+ mObjTarget.sprite(Target::sprite());
+ mObjTarget.visibility(true);
+
+ mObjTarget.scalingX(1.0f);
+ mObjTarget.scalingY(1.0f);
+
+ speed(INIT_SPEED * sf::system::instance()->deltaTime());
+
+ mOffsetY = - Target::OFFSET_Y;
+
+ direction(sf::system::PI);
+ life(1);
+ sf::system::instance()->sound()->play(mSoundID,1,false,false);
+ mState = MOVE;
+}// GroundNormal::initialize
+
+// \92e\82Ì\93®\82« \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void GroundNormal::move(void){
+
+
+ switch(mState){
+ case MOVE:
+ main();
+ return;
+ case BOMB:
+ die();
+ return;
+ }
+
+
+}// GroundNormal::move()
+
+void GroundNormal::main(void)
+{
+ y(y() + speed());
+ mObj.angle(mObj.angle() + 0.25f);
+ mObj.y(y());
+ mObj.scalingX(mObj.scalingX() - 0.02f);
+ mObj.scalingY(mObj.scalingY() - 0.02f);
+
+ mObjTarget.y(mObjTarget.y() + game()->scrollSpeed());
+
+ mOffsetY += speed();
+ mOffsetY -= game()->scrollSpeed();
+
+ if(mOffsetY < 0.0f)
+ {
+ mState = BOMB;
+ mHitRect.isChecking(true);
+// mTimer = 3;
+ }
+
+
+ if(mbHit || y() < (viewport::Y - mTextureHeight / 2.0f)){
+ delete this;
+ return;
+ }
+
+ // \93\96\82è\94»\92è\82Ì\95â\90³
+
+ mHitRect.offsetBottom(mHitRect.offsetTop() - speed() );
+}// main()
+
+void GroundNormal::die(void)
+{
+ using namespace sf::application;
+ direction(3.0f * sf::system::PI / 2.0f );
+ speed( - game()->scrollSpeed());
+
+ effect::Explosion *pExp = (effect::Explosion*)effect::Effects::instance()->create(effect::Effects::EXPLOSION,x(),y(),enemy::Z_OFFSET_ARMYS - 0.01f,game(),this);
+ if(pExp){
+ pExp->scaling(0.8f);
+ }
+ delete this;
+
+}// die()
+
+// \83e\83N\83X\83`\83\83\81E\83T\83E\83\93\83h\82Ì\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void GroundNormal::load(void){
+ using namespace sf::system::console::sprite;
+ if(!mpSprite.get()){
+ std::auto_ptr<sf::system::console::sprite::Sprite> ptemp(sf::system::instance()->console()->createSprite(&mSpriteInfo));
+ mpSprite = ptemp;
+// mpSprite = std::auto_ptr<sf::system::console::sprite::Sprite *>(sf::system::instance()->console()->createSprite(&mSpriteInfo));
+ }
+ using namespace sf::system;
+ mSoundID = instance()->sound()->load("gnormal.wav");
+}// GroundNormal::load()
+
+Character * const GroundNormal::create(float x,float y ,float z,sf::application::scene::Game * const pGame,int index)
+{
+ GroundNormal * ptemp = new GroundNormal;
+ ptemp->x(x);
+ ptemp->y(y);
+ ptemp->z(z);
+ ptemp->index(index);
+ ptemp->game(pGame);
+ ptemp->initialize();
+ return ptemp;
+}// create();
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// MyGroundBullets.h: MyGroundBullets \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \97\9a\97ð\81F
+// $Log: MyGroundBullets.h,v $
+// Revision 1.1 2001/10/28 21:40:36 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.2 2001/07/09 20:30:09 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.1 2001/06/10 21:17:34 fujiwara
+// \92n\8fã\97p\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_MYGROUNDBULLETS_H__A11104A5_01DB_4B55_B2D4_04853C553E9C__INCLUDED_)
+#define AFX_MYGROUNDBULLETS_H__A11104A5_01DB_4B55_B2D4_04853C553E9C__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+namespace sf {
+ namespace application {
+ namespace player {
+ namespace bullet {
+
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+// \8e©\92e\92è\8b`
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+
+ const int MAX_GROUNDBULLETS = 1;
+ const int MAX_GROUNDTYPE = 1;
+
+class GroundBullets : public Characters {
+ DECLARE_SINGLETON(GroundBullets)
+ GroundBullets();
+public:
+ ~GroundBullets();
+ // Type \92è\8b` //
+ // \83I\83u\83W\83F\83N\83g\90¶\90¬\83\81\83\\83b\83h\82Ö\82Ì\83|\83C\83\93\83^
+ typedef Character * const (*CreateFuncPtr)(float,float,float,sf::application::scene::Game * const,int);
+ // \83e\83N\83X\83`\83\83\83\8d\81[\83_\82Ö\82Ì\83|\83C\83\93\83^
+ typedef void (*LoaderFuncPtr)(void);
+ enum TYPE {
+ NORMAL = 0
+ };
+ // OPERATIONS
+ void initialize();
+ // \83L\83\83\83\89\83N\83^\81[\88Ú\93®
+ void move(void);
+
+ const bool create(const TYPE id,const float x,const float y,const float z,sf::application::scene::Game * const pGame);
+ const bool hitCheck(Character * const pDest);
+ const bool hitCheck(Characters * const pDest);
+ const void clear(int index){mpGroundBullets[index] = NULL ; mCount-- ;};
+ //
+
+private:
+ Character *mpGroundBullets[MAX_GROUNDBULLETS];
+ int mCount;
+ int mMax;
+ static const LoaderFuncPtr mpLoaders[MAX_GROUNDTYPE];
+ static const int INIT_GROUNDBULLETS;
+ static const CreateFuncPtr mpFunctions[MAX_GROUNDTYPE];
+};// GroundBullets()
+
+ //
+ const float GROUND_Z_OFFSET = 0.5f;
+
+ // \83m\81[\83}\83\8b\92e \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ class GroundNormal : public sf::application::AbstractCharacter {
+ public:
+ // LIFECYCLE //
+ GroundNormal(){};
+ ~GroundNormal(){ sf::application::player::bullet::GroundBullets::instance()->clear(index());};
+ // OPERATORS //
+ // OPERATIONS //
+ void initialize();
+ // \83L\83\83\83\89\83N\83^\81[\88Ú\93®
+ void move(void);
+
+ // \92\86\90S\8dÀ\95W
+
+ void hit(Character * const pDest){mHitRect.isChecking(false);mbHit = true;};
+
+ static Character * const create(float x,float y ,float z,sf::application::scene::Game * const pGame,int index);
+ static void load(void);
+
+ // ACCESS //
+ sf::application::hit::Interface * const hitObj(void){ return &mHitRect;};
+ // INQUIRY //
+ private:
+
+ void main();
+ void die();
+
+ enum STATE {
+ MOVE,
+ BOMB
+ } mState;
+ hit::HitRect mHitRect;
+ bool mbHit;
+ float mOffsetY;
+ float mAccel;
+ int mTimer;
+
+ sf::system::console::ObjRectangle mObj;
+ sf::system::console::ObjRectangle mObjTarget;
+
+ static int mSoundID;
+ static std::auto_ptr<sf::system::console::sprite::Sprite> mpSprite;
+ static const console::sprite::Info mSpriteInfo;
+ static const float mTextureWidth;
+ static const float mTextureHeight;
+
+ static const float INIT_SPEED;
+ static const float INIT_ACCEL;
+ };// GroundNormal
+
+};
+ }
+ }
+}
+
+#endif // !defined(AFX_MYGROUNDBULLETS_H__A11104A5_01DB_4B55_B2D4_04853C553E9C__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// Ship.cpp: Ship \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// \97\9a\97ð\81F
+// $Log: MyShip.cpp,v $
+// Revision 1.1 2001/10/28 21:40:36 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.8 2001/07/09 20:30:09 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.7 2001/07/01 21:30:34 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.6 2001/07/01 01:03:44 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.5 2001/06/10 21:17:01 fujiwara
+// \83^\81[\83Q\83b\83g\92Ç\89Á\81i\92n\8fã\97p\81j
+//
+// Revision 1.4 2001/05/29 01:12:35 fujiwara
+// \8eG\8b\9b\83L\83\83\83\89(\94ò\8ds\95¨\81j\82Ì\8dì\90¬\81B\94z\92u\83G\83f\83B\83^\82Ì\83o\83O\8fC\90³
+//
+// Revision 1.3 2001/05/12 00:49:34 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+// 2001/5/4 \8e©\92e\8aÖ\98A\82Ì\8eÀ\91\95\82ð\92Ç\89Á
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+#include <string>
+#include <vector>
+#include <memory>
+#include <stack>
+#include <list>
+#include <iostream>
+#include <fstream>
+#include <map>
+
+#include "stdio.h"
+#include "math.h"
+
+#include "exception.h"
+#include "singleton.h"
+#include "system.h"
+#include "console.h"
+#include "input.h"
+#include "sound.h"
+
+#include "Obj.h"
+#include "Obj2D.h"
+#include "Obj3D.h"
+#include "Obj3DL.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+
+#include "Background.h"
+#include "Scene.h"
+#include "main.h"
+
+#include "character.h"
+#include "Hit.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "DispositionControl.h"
+#include "Game.h"
+#include "MyShip.h"
+#include "Enemys.h"
+#include "Armys.h"
+#include "AbstractCharacter.h"
+#include "MyBullets.h"
+#include "Effects.h"
+#include "Explosion.h"
+#include "Target.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+
+using namespace sf::application;
+using namespace sf::application::player;
+using namespace sf::system::console;
+
+const float Ship::INIT_X = (float)(viewport::X + viewport::WIDTH / 2);
+const float Ship::INIT_Y = (float)(viewport::Y + viewport::HEIGHT * 2 / 3);
+const float Ship::INIT_Z = 0.2f;
+
+const float Ship::BODY_HEIGHT = 64.0f;
+const float Ship::BODY_WIDTH = 64.0f;
+const float Ship::INIT_SPEED = 8.0f;
+const int Ship::INIT_LIFE = 3;
+
+const int Ship::PATTERN_MAX = 7;
+const int Ship::PATTERN_MIDDLE = 3;
+
+const console::sprite::Info Ship::INFO_BODY =
+{ "media\\myship.png",0.0f,0.0f,64.0f,64.0f,0xff000000,console::sprite::SPRITE2D};
+
+const int OBJ_BODY_NO = 2;
+
+// \83R\83\93\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+Ship::Ship(scene::Game *pGame){
+ mpGame = NULL;
+ mBody.x(INIT_X);
+ mBody.y(INIT_Y);
+ mBody.z(INIT_Z);
+
+ mpConsole = NULL;
+ mpSystem = NULL;
+ mpSound = NULL;
+ mpInput = NULL;
+ mpSpriteShip = NULL;
+ mpGame = pGame;
+ mpTarget = NULL;
+}
+
+Ship::Ship()
+{
+ mpGame = NULL;
+ mBody.x(INIT_X);
+ mBody.y(INIT_Y);
+ mBody.z(INIT_Z);
+
+ mpConsole = NULL;
+ mpSystem = NULL;
+ mpSound = NULL;
+ mpInput = NULL;
+ mpSpriteShip = NULL;
+ mpTarget = NULL;
+
+}
+
+// \83f\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+Ship::~Ship()
+{
+ if(mpSpriteShip)
+ delete mpSpriteShip;
+ if(mpTarget)
+ delete mpTarget;
+
+}// ~Ship()
+
+// \8e©\8b@\82Ì\93®\82« \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Ship::move(void)
+{
+ using namespace sf::system::console;
+ bool bmove = false;
+
+
+ switch (mState)
+ {
+ case MOVE:
+
+
+ if(mpInput->left() && x() > (viewport::X + BODY_WIDTH / 2.0f)){
+ x(x() - speed());
+ if(mBody.index() > 0){
+ mBody.index(mBody.index() - 1);
+ }
+ bmove = true;
+ }
+
+ if(mpInput->right() && x() < (viewport::X + viewport::WIDTH - BODY_WIDTH / 2.0f))
+ {
+ x(x() + speed());
+ if(mBody.index() < PATTERN_MAX){
+ mBody.index(mBody.index() + 1);
+ }
+ bmove = true;
+ }
+
+ if(!bmove){
+ if(mBody.index() < PATTERN_MIDDLE){
+ mBody.index(mBody.index() + 1);
+ } else {
+ if(mBody.index() > PATTERN_MIDDLE){
+ mBody.index(mBody.index() - 1);
+ }
+ }
+
+ }
+ if(mpInput->up() && y() > (viewport::Y + BODY_HEIGHT / 2.0f))
+ y(y() - speed());
+
+ if(mpInput->down() && y() < (viewport::Y + viewport::HEIGHT - BODY_HEIGHT / 2.0f))
+ y(y() + speed());
+
+ mBody.x(x());
+ mBody.y(y());
+ mpTarget->move();
+
+ // \92e\90§\8cä
+ if(mpInput->buttonA(true))
+ bullet::Bullets::instance()->create(bullet::Bullets::NORMAL,mBody.x(),mBody.y(),mBody.z(),mpGame);
+ break;
+ case DEAD:
+ mCounter--;
+
+ if(mCounter == 60){
+ mBody.visibility(false);
+ delete mpTarget;
+ mpTarget = NULL;
+ }
+
+ if(mCounter == 0){
+ life(life() - 1);
+ if(life() == 0){
+ mpGame->state(scene::Game::OVER);
+ } else {
+ mpGame->state(scene::Game::RESTART);
+ }
+ }
+
+ }
+
+
+}// move()
+
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Ship::initialize()
+{
+ x(INIT_X);
+ y(INIT_Y);
+ z(INIT_Z);
+
+ mBody.x(INIT_X);
+ mBody.y(INIT_Y);
+ mBody.z(INIT_Z);
+ mBody.index(PATTERN_MIDDLE);
+ mBody.color(0xffffffff);
+ mBody.drawMode(DRAW_TRANS);
+
+ mShipHitArea.characterPtr(this);
+ mShipHitArea.offsetBottom(20.0f);
+ mShipHitArea.offsetTop(-20.0f);
+ mShipHitArea.offsetLeft(-10.0f);
+ mShipHitArea.offsetRight(10.0f);
+ mShipHitArea.isChecking(true);
+
+/*
+ mBody.scalingX(0.5f);
+ mBody.scalingY(0.5f);
+ mBody.scalingZ(0.5f);
+*/
+// mBody.angleZ(PI);
+// mBody.angleX(PI/2.0f);
+
+ mpSystem = system::instance();
+ mpConsole = mpSystem->console();
+ mpSound = mpSystem->sound();
+ mpInput = mpSystem->input();
+ if(!mpSpriteShip)
+ mpSpriteShip = mpConsole->createSprite(&INFO_BODY);
+
+ mBody.sprite(mpSpriteShip );
+ mTimer = 0;
+ mBody.visibility(true);
+ speed(INIT_SPEED * sf::system::instance()->deltaTime());
+ mState =MOVE;
+ Target::load();
+ if(!mpTarget)
+ mpTarget = new Target(mpGame);
+ mpTarget->initialize();
+}// initialize()
+
+// \93\96\82è\8f\88\97\9d \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Ship::hit(Character * const pDest){
+ mShipHitArea.isChecking(false);
+ mState = DEAD;
+ mCounter = 66;
+ effect::Explosion *pExp = (effect::Explosion*)effect::Effects::instance()->create(effect::Effects::EXPLOSION,x(),y(),0.1f,mpGame,this);
+ if(pExp){
+ pExp->scaling(2.0f);
+ }
+}// hit();
+
+// \83\8a\83X\83^\81[\83g \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Ship::restart(void){
+// mBody.visibility(true);
+ mShipHitArea.isChecking(true);
+ mState =MOVE;
+}// restart();
+
+
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// Ship.h: Ship \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \93\96\82è\94»\92è\82 \82½\82è\82ª\82¿\82å\82Á\82Æ\82Ü\82í\82è\82\82Ç\82¢\82©\82È\81D\81D\81D\81B
+// \97\9a\97ð\81F
+// $Log: MyShip.h,v $
+// Revision 1.1 2001/10/28 21:40:36 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.5 2001/07/09 20:30:09 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.4 2001/06/10 21:17:01 fujiwara
+// \83^\81[\83Q\83b\83g\92Ç\89Á\81i\92n\8fã\97p\81j
+//
+// Revision 1.3 2001/05/12 00:49:34 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_MYSHIP_H__97EA7373_4E0F_416E_9888_3AB874F5B372__INCLUDED_)
+#define AFX_MYSHIP_H__97EA7373_4E0F_416E_9888_3AB874F5B372__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "character.h"
+namespace sf {
+ namespace application {
+// namespace scene {
+// class Game;
+// }
+
+ using namespace sf::system;
+namespace player {
+class Target;
+
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+// \8e©\8b@\83N\83\89\83X\92è\8b`
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+class Ship : public Character
+{
+public:
+ Ship();
+ Ship(scene::Game *pGame);
+ virtual ~Ship();
+ // OPERATIONS //
+ void initialize();
+ void move(void);
+ void restart(void);
+ // \92\86\90S\8dÀ\95W
+ const float x(void){return mX;};
+ void x(const float value){mX = value;};
+
+ const float y(void){return mY;};
+ void y(const float value){mY = value;};
+
+ const float z(void){return mZ;};
+ void z(const float value){mZ = value;};
+ // \83\89\83C\83t
+ const int life(void){return mLife;};
+ void life(const int value){mLife = value;};
+ // \88Ú\93®\83X\83s\81[\83h
+ const float speed(void){return mMoveSpeed;};
+ void speed(const float value){mMoveSpeed = value;};
+ // \88Ú\93®\95û\8cü (\83\89\83W\83A\83\93\81j
+ const float direction(void){return mMoveDirection;};
+ void direction(const float value){mMoveDirection = value;};
+
+ const bool hitCheck(Character * const pDest){
+ if(mShipHitArea.check(pDest->hitObj())){
+ hit(pDest);
+ pDest->hit(this);
+ return true;
+ };
+ return false;
+ };
+
+ const bool hitCheck(Characters * const pDest){
+ return pDest->hitCheck(this);
+ };
+
+ void hit(Character * const pDest);
+ sf::application::hit::Interface * const hitObj(void){return &mShipHitArea;};
+
+ void visibility(const bool value){mBody.visibility(value);};
+ const bool visibility(void){return mBody.visibility();};
+
+ static const int INIT_LIFE;
+private:
+ enum STATE {
+ MOVE,
+ DEAD
+ } mState;
+
+ float mX,mY,mZ;
+ int mLife;
+ float mMoveSpeed,mMoveDirection;
+ System* mpSystem;
+ console::Console* mpConsole;
+ input::Input* mpInput;
+ sound::Sound* mpSound;
+
+ console::ObjRectangle mBody;
+ console::sprite::Sprite * mpSpriteShip;
+ Target * mpTarget;
+ scene::Game *mpGame;
+ hit::HitRect mShipHitArea;
+ int mTimer;
+ int mCounter;
+ static const console::sprite::Info INFO_BODY;
+ static const float BODY_WIDTH;
+ static const float BODY_HEIGHT;
+
+ static const float INIT_X;
+ static const float INIT_Y;
+ static const float INIT_Z;
+
+ static const float INIT_SPEED;
+ static const int PATTERN_MAX;
+ static const int PATTERN_MIDDLE;
+
+};// Ship()
+
+
+ }// player
+ } // application
+}// sf
+
+#endif // !defined(AFX_MYSHIP_H__97EA7373_4E0F_416E_9888_3AB874F5B372__INCLUDED_)
--- /dev/null
+========================================================================
+ \83_\83C\83i\83~\83b\83N \83\8a\83\93\83N \83\89\83C\83u\83\89\83\8a : s2001
+========================================================================
+
+
+AppWizard \82Í\82±\82Ì s2001 DLL \82ð\8dì\90¬\82µ\82Ü\82µ\82½\81B
+
+\82±\82Ì\83t\83@\83C\83\8b\82É\82Í s2001 \83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ð\8d\\90¬\82µ\82Ä\82¢\82é\8ae\83t\83@\83C\83\8b\82Ì\8aT\97v
+\90à\96¾\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82Ü\82·\81B
+
+s2001.dsp
+ \82±\82Ì\83t\83@\83C\83\8b (\83v\83\8d\83W\83F\83N\83g \83t\83@\83C\83\8b) \82Í\83v\83\8d\83W\83F\83N\83g \83\8c\83x\83\8b\82Ì\8fî\95ñ\82ð\8aÜ\82Ý\81A
+ \83V\83\93\83O\83\8b \83v\83\8d\83W\83F\83N\83g\82Ü\82½\82Í\83T\83u \83v\83\8d\83W\83F\83N\83g\82Ì\83r\83\8b\83h\82É\8eg\97p\82³\82ê\82Ü\82·\81B\91¼\82Ì
+ \83\86\81[\83U\81[\82Æ\83v\83\8d\83W\83F\83N\83g \83t\83@\83C\83\8b (.dsp) \82ð\8b¤\97L\82Å\82«\82Ü\82·\82ª\81A\83\81\83C\83N \83t\83@\83C\83\8b
+ \82Í\83\8d\81[\83J\83\8b\82É\83G\83N\83X\83|\81[\83g\82µ\82Ä\82\82¾\82³\82¢\81B
+s2001.cpp
+ \82±\82Ì\83t\83@\83C\83\8b\82Í DLL \82Ì\92\86\90S\82Æ\82È\82é\83\\81[\83X \83t\83@\83C\83\8b\82Å\82·\81B
+
+ \8dì\90¬\82³\82ê\82½\8fó\91Ô\82Å\82Í\81A\82±\82Ì DLL \82Í\83V\83\93\83{\83\8b\82Ì\83G\83N\83X\83|\81[\83g\82ð\8ds\82Á\82Ä\82¢\82Ü\82¹\82ñ\81B
+ \82»\82Ì\82½\82ß\83r\83\8b\83h\82ð\8ds\82Á\82Ä\82à .LIB \83t\83@\83C\83\8b\82Í\8dì\90¬\82³\82ê\82Ü\82¹\82ñ\81B\82±\82Ì\83v\83\8d\83W\83F\83N\83g\82ð
+ \91¼\82Ì\83v\83\8d\83W\83F\83N\83g\82É\88Ë\91¶\8aÖ\8cW\82ð\8e\9d\82½\82¹\82½\82¢\8fê\8d\87\82É\82Í\81A\82±\82Ì DLL \82©\82ç\83V\83\93\83{\83\8b\82ð
+ \83G\83N\83X\83|\81[\83g\82·\82é\82½\82ß\82Ì\83R\81[\83h\82ð\92Ç\89Á\82µ\82Ä\83\89\83C\83u\83\89\83\8a\82Ì\83G\83N\83X\83|\81[\83g\82ð\8ds\82¢\81A
+ \83v\83\8d\83W\83F\83N\83g\90Ý\92è\82Ì [\83\8a\83\93\83N] \83^\83u\8fã\82Å [LIB \83t\83@\83C\83\8b\82ð\90¶\90¬\82µ\82È\82¢] \83I\83v\83V\83\87\83\93
+ \82ð\83N\83\8a\83A\82·\82é\95K\97v\82ª\82 \82è\82Ü\82·\81B
+
+/////////////////////////////////////////////////////////////////////////////
+\82»\82Ì\91¼\82Ì\95W\8f\80\83t\83@\83C\83\8b:
+
+StdAfx.h, StdAfx.cpp
+ \82±\82ê\82ç\82Ì\83t\83@\83C\83\8b\82Í\83v\83\8a\83R\83\93\83p\83C\83\8b\8dÏ\82Ý\83w\83b\83_\81[\83t\83@\83C\83\8b (PCH) s2001.pch
+ \82â\83v\83\8a\83R\83\93\83p\83C\83\8b\8dÏ\82Ý\8c^\83t\83@\83C\83\8b StdAfx.obj \82ð\8d\\92z\82·\82é\82½\82ß\82É\8eg\97p\82³\82ê\82Ü\82·\81B
+
+
+/////////////////////////////////////////////////////////////////////////////
+\82»\82Ì\91¼\82Ì\92\8d\88Ó:
+
+AppWizard \82Í "TODO:" \82Å\8en\82Ü\82é\83R\83\81\83\93\83g\82Å\81A\83\\81[\83X\83R\81[\83h\82Ì\92Ç\89Á\82â\83J\83X\83^\83}\83C\83Y\82Ì\95K\97v
+\82È\8fê\8f\8a\82ð\8e¦\82µ\82Ü\82·\81B
+
+
+/////////////////////////////////////////////////////////////////////////////
--- /dev/null
+/**
+ * @file
+ * @brief \83V\81[\83\93\83C\83\93\83^\81[\83t\83F\81[\83X\81A\82¨\82æ\82Ñ\82»\82Ì\8aÖ\98A\92è\8b`\82ð\8ds\82¤.
+ *
+ * @author S.F.
+ * @version $Id:
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+/// \8fd\95¡\83C\83\93\83N\83\8b\81[\83h\96h\8e~\83}\83N\83\8d
+#ifndef SCENE_H
+#define SCENE_H
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "singleton.h"
+#include "sfinterface.h"
+#include "scenetype.h"
+namespace sf {
+ namespace application {
+ /// \83V\81[\83\93\82É\8aÖ\98A\82·\82é\82à\82Ì\82Í\82·\82×\82Ä\82±\82Ì\96¼\91O\8bó\8aÔ\82É\8aÜ\82Ü\82ê\82Ü\82·\81B
+ namespace scene{
+
+ class Scene;
+ class Listener;
+
+ /** \83V\81[\83\93\83C\83\93\83^\81[\83t\83F\81[\83X.
+ * \83V\81[\83\93\82Æ\82Í\81A\82±\82Ì\83Q\81[\83\80\92\86\82Å\82Í\83X\83^\81[\83g\89æ\96Ê\81A\83Q\81[\83\80\89æ\96Ê\81A\83^\83C\83g\83\8b\89æ\96Ê\81D\81D\81D\82È\82Ç\82Ì\82±\82Æ\82ð\8ew\82µ\82Ü\82·\81B
+ * \83V\81[\83\93\90Ø\82è\91Ö\82¦\8e\9e\82É\8ds\82í\82ê\82é\83g\83\89\83\93\83W\83V\83\87\83\93\82à\82P\82Â\82Ì\83V\81[\83\93\82Æ\82µ\82Ä\82Æ\82ç\82¦\82Ä\82Ü\82·\81B
+ */
+ class SF_INTERFACE Scene
+ {
+ public:
+ /// \83R\83\93\83X\83g\83\89\83N\83^
+ Scene() {};
+ /// \83f\83X\83g\83\89\83N\83^
+ virtual ~Scene() {};
+ // OPERATORS //
+ // OPERATIONS //
+ /// \83V\81[\83\93\82ð\8eÀ\8ds\82·\82é
+ virtual void move(void) = 0;
+ /** \83V\81[\83\93\82ª\94\8ds\82·\82é\83C\83x\83\93\83g\82ð\8eó\82¯\8eæ\82éListener\83C\83\93\83^\81[\83t\83F\81[\83X\82ð\93o\98^\82·\82é
+ * @param Listener \82Ì\83|\83C\83\93\83^ */
+ virtual void addListener(Listener * const pListener) = 0;
+
+ /** \83V\81[\83\93\82ª\94\8ds\82·\82é\83C\83x\83\93\83g\82ð\8eó\82¯\8eæ\82éListener\83C\83\93\83^\81[\83t\83F\81[\83X\82ð\8dí\8f\9c\82·\82é
+ * @param Listener \82Ì\83|\83C\83\93\83^ */
+ virtual void removeListener(Listener * const pListener) = 0;
+ /** \83V\81[\83\93\82ð\8bx\8e~\82·\82é */
+ virtual void sleep(void) = 0;
+ /** \83V\81[\83\93\82ð\83A\83N\83e\83B\83u\82É\82·\82é */
+ virtual void active(void) = 0;
+ // ACCESS //
+ /** \83V\81[\83\93\82Ì\8eí\97Þ\82ð\8eæ\93¾\82·\82é
+ * @return scent::Type */
+ virtual const scene::TYPE type() const = 0;
+ // INQUIRY //
+ /** \83V\81[\83\93\82Ì\8fó\91Ô\82ð\8eæ\93¾\82·\82é
+ @retval true \8a\88\93®\92\86
+ @retval false \8bx\8e~\92\86 */
+ virtual const bool isActive(void) const = 0;
+ };// Scene()
+
+ /** Scene\82ð\90¶\90¬\82·\82é\83\81\83\\83b\83h */
+ typedef Scene *(*CreateSceneMethod)(int);
+
+
+ /** \83C\83x\83\93\83g\83\8a\83X\83i\81[\83C\83\93\83^\83t\83F\81[\83X */
+ class SF_INTERFACE Listener
+ {
+ public:
+ /** \83V\81[\83\93\82ª\8fI\97¹\82µ\82½
+ @param pScene Scene \83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^ */
+ virtual void endOfScene(Scene * const pScene) = 0;
+ /** ExitKey\82ª\89\9f\82³\82ê\82½
+ @param pScene Scene \83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^ */
+ virtual void exitKeyPressed(Scene * const pScene) = 0;
+ };// Listener
+
+ }// scene
+ }// application
+}// sf
+
+#endif
\ No newline at end of file
--- /dev/null
+// stdafx.cpp : \95W\8f\80\83C\83\93\83N\83\8b\81[\83h\83t\83@\83C\83\8b\82ð\8aÜ\82Þ\83\\81[\83X \83t\83@\83C\83\8b
+// s2001.pch \90¶\90¬\82³\82ê\82é\83v\83\8a\83R\83\93\83p\83C\83\8b\8dÏ\83w\83b\83_\81[
+// stdafx.obj \90¶\90¬\82³\82ê\82é\83v\83\8a\83R\83\93\83p\83C\83\8b\8dÏ\83^\83C\83v\8fî\95ñ
+
+#include "stdafx.h"
+
+// TODO: STDAFX.H \82É\8aÜ\82Ü\82ê\82Ä\82¢\82Ä\81A\82±\82Ì\83t\83@\83C\83\8b\82É\8bL\8fq\82³\82ê\82Ä\82¢\82È\82¢
+// \83w\83b\83_\81[\83t\83@\83C\83\8b\82ð\92Ç\89Á\82µ\82Ä\82\82¾\82³\82¢\81B
--- /dev/null
+// stdafx.h : \95W\8f\80\82Ì\83V\83X\83e\83\80 \83C\83\93\83N\83\8b\81[\83h \83t\83@\83C\83\8b\81A
+// \82Ü\82½\82Í\8eQ\8fÆ\89ñ\90\94\82ª\91½\82\81A\82©\82Â\82 \82Ü\82è\95Ï\8dX\82³\82ê\82È\82¢
+// \83v\83\8d\83W\83F\83N\83g\90ê\97p\82Ì\83C\83\93\83N\83\8b\81[\83h \83t\83@\83C\83\8b\82ð\8bL\8fq\82µ\82Ü\82·\81B
+//
+
+#if !defined(AFX_STDAFX_H__D9B79EF9_6192_4C1D_8ECC_A97BA3C0D033__INCLUDED_)
+#define AFX_STDAFX_H__D9B79EF9_6192_4C1D_8ECC_A97BA3C0D033__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+
+// \82±\82Ì\88Ê\92u\82É\83w\83b\83_\81[\82ð\91}\93ü\82µ\82Ä\82\82¾\82³\82¢
+#define WIN32_LEAN_AND_MEAN // Windows \83w\83b\83_\81[\82©\82ç\96w\82Ç\8eg\97p\82³\82ê\82È\82¢\83X\83^\83b\83t\82ð\8f\9c\8aO\82µ\82Ü\82·
+
+#include <windows.h>
+#ifdef S2001_EXPORTS
+ #define S2001DLL __declspec(dllexport)
+#else
+ #define S2001DLL __declspec(dllimport)
+#endif
+
+// TODO: \83v\83\8d\83O\83\89\83\80\82Å\95K\97v\82È\83w\83b\83_\81[\8eQ\8fÆ\82ð\92Ç\89Á\82µ\82Ä\82\82¾\82³\82¢\81B
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft Visual C++ \82Í\91O\8ds\82Ì\92¼\91O\82É\92Ç\89Á\82Ì\90é\8c¾\82ð\91}\93ü\82µ\82Ü\82·\81B
+
+#endif // !defined(AFX_STDAFX_H__D9B79EF9_6192_4C1D_8ECC_A97BA3C0D033__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// Target.cpp: Target \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// \97\9a\97ð\81F
+// $Log: Target.cpp,v $
+// Revision 1.1 2001/10/28 21:40:37 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.4 2001/07/09 20:30:10 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.3 2001/07/01 21:30:34 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.2 2001/07/01 01:03:45 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.1 2001/06/10 21:16:43 fujiwara
+// \83^\81[\83Q\83b\83g\92Ç\89Á\81i\92n\8fã\97p\81j
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+#include <string>
+#include <vector>
+#include <memory>
+#include <stack>
+#include <list>
+#include <iostream>
+#include <fstream>
+#include <map>
+
+#include "stdio.h"
+#include "math.h"
+
+#include "exception.h"
+#include "singleton.h"
+#include "system.h"
+#include "console.h"
+#include "input.h"
+#include "sound.h"
+
+#include "Obj.h"
+#include "Obj2D.h"
+#include "Obj3D.h"
+#include "Obj3DL.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+
+#include "Background.h"
+#include "Scene.h"
+#include "main.h"
+
+#include "character.h"
+#include "Hit.h"
+#include "MyShip.h"
+#include "Game.h"
+#include "Enemys.h"
+#include "Armys.h"
+#include "DispositionControl.h"
+#include "AbstractCharacter.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "Target.h"
+#include "MyGroundBullets.h"
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+using namespace sf::application::player;
+using namespace sf::system;
+const console::sprite::Info Target::msSpriteInfo = {
+ "media\\target.png",0.0f,0.0f,0.0f,0.0f,0xff000000,console::sprite::SPRITE2D
+};
+
+std::auto_ptr<sf::system::console::sprite::Sprite> Target::mpSprite;
+
+const float Target::OFFSET_Y = -156.0f;
+int Target::mSoundID = 0;
+
+Target::Target(sf::application::scene::Game *pGame)
+{
+ game(pGame);
+}
+
+Target::~Target()
+{
+
+}
+
+void Target::initialize(void)
+{
+
+ x(game()->player()->x());
+ y(game()->player()->y());
+ z(game()->player()->z());
+
+ mHitRect.offsetTop(-4.0f);
+ mHitRect.offsetLeft(-4.0f);
+ mHitRect.offsetBottom(4.0f);
+ mHitRect.offsetRight(4.0f);
+ mHitRect.isChecking(true);
+ mHitRect.characterPtr(this);
+ mbHit = false;
+
+ mObj.x(x());
+ mObj.y(y() + OFFSET_Y);
+ mObj.z(z());
+ mObj.color(0x80ffffff);
+ mObj.drawMode(console::DRAW_TRANS);
+
+ mObj.sprite(mpSprite.get());
+ mObj.visibility(true);
+
+ mObjMark.x(x());
+ mObjMark.y(y() + OFFSET_Y);
+ mObjMark.z(z());
+ mObjMark.color(0x80ff0000);
+ mObjMark.drawMode(console::DRAW_TRANS);
+
+ mObjMark.sprite(mpSprite.get());
+ mObjMark.visibility(false);
+
+ life(0);
+
+ speed(0.0f);
+ direction(0.0f);
+ mTimerPeriod = (int)( 3.0f / sf::system::instance()->deltaTime());
+ mTimer = mTimerPeriod;
+}// initialize()
+
+// \93®\8dì
+void Target::move(void)
+{
+ //
+ mTimer--;
+ hitCheck(sf::application::enemy::Armys::instance());
+ if(mTimer <= 0){
+ mTimer = mTimerPeriod;
+ if(mbHit){
+ sf::system::instance()->sound()->play(mSoundID,1,false,false);
+ mbHit = false;
+ if(mObj.color() == 0xc0ff0000)
+ mObj.color(0x80ffffff);
+ else
+ mObj.color(0xc0ff0000);
+ mObj.drawMode(console::DRAW_ADD);
+ } else {
+ mObj.color(0x80ffffff);
+ mObj.drawMode(console::DRAW_TRANS);
+ }
+ };
+
+ x(game()->player()->x());
+ y(game()->player()->y() + OFFSET_Y );
+ z(game()->player()->z());
+
+ mObj.x(x());
+ mObj.y(y());
+ mObj.z(z());
+
+ //
+
+ if(sf::system::instance()->input()->buttonB(true))
+ {
+ bullet::GroundBullets::instance()->create(
+ bullet::GroundBullets::NORMAL,
+ game()->player()->x(),
+ game()->player()->y(),
+ game()->player()->z(),
+ game());
+ }
+
+}// move()
+
+// \83\8a\83\\81[\83X\82Ì\83\8d\81[\83h //
+void Target::load(void)
+{
+ // \83r\83b\83g\83}\83b\83v
+ using namespace sf::system::console::sprite;
+ if(!mpSprite.get()){
+ std::auto_ptr<sf::system::console::sprite::Sprite> ptemp(sf::system::instance()->console()->createSprite(&msSpriteInfo));
+ mpSprite = ptemp;
+ }
+
+ // \83T\83E\83\93\83h\83f\81[\83^
+ using namespace sf::system;
+ mSoundID = instance()->sound()->load("target.wav");
+
+// mpSprite = std::auto_ptr<sf::system::console::sprite::Sprite *>(sf::system::instance()->console()->createSprite(&mSpriteInfo));
+}// load
--- /dev/null
+//////////////////////////////////////////////////////////////////////
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// Target.h: Target \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \97\9a\97ð\81F
+// $Log: Target.h,v $
+// Revision 1.1 2001/10/28 21:40:37 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.3 2001/07/09 20:30:10 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.2 2001/07/01 01:03:45 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.1 2001/06/10 21:16:43 fujiwara
+// \83^\81[\83Q\83b\83g\92Ç\89Á\81i\92n\8fã\97p\81j
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_TARGET_H__C55622EE_11CD_4849_ABE0_F3C657CAB60B__INCLUDED_)
+#define AFX_TARGET_H__C55622EE_11CD_4849_ABE0_F3C657CAB60B__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "AbstractCharacter.h"
+namespace sf {
+ namespace application {
+ namespace player {
+
+class Target : public AbstractCharacter
+{
+public:
+ Target(sf::application::scene::Game *pGame);
+ virtual ~Target();
+ // OPERATORS //
+ // OPERATIONS //
+ virtual void initialize();
+ // \83L\83\83\83\89\83N\83^\81[\88Ú\93®
+ void move(void);
+ sf::application::hit::Interface * const hitObj(void){return &mHitRect;};
+ void hit(sf::application::Character * const pDest){mbHit = true;};
+ static void load(void);
+ static const float OFFSET_Y;
+ static sf::system::console::sprite::Sprite * sprite(){return mpSprite.get();};
+private:
+ bool mbHit;
+ hit::HitRect mHitRect;
+ sf::system::console::ObjRectangle mObj;
+ sf::system::console::ObjRectangle mObjMark;
+ int mTimer,mTimerPeriod;
+ static int mSoundID;
+ static std::auto_ptr<sf::system::console::sprite::Sprite> mpSprite;
+ static const console::sprite::Info msSpriteInfo;
+};
+ }
+ }
+}
+
+#endif // !defined(AFX_TARGET_H__C55622EE_11CD_4849_ABE0_F3C657CAB60B__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// ZK01.cpp: ZK01 \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// \97\9a\97ð\81F
+// $Log: ZK01.cpp,v $
+// Revision 1.1 2001/10/28 21:40:37 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.9 2001/07/09 20:30:10 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.8 2001/07/01 21:30:34 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.7 2001/07/01 01:03:45 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.6 2001/06/03 09:22:32 fujiwara
+// \92n\8fã\93G\83N\83\89\83X\82¨\82æ\82Ñ\8eG\8b\9b\93G\82Ì\94÷\92²\90®
+//
+// Revision 1.5 2001/05/29 01:12:10 fujiwara
+// \8eG\8b\9b\83L\83\83\83\89(\94ò\8ds\95¨\81j\82Ì\8dì\90¬\81B\94z\92u\83G\83f\83B\83^\82Ì\83o\83O\8fC\90³
+//
+// Revision 1.4 2001/05/17 12:31:29 fujiwara
+// \92n\8fã\93G\83T\83\93\83v\83\8b\8dì\90¬
+//
+// Revision 1.3 2001/05/13 20:04:24 fujiwara
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\82ª\94\90¶\82µ\82½\82Ì\82Å\8eæ\82è\8f\9c\82\81B
+// \8e©\92e\82Ì\83T\83E\83\93\83h\83e\83X\83g
+//
+// Revision 1.2 2001/05/12 00:48:35 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+#include <string>
+#include <vector>
+#include <memory>
+#include <stack>
+#include <list>
+#include <iostream>
+#include <fstream>
+#include <map>
+
+#include "stdio.h"
+#include "math.h"
+
+#include "exception.h"
+#include "singleton.h"
+#include "system.h"
+#include "console.h"
+#include "input.h"
+#include "sound.h"
+
+#include "Obj.h"
+#include "Obj2D.h"
+#include "Obj3D.h"
+#include "Obj3DL.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+
+#include "Background.h"
+#include "Scene.h"
+#include "main.h"
+
+#include "character.h"
+#include "Hit.h"
+#include "MyShip.h"
+#include "Game.h"
+#include "Enemys.h"
+#include "Armys.h"
+#include "AbstractEnemy.h"
+#include "EnemyBullets.h"
+#include "DispositionControl.h"
+#include "Effects.h"
+#include "Explosion.h"
+
+
+#include "ZK01.h"
+#include "EB01.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+using namespace sf::application;
+using namespace sf::application::enemy;
+
+sf::system::console::sprite::PSprite ZK01::mspSprite;
+
+int ZK01::mBalletTimer = 0;
+int ZK01::mBalletTimerInit = 0;
+
+const sf::system::console::sprite::Info ZK01::msSpriteInfo =
+{
+ "media\\zk01.png",0.0f,0.0f,64.0f,64.0f,0xff000000,console::sprite::SPRITE2D
+};
+
+const int ZK01::SCORE = 20;
+
+// \83R\83\93\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ZK01::ZK01()
+{
+}// ZK01()
+
+// \83f\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ZK01::~ZK01()
+{
+ Enemys::instance()->clear(index());
+}// ~ZK01()
+
+
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ZK01::initialize()
+{
+ // \93\96\82è\94»\92è
+ mHitRect.offsetTop(-24.0f);
+ mHitRect.offsetBottom(24.0f);
+ mHitRect.offsetLeft(-24.0f);
+ mHitRect.offsetRight(24.0f);
+
+ mHitRect.isChecking(true);
+ mHitRect.characterPtr(this);
+ direction((float)atan2((double)(game()->player()->y() - y()),(double)(game()->player()->x() - x())));
+
+ mDeltaTime = sf::system::instance()->deltaTime();
+ mDeltaTimeRev = 1.0f / mDeltaTime;
+ speed(3.0f * mDeltaTime);
+
+ mDx = cosf(direction()) * speed();
+ mDy = sinf(direction()) * speed();
+
+ // Body \95\94\95ª
+ mObj.index(0);
+
+ if(!mspSprite.get())
+ load();
+
+ mObj.sprite(mspSprite.get());
+
+ mObj.z(z() + (float)index() * 0.0001f );
+ mObj.x(x());
+ mObj.y(y());
+ mObj.visibility(true);
+ mObj.color(0xffffffff);
+ mObj.drawMode(sf::system::console::DRAW_TRANS);
+ mObj.angle(direction());
+
+ // Light\95\94\95ª
+ mObjLight.z(z() + (float)index() * 0.0001f + 0.00001f);
+ mObjLight.x(x());
+ mObjLight.y(y());
+
+ initLight();
+
+ mbHit = false;
+ mDirCount = 18.0f * mDeltaTime;
+ mDirSpeed = (rand() & 1) ? -0.02f * mDeltaTime : 0.02f * mDeltaTime;
+
+ mState = MOVE;
+
+ mShootTimer = (int)((20.0f + (float)(rand() & 0x7)) * mDeltaTimeRev);
+ mbShoot = false;
+ mAccel = 0.2f * mDeltaTime;
+
+ if(!mBalletTimerInit)
+ {
+ mBalletTimer = mBalletTimerInit = (3.0f - game()->currentDifficulty()) * mDeltaTimeRev;
+ mbShoot = false;
+ } else {
+ mBalletTimer--;
+ if(!mBalletTimer){
+ mBalletTimer = mBalletTimerInit;
+ mBalletTimerInit = (3.0f - game()->currentDifficulty()) * mDeltaTimeRev;
+ mbShoot = false;
+ } else {
+ mbShoot = true;
+ }
+ }
+
+}// initialize()
+
+// \83e\83N\83X\83`\83\83\82Ì\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ZK01::load(void){
+ using namespace sf::system::console::sprite;
+ if(!mspSprite.get()){
+ sf::system::console::sprite::PSprite ptemp(sf::system::instance()->console()->createSprite(&msSpriteInfo));
+ mspSprite = ptemp;
+ }
+ Bullets::instance()->load(Bullets::EB01);
+ AbstractEnemy::loadLight();
+}// load()
+
+// \83e\83N\83X\83`\83\83\82Ì\83A\83\93\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ZK01::unload(void){
+ using namespace sf::system::console::sprite;
+ PSprite ptmp(NULL);
+ mspSprite = ptmp;
+}// unload()
+
+// \93G\82Ì\93®\8dì \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ZK01::move()
+{
+ using namespace sf::application;
+ float tx,ty;
+
+ y(y() + mDy);
+ x(x() + mDx);
+
+ switch(mState){
+ case MOVE:
+ // \93®\82«\82Ì\83\81\83C\83\93
+ if(!--mDirCount){
+ mDirCount = (int)(2.0f * mDeltaTimeRev);
+ direction(direction() + mDirSpeed);
+ speed(speed() + mAccel);
+ mDx = cosf(direction()) * speed();
+ mDy = sinf(direction()) * speed();
+ }
+
+ // \8dÀ\95W\88Ê\92u\81A\8ap\93x\82Ì\90Ý\92è
+ mObj.x(x());
+ mObj.y(y());
+ mObj.angle(direction());
+
+ mObjLight.x(x());
+ mObjLight.y(y());
+ moveLight();
+
+ // \92e\94\8eË
+ if(!mbShoot){
+ if(!(mShootTimer--) ){
+ tx = x() + 20.0f * cosf(direction());
+ ty = y() + 20.0f * sinf(direction());
+ EB01 *peb = (EB01 *)Bullets::instance()->create(Bullets::EB01,tx,ty,z() + 0.01f,game());
+ peb->direction(Util::calcDirection(x(),y(),game()->player()->x(),game()->player()->y()));
+ mbShoot = true;
+ }
+ }
+
+ // \92e\82É\82 \82½\82Á\82½\82©\82Ç\82¤\82©\82Ì\94»\92è
+ if(mbHit)
+ {
+ die();
+ return;
+ }
+ break;// case MOVE:
+
+ case DEAD:
+ if(!--mDirCount){
+ delete this;
+ return;
+ }
+ mObj.x(x());
+ mObj.y(y());
+ break;
+ }
+
+ // \89æ\96Ê\8fÁ\8b\8e\94»\92è
+ if(Util::checkArea(x(),y(),64.0f,64.0f))
+ delete this;
+}//move()
+
+
+
+// \92e\82É\82 \82½\82Á\82½\82Æ\82«\82Ì\8f\88\97\9d \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ZK01::hit(Character * const pDest)
+{
+ mHitRect.isChecking(false);
+ mbHit = true;
+
+};
+
+// \93G\82Ì\90¶\90¬ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+sf::application::Character * const ZK01::create(float x,float y ,float z,sf::application::scene::Game * const pGame,int index)
+{
+ ZK01 * ptemp = new ZK01;
+ ptemp->x(x);
+ ptemp->y(y);
+ ptemp->z(z);
+ ptemp->index(index);
+ ptemp->game(pGame);
+ ptemp->initialize();
+ return ptemp;
+;}// create
+
+//\81@\8e\80\82ñ\82¾\82Æ\82«\82Ì\8f\88\97\9d \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ZK01::die(void)
+{
+ effect::Explosion *pExp = (effect::Explosion*)effect::Effects::instance()->create(effect::Effects::EXPLOSION,x(),y(),0.1f,game(),this);
+ if(pExp){
+ pExp->scaling(1.5f);
+ }
+ mDirCount = 2;
+ mState = DEAD;
+ game()->score(game()->score() + SCORE);
+
+};// die()
+
+// \91S\94\9a\94\83C\83x\83\93\83g \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ZK01::allBomb(void)
+{
+ die();
+}// allBomb()
\ No newline at end of file
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// ZK01.h: ZK01 \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \97\9a\97ð\81F
+// $Log: ZK01.h,v $
+// Revision 1.1 2001/10/28 21:40:37 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.8 2001/07/09 20:30:10 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.7 2001/07/01 01:03:45 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.6 2001/06/03 09:22:32 fujiwara
+// \92n\8fã\93G\83N\83\89\83X\82¨\82æ\82Ñ\8eG\8b\9b\93G\82Ì\94÷\92²\90®
+//
+// Revision 1.5 2001/05/29 01:12:10 fujiwara
+// \8eG\8b\9b\83L\83\83\83\89(\94ò\8ds\95¨\81j\82Ì\8dì\90¬\81B\94z\92u\83G\83f\83B\83^\82Ì\83o\83O\8fC\90³
+//
+// Revision 1.4 2001/05/13 20:04:24 fujiwara
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\82ª\94\90¶\82µ\82½\82Ì\82Å\8eæ\82è\8f\9c\82\81B
+// \8e©\92e\82Ì\83T\83E\83\93\83h\83e\83X\83g
+//
+// Revision 1.3 2001/05/12 00:48:35 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_ZK01_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_)
+#define AFX_ZK01_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+#include "AbstractEnemy.h"
+namespace sf {
+ namespace application {
+ namespace enemy {
+
+class ZK01 : public AbstractEnemy
+{
+public:
+ // LIFECYCLE //
+ ZK01();
+ virtual ~ZK01();
+ // OPERATIONS //
+ void initialize();
+ // \83L\83\83\83\89\83N\83^\81[\88Ú\93®
+ void move(void);
+ void hit(Character * const pDest);
+ void allBomb(void);
+ // \83e\83N\83X\83`\83\83\82È\82Ç\82Ì\83\8d\81[\83h
+ static void load(void);
+ static void unload(void);
+
+ static Character * const create(float x,float y ,float z,sf::application::scene::Game * const pGame,int index);
+ // ACCESS //
+ sf::application::hit::Interface * const hitObj(void){return &mHitRect;};
+
+ static sf::system::console::sprite::Sprite * const pSprite(void){return mspSprite.get();};
+
+private:
+ enum State {
+ MOVE,
+ DEAD
+ } mState;
+
+ void die(void);
+
+// float mRadian;
+ float mDx;
+ float mDy;
+ int mDirCount;
+ float mDirSpeed;
+
+ int mAnimCount;
+ sf::application::hit::HitRect mHitRect;
+
+ sf::system::console::ObjRectangle mObj;
+
+ static sf::system::console::sprite::PSprite mspSprite;
+
+ static const sf::system::console::sprite::Info msSpriteInfo;
+
+ static const int SCORE;
+ static int mBalletTimer;
+ static int mBalletTimerInit;
+
+ bool mbHit;
+ bool mbShoot;
+
+ int mShootTimer;
+
+ float mSpeed;
+ float mAccel;
+ float mDeltaTime;
+ float mDeltaTimeRev;
+
+};
+ }
+ }
+}
+
+#endif // !defined(AFX_ZK01_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// ZK02.cpp: ZK02 \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// \97\9a\97ð\81F
+// $Log: ZK02.cpp,v $
+// Revision 1.1 2001/10/28 21:40:37 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.4 2001/07/09 20:30:10 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.3 2001/07/01 21:30:34 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.2 2001/07/01 01:03:45 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.1 2001/06/10 21:16:12 fujiwara
+// \8eG\8b\9b\83L\83\83\83\89\82Q\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+#include <string>
+#include <vector>
+#include <memory>
+#include <stack>
+#include <list>
+#include <iostream>
+#include <fstream>
+#include <map>
+
+#include "stdio.h"
+#include "math.h"
+
+#include "exception.h"
+#include "singleton.h"
+#include "system.h"
+#include "console.h"
+#include "input.h"
+#include "sound.h"
+
+#include "Obj.h"
+#include "Obj2D.h"
+#include "Obj3D.h"
+#include "Obj3DL.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+
+#include "Background.h"
+#include "Scene.h"
+#include "main.h"
+
+#include "character.h"
+#include "Hit.h"
+#include "MyShip.h"
+#include "Game.h"
+#include "Enemys.h"
+#include "Armys.h"
+#include "AbstractEnemy.h"
+#include "EnemyBullets.h"
+#include "DispositionControl.h"
+#include "Effects.h"
+#include "Explosion.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "ZK02.h"
+#include "EB01.h"
+
+using namespace sf::application;
+using namespace sf::application::enemy;
+using namespace sf::system;
+
+sf::system::console::sprite::PSprite ZK02::mspSprite;
+
+
+const sf::system::console::sprite::Info ZK02::msSpriteInfo =
+{
+ "media\\ZK02.png",0.0f,0.0f,64.0f,64.0f,0xff000000,console::sprite::SPRITE2D
+};
+
+const int ZK02::SCORE = 20;
+
+// \83R\83\93\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ZK02::ZK02()
+{
+}// ZK02()
+
+// \83f\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+ZK02::~ZK02()
+{
+ Enemys::instance()->clear(index());
+}// ~ZK02()
+
+
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ZK02::initialize(void)
+{
+ // \93\96\82è\94»\92è
+ mHitRect.offsetTop(-20.0f);
+ mHitRect.offsetBottom(20.0f);
+ mHitRect.offsetLeft(-20.0f);
+ mHitRect.offsetRight(20.0f);
+
+ mHitRect.isChecking(true);
+ mHitRect.characterPtr(this);
+ direction(Util::calcDirection(x(),y(),game()->player()->x(),game()->player()->y()));
+
+ mDeltaTime = sf::system::instance()->deltaTime();
+ mDeltaTimeRev = 1.0f / mDeltaTime;
+ speed(8.0f * mDeltaTime + (rand() & 0x7) + game()->currentDifficulty());
+
+ mDx = cosf(direction());
+ mDy = sinf(direction());
+
+ // Body \95\94\95ª
+ mObj.index(0);
+
+ if(!mspSprite.get())
+ load();
+
+ mObj.sprite(mspSprite.get());
+
+ mObj.z(z() + (float)index() * 0.0001f );
+ mObj.x(x());
+ mObj.y(y());
+
+ mObj.visibility(true);
+ mObj.color(0xffffffff);
+ mObj.drawMode(sf::system::console::DRAW_TRANS);
+ mObj.angle(direction());
+
+ // Light\95\94\95ª
+ mObjLight.z(z() + (float)index() * 0.0001f - 0.00001f);
+ mObjLight.x(x());
+ mObjLight.y(y());
+
+ life(2);
+
+ initLight();
+
+ mbHit = false;
+ mState = APPROACH;
+ mAccel = 0.3f * mDeltaTime;
+
+}// initialize()
+
+// \83e\83N\83X\83`\83\83\82Ì\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ZK02::load(void){
+ using namespace sf::system::console::sprite;
+ if(!mspSprite.get()){
+ sf::system::console::sprite::PSprite ptemp(sf::system::instance()->console()->createSprite(&msSpriteInfo));
+ mspSprite = ptemp;
+ }
+ Bullets::instance()->load(Bullets::EB01);
+ AbstractEnemy::loadLight();
+}// load()
+
+// \83e\83N\83X\83`\83\83\82Ì\83A\83\93\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ZK02::unload(void){
+ using namespace sf::system::console::sprite;
+ PSprite ptmp(NULL);
+ mspSprite = ptmp;
+}// unload()
+
+// \93G\82Ì\93®\8dì \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ZK02::move()
+{
+ using namespace sf::application;
+
+
+ switch(mState){
+ case APPROACH:
+ approach();
+ break;
+ case SHOOT:
+ shoot();
+ break;
+ case ESCAPE:
+ escape();
+ break;
+ case DEAD:
+ if(!--mDirCount){
+ delete this;
+ return;
+ }
+ mObj.x(x());
+ mObj.y(y());
+ return ;
+ }
+
+ // \92e\82É\82 \82½\82Á\82½\82©\82Ç\82¤\82©\82Ì\94»\92è
+ if(mbHit)
+ {
+ mObj.color(0xffff8080);
+ mObj.drawMode(sf::system::console::DRAW_ADD);
+ mbHit = false;
+ } else {
+ mObj.drawMode(sf::system::console::DRAW_TRANS);
+ mObj.color(0xffffffff);
+ }
+
+
+ // \89æ\96Ê\8fÁ\8b\8e\94»\92è
+ if(Util::checkArea(x(),y(),64.0f,64.0f))
+ delete this;
+}//move()
+
+
+// \83v\83\8c\83C\83\84\81[\82É\90Ú\8bß \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ZK02::approach(void){
+
+ float dir_player = Util::calcDirection(x(),y(),game()->player()->x(),game()->player()->y());
+ float dir = fabs(direction() - dir_player);
+
+ if(dir > sf::system::PI)
+ dir = 2.0f * sf::system::PI - dir;
+
+ if(dir > 0.08f)
+ {
+
+ dir = direction() - dir_player;
+
+ if(dir < 0.0f) dir = dir + 2.0f * sf::system::PI;
+
+ if(dir > sf::system::PI)
+ mDirSpeed = 0.04f;
+ else
+ mDirSpeed = -0.04f;
+
+ direction(direction() + mDirSpeed);
+
+ if(direction() < 0.0f)
+ direction(2.0f * sf::system::PI + direction());
+
+ if(direction() > 2.0f * sf::system::PI)
+ direction(direction() - 2.0f * sf::system::PI);
+
+ mObj.angle(direction());
+
+ mDx = cosf(direction());
+ mDy = sinf(direction());
+
+
+ }
+
+ y(y() + mDy * speed());
+ x(x() + mDx * speed());
+
+ mObj.x(x());
+ mObj.y(y());
+
+ mObjLight.x(x() + cosf(direction()) * -8.0f );
+ mObjLight.y(y() + sinf(direction()) * -8.0f );
+
+ moveLight();
+
+ speed(speed() - mAccel);
+
+ if(speed() < 0.0f){
+ speed(0.0f);
+ mState = SHOOT;
+ mAnimCount = 0.0f;
+ }
+
+
+}// approach()
+
+// \83v\83\8c\83C\83\84\81[\95û\8cü\82ð\8cü\82«\81A\92e\82ð\94\8eË\82·\82é \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ZK02::shoot(void){
+
+
+ mAnimCount += 0.2f;
+
+ if(mAnimCount <= 3.0f){
+ mObj.index((int)mAnimCount);
+
+ } else {
+ if(mAnimCount > 4.0f){
+ float tx = x() + 8.0f * cosf(direction());
+ float ty = y() + 8.0f * sinf(direction());
+ EB01 *peb = (EB01 *)Bullets::instance()->create(Bullets::EB01,tx,ty,z() + 0.01f,game());
+ peb->direction(direction());
+ mbShoot = true;
+ mState = ESCAPE;
+ mDirSpeed = (x() < (float)(console::viewport::X + console::viewport::WIDTH / 2))?-0.08f:0.08f;
+ mDirCount = 0.0f;
+ mAnimCount = 3.0f;
+ mObj.index((int)mAnimCount);
+ return;
+ }
+ }
+
+ float dir_player = Util::calcDirection(x(),y(),game()->player()->x(),game()->player()->y());
+ float dir = fabs(direction() - dir_player);
+
+ if(dir > sf::system::PI)
+ dir = 2.0f * sf::system::PI - dir;
+
+ if(dir > 0.08f)
+ {
+
+ dir = direction() - dir_player;
+
+ if(dir < 0.0f) dir = dir + 2.0f * sf::system::PI;
+
+ if(dir > sf::system::PI)
+ mDirSpeed = 0.04f;
+ else
+ mDirSpeed = -0.04f;
+
+ direction(direction() + mDirSpeed);
+
+ if(direction() < 0.0f)
+ direction(2.0f * sf::system::PI + direction());
+
+ if(direction() > 2.0f * sf::system::PI)
+ direction(direction() - 2.0f * sf::system::PI);
+
+ mObj.angle(direction());
+
+ mDx = cosf(direction());
+ mDy = sinf(direction());
+
+
+ }
+
+ mObj.x(x());
+ mObj.y(y());
+
+ mObjLight.x(x() + cosf(direction()) * -8.0f );
+ mObjLight.y(y() + sinf(direction()) * -8.0f );
+ moveLight();
+
+}// shoot()
+
+// \97£\92E\82·\82é \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ZK02::escape(void)
+{
+ if(mAnimCount > 0.0f){
+ mAnimCount -= 0.2f;
+ mObj.index((int)mAnimCount);
+ }
+
+ if(mDirCount < sf::system::PI){
+ mDirCount += mDirSpeed > 0 ? mDirSpeed:-mDirSpeed;
+ direction(direction() + mDirSpeed);
+ speed(speed() + 0.1f);
+ mDx = cosf(direction());
+ mDy = sinf(direction());
+ }
+
+ mObj.angle(direction());
+
+ x(x() + mDx * speed());
+ y(y() + mDy * speed());
+
+ mObj.x(x());
+ mObj.y(y());
+
+ mObjLight.x(x() + cosf(direction()) * -8.0f );
+ mObjLight.y(y() + sinf(direction()) * -8.0f );
+ moveLight();
+
+}// escape()
+
+// \92e\82É\82 \82½\82Á\82½\82Æ\82«\82Ì\8f\88\97\9d \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ZK02::hit(Character * const pDest)
+{
+ if(pDest->life()){
+ life(life() - pDest->life());
+ if(life() < 0) {
+ y(y() + mDy * speed());
+ x(x() + mDx * speed());
+
+
+ mHitRect.isChecking(false);
+ mbHit = true;
+ die();
+ } else {
+ mbHit = true;
+ }
+ }
+};
+
+// \93G\82Ì\90¶\90¬ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+sf::application::Character * const ZK02::create(float x,float y ,float z,sf::application::scene::Game * const pGame,int index)
+{
+ ZK02 * ptemp = new ZK02;
+ ptemp->x(x);
+ ptemp->y(y);
+ ptemp->z(z);
+ ptemp->index(index);
+ ptemp->game(pGame);
+ ptemp->initialize();
+ return ptemp;
+;}// create
+
+//\81@\8e\80\82ñ\82¾\82Æ\82«\82Ì\8f\88\97\9d \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ZK02::die(void)
+{
+ effect::Explosion *pExp = (effect::Explosion*)effect::Effects::instance()->create(effect::Effects::EXPLOSION,x(),y(),0.1f,game(),this);
+ if(pExp){
+ pExp->scaling(1.5f);
+ }
+ mDirCount = 4;
+ mState = DEAD;
+ game()->score(game()->score() + SCORE);
+
+};// die()
+
+// \91S\94\9a\94\83C\83x\83\93\83g \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ZK02::allBomb(void)
+{
+ die();
+}// allBomb()
\ No newline at end of file
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// ZK02.h: ZK02 \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \97\9a\97ð\81F
+// $Log: ZK02.h,v $
+// Revision 1.1 2001/10/28 21:40:37 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.2 2001/07/01 01:03:45 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.1 2001/06/10 21:16:12 fujiwara
+// \8eG\8b\9b\83L\83\83\83\89\82Q\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_ZK02_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_)
+#define AFX_ZK02_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+#include "AbstractEnemy.h"
+namespace sf {
+ namespace application {
+ namespace enemy {
+
+class ZK02 : public AbstractEnemy
+{
+public:
+ // LIFECYCLE //
+ ZK02();
+ virtual ~ZK02();
+ // OPERATIONS //
+ void initialize();
+ // \83L\83\83\83\89\83N\83^\81[\88Ú\93®
+ void move(void);
+ void hit(Character * const pDest);
+ void allBomb(void);
+ // \83e\83N\83X\83`\83\83\82È\82Ç\82Ì\83\8d\81[\83h
+ static void load(void);
+ static void unload(void);
+ static Character * const create(float x,float y ,float z,sf::application::scene::Game * const pGame,int index);
+ // ACCESS //
+ sf::application::hit::Interface * const hitObj(void){return &mHitRect;};
+
+ static sf::system::console::sprite::Sprite * const pSprite(void){return mspSprite.get();};
+
+private:
+ enum State {
+ APPROACH,
+ SHOOT,
+ ESCAPE,
+ DEAD
+ } mState;
+
+ void escape(void);
+ void approach(void);
+ void shoot(void);
+ void die(void);
+
+// float mRadian;
+ float mDx;
+ float mDy;
+
+ float mAnimCount;
+ sf::application::hit::HitRect mHitRect;
+
+ sf::system::console::ObjRectangle mObj;
+
+ static sf::system::console::sprite::PSprite mspSprite;
+
+ static const sf::system::console::sprite::Info msSpriteInfo;
+
+ static const int SCORE;
+
+ bool mbHit;
+ bool mbShoot;
+
+ float mAccel;
+ float mDeltaTime;
+ float mDeltaTimeRev;
+ float mDirSpeed,mDirCount;
+
+};
+ }
+ }
+}
+
+#endif // !defined(AFX_ZK02_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_)
--- /dev/null
+// Dummy file to allow the C++Builder XercesLib project to use
+// the same Version resource file as Visual C++
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// character.cpp: Character \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// \97\9a\97ð\81F
+// $Log: character.cpp,v $
+// Revision 1.1 2001/10/28 21:40:37 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.5 2001/07/01 21:30:35 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.4 2001/07/01 01:03:45 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.3 2001/05/13 20:04:24 fujiwara
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\82ª\94\90¶\82µ\82½\82Ì\82Å\8eæ\82è\8f\9c\82\81B
+// \8e©\92e\82Ì\83T\83E\83\93\83h\83e\83X\83g
+//
+// Revision 1.2 2001/05/12 00:51:09 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+// System Includes //
+
+#include <string>
+
+// Project Includes //
+
+#include "system.h"
+#include "Console.h"
+#include "stdio.h"
+#include "math.h"
+#include "character.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+
+using namespace sf::application;
+
+Character::Character()
+{
+
+}
+
+Character::~Character()
+{
+
+}
+
+const float Util::calcDirection(const float x1,const float y1,const float x2,const float y2)
+{
+ float return_ = (float)atan2((double)(y2 - y1),(double)(x2 - x1));
+
+ if(return_ < 0.0f)
+ return_ = 2.0f * sf::system::PI + return_;
+
+ return return_;
+}
+
+const bool Util::checkArea(const float x,const float y,sf::system::console::sprite::Sprite * const pSprite)
+{
+ using namespace sf::system::console;
+ float x1 = x + pSprite->centerX();
+ float y1 = y + pSprite->centerY();
+
+ float wh = pSprite->width() / 2.0f;
+ float hh = pSprite->width() / 2.0f;
+
+ if( x1 < (viewport::X - wh) ||
+ x1 > (viewport::X + viewport::WIDTH + wh) ||
+ y1 < (viewport::Y - hh) ||
+ y1 > (viewport::Y + viewport::HEIGHT + hh))
+ return true;
+ return false;
+}
+
+const bool Util::checkArea(const float x,const float y,const float width,const float height)
+{
+ using namespace sf::system::console;
+ if( x < (viewport::X - width) ||
+ x > (viewport::X + viewport::WIDTH + width) ||
+ y < (viewport::Y - height) ||
+ y > (viewport::Y + viewport::HEIGHT + height))
+ return true;
+ return false;
+}
--- /dev/null
+//////////////////////////////////////////////////////////////////////
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// character.h: Character \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \97\9a\97ð\81F
+// $Log: character.h,v $
+// Revision 1.1 2001/10/28 21:40:37 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.6 2001/07/09 20:39:04 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.5 2001/07/01 01:03:45 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.4 2001/05/29 01:13:06 fujiwara
+// \8eG\8b\9b\83L\83\83\83\89(\94ò\8ds\95¨\81j\82Ì\8dì\90¬\81B\94z\92u\83G\83f\83B\83^\82Ì\83o\83O\8fC\90³
+//
+// Revision 1.3 2001/05/13 20:04:24 fujiwara
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\82ª\94\90¶\82µ\82½\82Ì\82Å\8eæ\82è\8f\9c\82\81B
+// \8e©\92e\82Ì\83T\83E\83\93\83h\83e\83X\83g
+//
+// Revision 1.2 2001/05/12 00:51:04 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_CHARACTER_H__5B8090E2_17CC_46C4_80A1_309AF177B9D5__INCLUDED_)
+#define AFX_CHARACTER_H__5B8090E2_17CC_46C4_80A1_309AF177B9D5__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+namespace sf {
+ namespace application {
+ namespace hit{
+ class Interface;
+ class HitRect;
+ };
+
+class Characters;
+class Game;
+
+class Character
+{
+public:
+ Character();
+ virtual ~Character();
+ // OPERATION //
+ virtual void initialize(void) = 0;
+ // \83L\83\83\83\89\83N\83^\81[\88Ú\93®
+ virtual void move(void) = 0;
+
+ // ACCESS //
+ // \92\86\90S\8dÀ\95W
+ virtual const float x(void) = 0;
+ virtual void x(const float value) = 0;
+
+ virtual const float y(void) = 0;
+ virtual void y(const float value) = 0;
+
+ virtual const float z(void) = 0;
+ virtual void z(const float value) = 0;
+
+ // \83\89\83C\83t
+ virtual const int life(void) = 0;
+ virtual void life(const int value) = 0;
+ // \88Ú\93®\83X\83s\81[\83h
+ virtual const float speed(void) = 0;
+ virtual void speed(const float value) = 0;
+ // \88Ú\93®\95û\8cü (\83\89\83W\83A\83\93\81j
+ virtual const float direction(void) = 0;
+ virtual void direction(const float value) = 0;
+
+
+
+ virtual const bool hitCheck(Character * const pDest) = 0;
+ virtual const bool hitCheck(Characters * const pDest) = 0;
+ virtual void hit(Character * const pDest) = 0;
+
+ virtual sf::application::hit::Interface * const hitObj(void) = 0;
+};
+
+
+class Characters {
+public:
+ Characters(){};
+ virtual ~Characters(){};
+ virtual void initialize(void) = 0;
+ virtual void move(void) = 0;
+ virtual const bool hitCheck(Character * const pDest) = 0;
+ virtual const bool hitCheck(Characters * const pDest) = 0;
+};
+
+class Util {
+public:
+ static const float calcDirection(const float x1,const float y1,const float x2,const float y2);
+ static const bool checkArea(const float x,const float y,sf::system::console::sprite::Sprite* const pSprite);
+ static const bool checkArea(const float x,const float y,const float width,const float height);
+ // \83\89\83f\83B\83A\83\93\92l\82Ì\95â\90³
+ static const float adjustRadian( float radian)
+ {
+ if(radian > 2.0f * sf::system::PI){
+ while(radian > 2.0f * sf::system::PI){
+ radian -= 2.0f * sf::system::PI;
+ }
+ return radian;
+ }
+
+ if(radian < 0.0f){
+ while(radian < 0.0f){
+ radian += 2.0f * sf::system::PI;
+ }
+ return radian;
+ }
+ };
+};
+
+ }
+}
+
+#endif // !defined(AFX_CHARACTER_H__5B8090E2_17CC_46C4_80A1_309AF177B9D5__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// Explosion.h: Explosion \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \97\9a\97ð\81F
+// $Log: explosion.h,v $
+// Revision 1.1 2001/10/28 21:40:37 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.5 2001/07/09 20:38:48 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.4 2001/07/01 01:03:45 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.3 2001/05/17 12:34:11 fujiwara
+// \92n\8fã\93G\83T\83\93\83v\83\8b\8dì\90¬
+//
+// Revision 1.2 2001/05/12 00:50:33 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_Explosion_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_)
+#define AFX_Explosion_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "AbstractCharacter.h"
+namespace sf {
+ namespace application {
+ namespace effect {
+
+
+ const int MAX_EXPLOSION = 2;
+class Explosion : public sf::application::AbstractCharacter
+{
+public:
+ // LIFECYCLE //
+ Explosion();
+ virtual ~Explosion();
+ // OPERATIONS //
+ void initialize();
+ // \83L\83\83\83\89\83N\83^\81[\88Ú\93®
+ void move(void);
+ void hit(Character * const pDest);
+ // \83e\83N\83X\83`\83\83\82È\82Ç\82Ì\83\8d\81[\83h
+ static void load(void);
+ static Character * const create(float x,float y ,float z,sf::application::scene::Game * const pGame,sf::application::Character * const pCharacter,int index);
+ // ACCESS //
+ sf::application::hit::Interface * const hitObj(void){return &mHitRect;};
+
+ const float scaling(void) {return mScaling;};
+ void scaling(const float value)
+ { mScaling = value;
+ mObj.scalingX(mScaling);
+ mObj.scalingY(mScaling);
+ };
+
+private:
+ float mRadian;
+ float mDx;
+ float mDy;
+ float mScaling;
+ int mCount;
+ sf::application::hit::HitRect mHitRect;
+ sf::system::console::ObjRectangle mObj;
+ static sf::system::console::sprite::PSprite mspSprite[MAX_EXPLOSION];
+ static const sf::system::console::sprite::Info msSpriteInfo[MAX_EXPLOSION];
+ static int msSoundID;
+ bool mbHit;
+ float mSpeed;
+};
+ }
+ }
+}
+
+#endif // !defined(AFX_Explosion_H__D088B903_844F_405A_8167_A0667765D4A8__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// s2001.cpp : DLL \83A\83v\83\8a\83P\81[\83V\83\87\83\93\97p\82Ì\83G\83\93\83g\83\8a \83|\83C\83\93\83g\82ð\92è\8b`\82µ\82Ü\82·\81B
+// \97\9a\97ð\81F
+// $Log: s2001.cpp,v $
+// Revision 1.2 2001/11/06 21:27:34 fujiwara
+// \91å\95\9d\8dX\90V\91O\83o\83b\83N\83A\83b\83v
+//
+// Revision 1.1 2001/10/28 21:40:37 fujiwara
+// DLL\82É\95ª\8a\84
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#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);
+}
+
+//\81@\8aO\82ÌDLL\82©\82çScene\82ð\8dì\90¬\82Å\82«\82é\82æ\82¤\82É\82·\82é //
+sf::application::scene::Scene * const sf::application::scene::createScene(const int sceneID,const bool bAddSceneContainer)
+{
+ return sf::application::scene::DLLManager::instance()->createScene(sceneID,bAddSceneContainer);
+}
+
+
+
--- /dev/null
+# Microsoft Developer Studio Project File - Name="s2001" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** \95Ò\8fW\82µ\82È\82¢\82Å\82\82¾\82³\82¢ **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=s2001 - Win32 Debug
+!MESSAGE \82±\82ê\82Í\97L\8cø\82ÈÒ²¸Ì§²Ù\82Å\82Í\82 \82è\82Ü\82¹\82ñ\81B \82±\82ÌÌßÛ¼Þª¸Ä\82ðËÞÙÄÞ\82·\82é\82½\82ß\82É\82Í NMAKE \82ð\8eg\97p\82µ\82Ä\82\82¾\82³\82¢\81B
+!MESSAGE [Ò²¸Ì§²Ù\82Ì´¸½Îß°Ä] ºÏÝÄÞ\82ð\8eg\97p\82µ\82Ä\8eÀ\8ds\82µ\82Ä\82\82¾\82³\82¢
+!MESSAGE
+!MESSAGE NMAKE /f "s2001.mak".
+!MESSAGE
+!MESSAGE NMAKE \82Ì\8eÀ\8ds\8e\9e\82É\8d\\90¬\82ð\8ew\92è\82Å\82«\82Ü\82·
+!MESSAGE ºÏÝÄÞ ×²Ý\8fã\82ÅϸÛ\82Ì\90Ý\92è\82ð\92è\8b`\82µ\82Ü\82·\81B\97á:
+!MESSAGE
+!MESSAGE NMAKE /f "s2001.mak" CFG="s2001 - Win32 Debug"
+!MESSAGE
+!MESSAGE \91I\91ð\89Â\94\\82ÈËÞÙÄÞ Ó°ÄÞ:
+!MESSAGE
+!MESSAGE "s2001 - Win32 Release" ("Win32 (x86) Dynamic-Link Library" \97p)
+!MESSAGE "s2001 - Win32 Debug" ("Win32 (x86) Dynamic-Link Library" \97p)
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "s2001 - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "S2001_EXPORTS" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\sfglib" /I "..\s2001" /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "S2001_EXPORTS" /Yu"stdafx.h" /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x411 /d "NDEBUG"
+# ADD RSC /l 0x411 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 ..\sfglib.lib dinput8.lib Dxerr8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib winmm.lib kernel32.lib user32.lib gdi32.lib ole32.lib advapi32.lib /nologo /dll /machine:I386
+# Begin Special Build Tool
+SOURCE="$(InputPath)"
+PostBuild_Cmds=copy .\release\*.lib ..
+# End Special Build Tool
+
+!ELSEIF "$(CFG)" == "s2001 - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "S2001_EXPORTS" /Yu"stdafx.h" /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /GR /GX /ZI /Od /I "..\sfglib" /I "..\s2001" /I ".." /I "..\s2001scene" /I "..\s2001editor" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "S2001_EXPORTS" /YX /FD /GZ /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x411 /d "_DEBUG"
+# ADD RSC /l 0x411 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 ..\sfglib.lib dinput8.lib Dxerr8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib winmm.lib kernel32.lib user32.lib gdi32.lib ole32.lib advapi32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# Begin Special Build Tool
+SOURCE="$(InputPath)"
+PostBuild_Cmds=copy .\debug\*.lib ..
+# End Special Build Tool
+
+!ENDIF
+
+# Begin Target
+
+# Name "s2001 - Win32 Release"
+# Name "s2001 - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\AbstractCharacter.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\AbstractEnemy.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Armys.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\character.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Controller.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\DispositionControl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\EA01.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\EB01.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Effects.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\EnemyBullets.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Enemys.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Explosion.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Hit.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\MainApp.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Manager.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\MyBullets.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\MyGroundBullets.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\MyShip.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\s2001.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\StdAfx.cpp
+# ADD CPP /Yc"stdafx.h"
+# End Source File
+# Begin Source File
+
+SOURCE=.\Target.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ZK01.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ZK02.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\AbstractCharacter.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\AbstractCharacters.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\AbstractEnemy.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Armys.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\character.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Controller.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\DispositionControl.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\EA01.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\EB01.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Effects.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\EnemyBullets.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Enemys.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\explosion.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Hit.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\MainApp.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Manager.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\MyBullets.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\MyGroundBullets.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\MyShip.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\resource.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\s2001.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Scene.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scenetype.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\sfinterface.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\StdAfx.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Target.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ZK01.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ZK02.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=.\ReadMe.txt
+# End Source File
+# End Target
+# End Project
--- /dev/null
+#ifndef SF_S2001_H
+#define SF_S2001_H
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// s2001.cpp : DLL \83A\83v\83\8a\83P\81[\83V\83\87\83\93\97p\82Ì\83G\83\93\83g\83\8a \83|\83C\83\93\83g\82ð\92è\8b`\82µ\82Ü\82·\81B
+// \97\9a\97ð\81F
+// $Log: s2001.cpp,v $
+// Revision 1.2 2001/11/06 21:27:34 fujiwara
+// \91å\95\9d\8dX\90V\91O\83o\83b\83N\83A\83b\83v
+//
+// Revision 1.1 2001/10/28 21:40:37 fujiwara
+// DLL\82É\95ª\8a\84
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+#include "stdafx.h"
+extern "C" {
+ S2001DLL int S2001Main (HINSTANCE hThisInstance, HINSTANCE hPrevInstance,
+ LPSTR lpszCmdParam, int nCmdShow);
+ namespace sf {
+ namespace application {
+ namespace scene {
+ S2001DLL sf::application::scene::Scene * const createScene(const int sceneID,const bool bAddSceneContainer = true);
+ }
+ }
+ }
+};
+#endif
+
+
--- /dev/null
+<html>
+<body>
+<pre>
+<h1>ËÞÙÄÞ\82ÌÛ¸Þ</h1>
+<h3>
+--------------------\8d\\90¬: s2001 - Win32 Debug--------------------
+</h3>
+<h3>ºÏÝÄÞ ×²Ý</h3>
+\88ê\8e\9ȩ²Ù "C:\WINDOWS\TEMP\RSPF223.TMP" \82ð\8dì\90¬\82µ\81A\8e\9f\82Ì\93à\97e\82ð\8bL\98^\82µ\82Ü\82·
+[
+/nologo /MTd /W3 /Gm /GR /GX /ZI /Od /I "..\sfglib" /I "..\s2001" /I ".." /I "..\s2001scene" /I "..\s2001editor" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "S2001_EXPORTS" /Fp"Debug/s2001.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c
+"C:\My Documents\genx\project\s2001\Manager.cpp"
+]
+Creating command line "cl.exe @C:\WINDOWS\TEMP\RSPF223.TMP"
+<h3>±³ÄÌß¯Ä ³¨ÝÄÞ³</h3>
+ºÝÊß²Ù\92\86...
+Manager.cpp
+
+
+
+<h3>\8c\8b\89Ê</h3>
+Manager.obj - ´×° 0\81A\8cx\8d\90 0
+</pre>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="shift_jis"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="s2001"
+ ProjectGUID="{A9583091-4F70-4817-8125-1BE5C54495E5}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\Release"
+ IntermediateDirectory=".\Release"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="NDEBUG"
+ MkTypLibCompatible="true"
+ SuppressStartupBanner="true"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Release/s2001.tlb"
+ HeaderFileName=""
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\sfglib,..\s2001,.."
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;S2001_EXPORTS"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderThrough="stdafx.h"
+ PrecompiledHeaderFile=".\Release/s2001.pch"
+ AssemblerListingLocation=".\Release/"
+ ObjectFile=".\Release/"
+ ProgramDataBaseFileName=".\Release/"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1041"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="..\sfglib.lib dinput8.lib Dxerr8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib winmm.lib"
+ OutputFile=".\Release/s2001.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ ProgramDatabaseFile=".\Release/s2001.pdb"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ ImportLibrary=".\Release/s2001.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="copy .\release\*.lib .."
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\Debug"
+ IntermediateDirectory=".\Debug"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="_DEBUG"
+ MkTypLibCompatible="true"
+ SuppressStartupBanner="true"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Debug/s2001.tlb"
+ HeaderFileName=""
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\sfglib,..\s2001,..,..\s2001scene,..\s2001editor"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;S2001_EXPORTS"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile=".\Debug/s2001.pch"
+ AssemblerListingLocation=".\Debug/"
+ ObjectFile=".\Debug/"
+ ProgramDataBaseFileName=".\Debug/"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="4"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1041"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="..\sfglib.lib dinput8.lib Dxerr8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib winmm.lib"
+ OutputFile=".\Debug/s2001.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\Debug/s2001.pdb"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ ImportLibrary=".\Debug/s2001.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="copy .\debug\*.lib .."
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="AbstractCharacter.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="AbstractEnemy.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Armys.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="character.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Controller.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="DispositionControl.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="EA01.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="EB01.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Effects.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="EnemyBullets.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Enemys.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Explosion.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Hit.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="MainApp.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Manager.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="MyBullets.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="MyGroundBullets.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="MyShip.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="s2001.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="StdAfx.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ UsePrecompiledHeader="1"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ UsePrecompiledHeader="1"
+ PrecompiledHeaderThrough="stdafx.h"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Target.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="ZK01.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="ZK02.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="AbstractCharacter.h"
+ >
+ </File>
+ <File
+ RelativePath="AbstractCharacters.h"
+ >
+ </File>
+ <File
+ RelativePath="AbstractEnemy.h"
+ >
+ </File>
+ <File
+ RelativePath="Armys.h"
+ >
+ </File>
+ <File
+ RelativePath="character.h"
+ >
+ </File>
+ <File
+ RelativePath="Controller.h"
+ >
+ </File>
+ <File
+ RelativePath="DispositionControl.h"
+ >
+ </File>
+ <File
+ RelativePath="EA01.h"
+ >
+ </File>
+ <File
+ RelativePath="EB01.h"
+ >
+ </File>
+ <File
+ RelativePath="Effects.h"
+ >
+ </File>
+ <File
+ RelativePath="EnemyBullets.h"
+ >
+ </File>
+ <File
+ RelativePath="Enemys.h"
+ >
+ </File>
+ <File
+ RelativePath="explosion.h"
+ >
+ </File>
+ <File
+ RelativePath="Hit.h"
+ >
+ </File>
+ <File
+ RelativePath="MainApp.h"
+ >
+ </File>
+ <File
+ RelativePath="Manager.h"
+ >
+ </File>
+ <File
+ RelativePath="MyBullets.h"
+ >
+ </File>
+ <File
+ RelativePath="MyGroundBullets.h"
+ >
+ </File>
+ <File
+ RelativePath="MyShip.h"
+ >
+ </File>
+ <File
+ RelativePath="resource.h"
+ >
+ </File>
+ <File
+ RelativePath="s2001.h"
+ >
+ </File>
+ <File
+ RelativePath="Scene.h"
+ >
+ </File>
+ <File
+ RelativePath="scenetype.h"
+ >
+ </File>
+ <File
+ RelativePath="..\sfinterface.h"
+ >
+ </File>
+ <File
+ RelativePath="StdAfx.h"
+ >
+ </File>
+ <File
+ RelativePath="Target.h"
+ >
+ </File>
+ <File
+ RelativePath="ZK01.h"
+ >
+ </File>
+ <File
+ RelativePath="ZK02.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+ >
+ </Filter>
+ <File
+ RelativePath="ReadMe.txt"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
--- /dev/null
+<?xml version="1.0" encoding="shift_jis"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="s2001"
+ SccProjectName=""
+ SccLocalPath="">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\Release"
+ IntermediateDirectory=".\Release"
+ ConfigurationType="2"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\sfglib,..\s2001,.."
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;S2001_EXPORTS"
+ StringPooling="TRUE"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="TRUE"
+ UsePrecompiledHeader="3"
+ PrecompiledHeaderThrough="stdafx.h"
+ PrecompiledHeaderFile=".\Release/s2001.pch"
+ AssemblerListingLocation=".\Release/"
+ ObjectFile=".\Release/"
+ ProgramDataBaseFileName=".\Release/"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="..\sfglib.lib dinput8.lib Dxerr8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib winmm.lib"
+ OutputFile=".\Release/s2001.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="TRUE"
+ ProgramDatabaseFile=".\Release/s2001.pdb"
+ ImportLibrary=".\Release/s2001.lib"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="NDEBUG"
+ MkTypLibCompatible="TRUE"
+ SuppressStartupBanner="TRUE"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Release/s2001.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="copy .\release\*.lib .."/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1041"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\Debug"
+ IntermediateDirectory=".\Debug"
+ ConfigurationType="2"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\sfglib,..\s2001,..,..\s2001scene,..\s2001editor"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;S2001_EXPORTS"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ RuntimeTypeInfo="TRUE"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile=".\Debug/s2001.pch"
+ AssemblerListingLocation=".\Debug/"
+ ObjectFile=".\Debug/"
+ ProgramDataBaseFileName=".\Debug/"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ DebugInformationFormat="4"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="..\sfglib.lib dinput8.lib Dxerr8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib winmm.lib"
+ OutputFile=".\Debug/s2001.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="TRUE"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile=".\Debug/s2001.pdb"
+ ImportLibrary=".\Debug/s2001.lib"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="_DEBUG"
+ MkTypLibCompatible="TRUE"
+ SuppressStartupBanner="TRUE"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Debug/s2001.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="copy .\debug\*.lib .."/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1041"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
+ <File
+ RelativePath="AbstractCharacter.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="AbstractEnemy.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Armys.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="character.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Controller.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="DispositionControl.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="EA01.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="EB01.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Effects.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="EnemyBullets.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Enemys.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Explosion.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Hit.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="MainApp.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Manager.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="MyBullets.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="MyGroundBullets.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="MyShip.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="s2001.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="StdAfx.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ UsePrecompiledHeader="1"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ UsePrecompiledHeader="1"
+ PrecompiledHeaderThrough="stdafx.h"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Target.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="ZK01.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="ZK02.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl">
+ <File
+ RelativePath="AbstractCharacter.h">
+ </File>
+ <File
+ RelativePath="AbstractCharacters.h">
+ </File>
+ <File
+ RelativePath="AbstractEnemy.h">
+ </File>
+ <File
+ RelativePath="Armys.h">
+ </File>
+ <File
+ RelativePath="character.h">
+ </File>
+ <File
+ RelativePath="Controller.h">
+ </File>
+ <File
+ RelativePath="DispositionControl.h">
+ </File>
+ <File
+ RelativePath="EA01.h">
+ </File>
+ <File
+ RelativePath="EB01.h">
+ </File>
+ <File
+ RelativePath="Effects.h">
+ </File>
+ <File
+ RelativePath="EnemyBullets.h">
+ </File>
+ <File
+ RelativePath="Enemys.h">
+ </File>
+ <File
+ RelativePath="explosion.h">
+ </File>
+ <File
+ RelativePath="Hit.h">
+ </File>
+ <File
+ RelativePath="MainApp.h">
+ </File>
+ <File
+ RelativePath="Manager.h">
+ </File>
+ <File
+ RelativePath="MyBullets.h">
+ </File>
+ <File
+ RelativePath="MyGroundBullets.h">
+ </File>
+ <File
+ RelativePath="MyShip.h">
+ </File>
+ <File
+ RelativePath="resource.h">
+ </File>
+ <File
+ RelativePath="s2001.h">
+ </File>
+ <File
+ RelativePath="Scene.h">
+ </File>
+ <File
+ RelativePath="scenetype.h">
+ </File>
+ <File
+ RelativePath="..\sfinterface.h">
+ </File>
+ <File
+ RelativePath="StdAfx.h">
+ </File>
+ <File
+ RelativePath="Target.h">
+ </File>
+ <File
+ RelativePath="ZK01.h">
+ </File>
+ <File
+ RelativePath="ZK02.h">
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
+ </Filter>
+ <File
+ RelativePath="ReadMe.txt">
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
--- /dev/null
+<?xml version="1.0" encoding="shift_jis"?>
+<VisualStudioUserFile
+ ProjectType="Visual C++"
+ Version="9.00"
+ ShowAllFiles="false"
+ >
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ >
+ <DebugSettings
+ Command=""
+ WorkingDirectory=""
+ CommandArguments=""
+ Attach="false"
+ DebuggerType="3"
+ Remote="1"
+ RemoteMachine="SATOSHI-PC"
+ RemoteCommand=""
+ HttpUrl=""
+ PDBPath=""
+ SQLDebugging=""
+ Environment=""
+ EnvironmentMerge="true"
+ DebuggerFlavor=""
+ MPIRunCommand=""
+ MPIRunArguments=""
+ MPIRunWorkingDirectory=""
+ ApplicationCommand=""
+ ApplicationArguments=""
+ ShimCommand=""
+ MPIAcceptMode=""
+ MPIAcceptFilter=""
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ >
+ <DebugSettings
+ Command=""
+ WorkingDirectory=""
+ CommandArguments=""
+ Attach="false"
+ DebuggerType="3"
+ Remote="1"
+ RemoteMachine="SATOSHI-PC"
+ RemoteCommand=""
+ HttpUrl=""
+ PDBPath=""
+ SQLDebugging=""
+ Environment=""
+ EnvironmentMerge="true"
+ DebuggerFlavor=""
+ MPIRunCommand=""
+ MPIRunArguments=""
+ MPIRunWorkingDirectory=""
+ ApplicationCommand=""
+ ApplicationArguments=""
+ ShimCommand=""
+ MPIAcceptMode=""
+ MPIAcceptFilter=""
+ />
+ </Configuration>
+ </Configurations>
+</VisualStudioUserFile>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{A9583091-4F70-4817-8125-1BE5C54495E5}</ProjectGuid>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Midl>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MkTypLibCompatible>true</MkTypLibCompatible>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TargetEnvironment>Win32</TargetEnvironment>
+ <TypeLibraryName>.\Release/s2001.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+ <AdditionalIncludeDirectories>..\sfglib;..\s2001;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;S2001_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
+ <PrecompiledHeaderOutputFile>.\Release/s2001.pch</PrecompiledHeaderOutputFile>
+ <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
+ <ObjectFileName>.\Release/</ObjectFileName>
+ <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
+ <WarningLevel>Level3</WarningLevel>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <CompileAs>Default</CompileAs>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0411</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalDependencies>..\sfglib.lib;dinput8.lib;Dxerr8.lib;d3dx8.lib;d3d8.lib;dxguid.lib;d3dxof.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>.\Release/s2001.dll</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <ProgramDatabaseFile>.\Release/s2001.pdb</ProgramDatabaseFile>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <ImportLibrary>.\Release/s2001.lib</ImportLibrary>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ <PostBuildEvent>
+ <Command>copy .\release\*.lib ..</Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Midl>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MkTypLibCompatible>true</MkTypLibCompatible>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TargetEnvironment>Win32</TargetEnvironment>
+ <TypeLibraryName>.\Debug/s2001.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>..\sfglib;..\s2001;..;..\s2001scene;..\s2001editor;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;S2001_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>.\Debug/s2001.pch</PrecompiledHeaderOutputFile>
+ <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
+ <ObjectFileName>.\Debug/</ObjectFileName>
+ <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
+ <WarningLevel>Level3</WarningLevel>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ <CompileAs>Default</CompileAs>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0411</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalDependencies>..\sfglib.lib;dinput8.lib;Dxerr8.lib;d3dx8.lib;d3d8.lib;dxguid.lib;d3dxof.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>.\Debug/s2001.dll</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>.\Debug/s2001.pdb</ProgramDatabaseFile>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <ImportLibrary>.\Debug/s2001.lib</ImportLibrary>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ <PostBuildEvent>
+ <Command>copy .\debug\*.lib ..</Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="AbstractCharacter.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="AbstractEnemy.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="Armys.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="character.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="Controller.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="DispositionControl.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="EA01.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="EB01.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="Effects.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="EnemyBullets.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="Enemys.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="Explosion.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="Hit.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="MainApp.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="Manager.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="MyBullets.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="MyGroundBullets.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="MyShip.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="s2001.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="StdAfx.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">stdafx.h</PrecompiledHeaderFile>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
+ </ClCompile>
+ <ClCompile Include="Target.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="ZK01.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="ZK02.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="AbstractCharacter.h" />
+ <ClInclude Include="AbstractCharacters.h" />
+ <ClInclude Include="AbstractEnemy.h" />
+ <ClInclude Include="Armys.h" />
+ <ClInclude Include="character.h" />
+ <ClInclude Include="Controller.h" />
+ <ClInclude Include="DispositionControl.h" />
+ <ClInclude Include="EA01.h" />
+ <ClInclude Include="EB01.h" />
+ <ClInclude Include="Effects.h" />
+ <ClInclude Include="EnemyBullets.h" />
+ <ClInclude Include="Enemys.h" />
+ <ClInclude Include="explosion.h" />
+ <ClInclude Include="Hit.h" />
+ <ClInclude Include="MainApp.h" />
+ <ClInclude Include="Manager.h" />
+ <ClInclude Include="MyBullets.h" />
+ <ClInclude Include="MyGroundBullets.h" />
+ <ClInclude Include="MyShip.h" />
+ <ClInclude Include="resource.h" />
+ <ClInclude Include="s2001.h" />
+ <ClInclude Include="Scene.h" />
+ <ClInclude Include="scenetype.h" />
+ <ClInclude Include="..\sfinterface.h" />
+ <ClInclude Include="StdAfx.h" />
+ <ClInclude Include="Target.h" />
+ <ClInclude Include="ZK01.h" />
+ <ClInclude Include="ZK02.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="ReadMe.txt" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{e3341acc-e08a-4abe-a763-d2d272c82217}</UniqueIdentifier>
+ <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{6c1f7c74-f99e-47e8-b75a-1ed3f1c37e9b}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{5a7edc49-aa5e-438e-97dc-61d532e22113}</UniqueIdentifier>
+ <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="AbstractCharacter.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="AbstractEnemy.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Armys.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="character.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Controller.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="DispositionControl.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="EA01.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="EB01.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Effects.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="EnemyBullets.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Enemys.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Explosion.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Hit.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="MainApp.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Manager.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="MyBullets.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="MyGroundBullets.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="MyShip.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="s2001.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="StdAfx.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Target.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="ZK01.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="ZK02.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="AbstractCharacter.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="AbstractCharacters.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="AbstractEnemy.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Armys.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="character.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Controller.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="DispositionControl.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="EA01.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="EB01.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Effects.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="EnemyBullets.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Enemys.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="explosion.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Hit.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="MainApp.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Manager.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="MyBullets.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="MyGroundBullets.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="MyShip.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="resource.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="s2001.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Scene.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="scenetype.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\sfinterface.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="StdAfx.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Target.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="ZK01.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="ZK02.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="ReadMe.txt" />
+ </ItemGroup>
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
--- /dev/null
+/**
+ * @file
+ * @brief \83V\81[\83\93\82Ì\8eí\97Þ\82Ì\92è\8b`\82ð\8ds\82¤\81B
+ *
+ * @author S.F.
+ * @version $Id:
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+#ifndef SF_SCENE_TYPE_H
+#define SF_SCENE_TYPE_H
+namespace sf {
+ namespace application {
+ namespace scene {
+ /// Scene\83^\83C\83v
+ enum TYPE {
+ NONE,///< \96³\8cø
+ TEST,///< Test\83V\81[\83\93
+ AUTHOR,///< \90»\8dì\8eÒ\95\\8e¦\83V\81[\83\93
+ FADE,///< \83t\83F\81[\83h\83C\83\93\81E\83A\83E\83g\83V\81[\83\93
+ TITLE,///< \83^\83C\83g\83\8b\83V\81[\83\93
+ GAME,///< \83Q\81[\83\80\83V\81[\83\93
+ START,///< \83X\83^\81[\83g\83V\81[\83\93
+ RESTART,///< \83\8a\83X\83^\81[\83g\83V\81[\83\93
+ OVER,///< \83Q\81[\83\80\83I\81[\83o\81[\83V\81[\83\93
+ EDITOR,///< \94w\8ci\83G\83f\83B\83^\81[\83V\81[\83\93
+ CELLSELECTOR,///< \94w\8ci\83Z\83\8b\91I\91ð\83V\81[\83\93
+ DISPOSITION_EDITOR///< \94z\92u\83G\83f\83B\83^\83V\81[\83\93
+ };
+ }
+ }
+}
+
+#endif
--- /dev/null
+// BGEditor.cpp: BGEditor \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+//
+//////////////////////////////////////////////////////////////////////
+
+#include "stdafx.h"
+#include "BGEditor.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+
+BGEditor::BGEditor()
+{
+
+}
+
+BGEditor::~BGEditor()
+{
+
+}
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// BGEditor.h: \94w\8ci\83G\83f\83B\83^
+// << \92\8d\88Ó >>
+// \83C\83\93\83X\83^\83\93\83X\8dì\90¬\8cã\82Í\95K\82¸\81ABGEditor\82Ì\83p\83\89\83\81\81[\83^\82ð\8f\89\8aú\89»\82µ\82Ä\82\82¾\82³\82¢\81B
+// \97\9a\97ð\81F
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+
+#if !defined(AFX_BGEDITOR_H__828FA451_903E_41D4_B2FD_235E7A281A08__INCLUDED_)
+#define AFX_BGEDITOR_H__828FA451_903E_41D4_B2FD_235E7A281A08__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+namespace sf {
+ namespace application {
+ namespace scene {
+
+#include "sfinterface.h"
+class SF_INTERFACE BGEditor
+{
+public:
+ BGEditor(){};
+ virtual ~BGEditor(){};
+ virtual void game(Game * const pGame) = 0;
+ virtual Game * const game() const = 0;
+ virtual const float mouseX(void) const = 0;
+ virtual const float mouseY(void) const = 0;
+ virtual void selectedData(const DWORD value) = 0;
+ virtual const DWORD selectedData(void) const = 0;
+};
+ }
+ }
+}
+
+#endif // !defined(AFX_BGEDITOR_H__828FA451_903E_41D4_B2FD_235E7A281A08__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// BGEditorImpl.cpp: BGEditorImpl \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// << \92\8d\88Ó >>
+// \83C\83\93\83X\83^\83\93\83X\8dì\90¬\8cã\82Í\95K\82¸\81ABGEditor\82Ì\83p\83\89\83\81\81[\83^\82ð\8f\89\8aú\89»\82µ\82Ä\82\82¾\82³\82¢\81B
+// \97\9a\97ð\81F
+// $Log: BGEditorImpl.cpp,v $
+// Revision 1.1.1.1 2001/11/06 21:29:04 fujiwara
+// no message
+//
+// Revision 1.1 2001/10/28 21:40:35 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.5 2001/07/09 20:30:07 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.4 2001/07/01 21:30:33 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.3 2001/07/01 01:03:43 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.2 2001/05/12 00:48:13 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+
+// SYSTEM INCLUDES
+
+#include <stack>
+#include <list>
+#include <vector>
+#include <map>
+#include <fstream>
+
+// PROJECT INCLUDES
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "exception.h"
+#include "singleton.h"
+#include "system.h"
+#include "console.h"
+#include "input.h"
+#include "Scene.h"
+#include "main.h"
+#include "Obj.h"
+#include "Obj2D.h"
+#include "Obj3D.h"
+#include "Obj3DL.h"
+#include "ObjQuadrangle.h"
+#include "ObjRectangle.h"
+#include "Background.h"
+#include "AbstractScene.h"
+#include "character.h"
+#include "Game.h"
+#include "hit.h"
+#include "MySHip.h"
+#include "Enemys.h"
+#include "Armys.h"
+#include "DispositionControl.h"
+#include "BGEditor.h"
+#include "BGEditorImpl.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+
+using namespace sf::application::scene;
+using namespace sf;
+using namespace sf::system::console;
+
+const float BGEditorImpl::CellSelector::WIDTH = Background::Map::CELL_SIZE * Background::Map::CELL_TEX_COUNT_W;
+const float BGEditorImpl::CellSelector::HEIGHT = Background::Map::CELL_SIZE * Background::Map::CELL_TEX_COUNT_H;
+
+const float BGEditorImpl::CellSelector::X_MIN = viewport::X + BGEditorImpl::CellSelector::WIDTH / 2.0f;
+const float BGEditorImpl::CellSelector::X_MAX = viewport::X + viewport::WIDTH - BGEditorImpl::CellSelector::WIDTH / 2.0f;
+const float BGEditorImpl::CellSelector::Y_MIN = viewport::Y + BGEditorImpl::CellSelector::HEIGHT / 2.0f;
+const float BGEditorImpl::CellSelector::Y_MAX = viewport::Y + viewport::HEIGHT - BGEditorImpl::CellSelector::HEIGHT / 2.0f;
+
+
+BGEditorImpl::BGEditorImpl() : AbstractScene()
+{
+ mbCallBack = false;
+ mbListening = false;
+ mpCellSelector = NULL;
+ mSelectedMapData = 0x0;
+ mpGame = NULL;
+ mState = INITIALIZE;
+}
+
+BGEditorImpl::~BGEditorImpl()
+{
+ mbCallBack = false;
+
+ if(mpInput){
+ mpInput->removeMouseListener(this);
+ mpInput->removeKeyboardListener(this);
+ mpInput->hideMouseCursor();
+ }
+
+ if(mpCellSelector)
+ delete mpCellSelector;
+}
+
+
+void BGEditorImpl::move(void)
+{
+ switch(mState)
+ {
+ case INITIALIZE:
+ initialize();
+ return;
+ case MAIN:
+ // \82d\82w\82h\82s\83L\81[\82ª\89\9f\82³\82ê\82½\82©\81H
+ if(mpInput->exit(true)) {
+ exitKeyPressed(this);
+ }
+ return;
+ }
+
+}
+
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+bool BGEditorImpl::initialize()
+{
+// if(!mBackground.load("test.map"))
+// return false;
+
+// mBackground.offsetY(0.0f);
+// mBackground.visibility(true);
+ mpInput->addMouseListener(this);
+ mpInput->addKeyboardListener(this);
+
+ mpInput->showMouseCursor();
+ mState = MAIN;
+ mbCallBack = true;
+ mbListening = true;
+ return true;
+}
+
+//BGEditorImpl Scene \82Ì\8fI\97¹ ---------------------------------------------------------
+void BGEditorImpl::endOfScene(Scene *pScene)
+{
+ CellSelector *pcs;
+
+ switch(pScene->type())
+ {
+ case CELLSELECTOR:
+ mbCallBack = true;
+ pcs = dynamic_cast<CellSelector*>(pScene);
+ selectedData( (pcs->selectedTextureNo() << 16) | (0x7fff & pcs->selectedIndex() + 1));
+ break;
+ default:
+ callSceneEvent(&sf::application::scene::Listener::endOfScene);
+ delete this;
+ }
+
+} //endOfScene()
+
+// exit key \82ª\89\9f\82³\82ê\82½\81I ------------------------------------------------------
+void BGEditorImpl::exitKeyPressed(Scene *pScene)
+{
+ callSceneEvent(&sf::application::scene::Listener::exitKeyPressed);
+ delete this;
+} //endOfScene()
+
+// \83}\83E\83X\83z\83C\81[\83\8b\82ª\93®\82¢\82½ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void BGEditorImpl::mouseWheel(const int screenX,const int screenY,const DWORD mkey)
+{
+ using namespace sf::system::input::mouse;
+ int wheel = (int)(mkey & 0xffff0000) / 65536;
+
+ float speed = 8.0f;
+
+ if(MKEY_SHIFT & mkey)
+ speed = 64.0f;
+
+ if(MKEY_CONTROL & mkey)
+ speed = 64.0f * 8.0f;
+
+ if(wheel > 0){
+ mpGame->scrollY(mpGame->scrollY() + speed);
+ } else {
+ mpGame->scrollY(mpGame->scrollY() - speed);
+ }
+
+}// mouseWheel()
+
+// \83L\81[\83{\81[\83h\82ª\89\9f\82³\82ê\82½\81I
+void BGEditorImpl::keyDown(DWORD keyCode,DWORD extKeyCode)
+{
+ switch((char)keyCode)
+ {
+ case 'G':
+ endOfScene(this);
+ break;
+ case 'S':
+ mpGame->background()->save(NULL);
+ break;
+ }
+}// keyDown()
+
+// \89E\83N\83\8a\83b\83N \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void BGEditorImpl::rightButtonDown(const int screenX,const int screenY,const DWORD mkey)
+{
+ mbCallBack = false;
+
+ CellSelector *pcsel = new CellSelector(mpGame->background()->textureList());
+ Container::instance()->add(pcsel);
+ pcsel->addListener(this);
+ pcsel->selectedIndex(selectedData() & 0xffff);
+ pcsel->selectedTextureNo((selectedData() & 0xffff0000) >> 16);
+
+ pcsel->selectorX((float)screenX);
+ pcsel->selectorY((float)screenY);
+ pcsel->z((float)0.0001);
+
+ mMouseX = (float)screenX;
+ mMouseY = (float)screenY;
+
+}// rightButtonDown
+
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+//
+// CellSelector Class
+//
+// \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+
+BGEditorImpl::CellSelector::CellSelector(sf::system::console::Background::TextureList* pTextureList)
+{
+ mpTextureList = pTextureList;
+ visibility(false);
+ sprite(NULL);
+ mState = INITIALIZE;
+ mbMouseListening = false;
+}// CellSelector()
+
+// \83f\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+BGEditorImpl::CellSelector::~CellSelector()
+{
+ if(mpInput)
+ mpInput->removeMouseListener(this);
+// Obj::List::deleteObj(this);
+
+}// ~CellSelector()
+
+// \93®\8dì\8bL\8fq \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void BGEditorImpl::CellSelector::move(void)
+{
+ switch(mState)
+ {
+ case INITIALIZE:
+ initialize();
+ return;
+ case MAIN:
+// return main();
+ break;
+ }
+
+}// move()
+
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+bool BGEditorImpl::CellSelector::initialize()
+{
+ if(mSelectorX > X_MAX)
+ mSelectorX = X_MAX;
+
+ if(mSelectorX< X_MIN)
+ mSelectorX = X_MIN;
+
+ if(mSelectorY > Y_MAX)
+ mSelectorY = Y_MAX;
+
+ if(mSelectorY < Y_MIN)
+ mSelectorY = Y_MIN;
+ mpInput->addMouseListener(this);
+ mbMouseListening = true;
+ visibility(true);
+ mState = MAIN;
+ return true;
+}// move()
+
+// \83Z\83\8c\83N\83^\82Ì\95`\89æ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void BGEditorImpl::CellSelector::draw()
+{
+ if(!visibility())
+ return;
+
+ float start_y = mSelectorY - (Background::Map::CELL_TEX_COUNT_H / 2.0f
+ * Background::Map::CELL_SIZE - Background::Map::CELL_SIZE / 2.0f);
+ float end_y = mSelectorY + (Background::Map::CELL_TEX_COUNT_H / 2.0f
+ * Background::Map::CELL_SIZE - Background::Map::CELL_SIZE / 2.0f);
+
+ float start_x = mSelectorX - (Background::Map::CELL_TEX_COUNT_W / 2.0f
+ * Background::Map::CELL_SIZE - Background::Map::CELL_SIZE / 2.0f);
+
+ float end_x = mSelectorX + (Background::Map::CELL_TEX_COUNT_W / 2.0f
+ * Background::Map::CELL_SIZE - Background::Map::CELL_SIZE / 2.0f);
+
+ int t_index = 0;
+
+ for(float iy = start_y ; iy <= end_y;iy += Background::Map::CELL_SIZE)
+ {
+ for(float ix = start_x ; ix <= end_x ; ix += Background::Map::CELL_SIZE){
+ index(t_index);
+ x(ix);
+ y(iy);
+
+ if( mMouseX > (ix - Background::Map::CELL_SIZE / 2.0f) &&
+ mMouseX < (ix + Background::Map::CELL_SIZE / 2.0f) &&
+ mMouseY > (iy - Background::Map::CELL_SIZE / 2.0f) &&
+ mMouseY < (iy + Background::Map::CELL_SIZE / 2.0f))
+ {
+ color(0xffff0000);
+ }
+ else
+ color(0xffffffff);
+
+ (*mpTextureList)[selectedTextureNo()]->draw(this);
+ t_index++;
+ }
+ }
+
+}
+
+// \8d¶\83N\83\8a\83b\83N\82ª\89\9f\82³\82ê\82½ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void BGEditorImpl::CellSelector::leftButtonDown(const int screenX,const int screenY,const DWORD mkey)
+{
+
+ if(!visibility())
+ return;
+
+ float start_y = mSelectorY - (Background::Map::CELL_TEX_COUNT_H / 2.0f
+ * Background::Map::CELL_SIZE - Background::Map::CELL_SIZE / 2.0f);
+ float end_y = mSelectorY + (Background::Map::CELL_TEX_COUNT_H / 2.0f
+ * Background::Map::CELL_SIZE - Background::Map::CELL_SIZE / 2.0f);
+
+ float start_x = mSelectorX - (Background::Map::CELL_TEX_COUNT_W / 2.0f
+ * Background::Map::CELL_SIZE - Background::Map::CELL_SIZE / 2.0f);
+
+ float end_x = mSelectorX + (Background::Map::CELL_TEX_COUNT_W / 2.0f
+ * Background::Map::CELL_SIZE - Background::Map::CELL_SIZE / 2.0f);
+
+ int t_index = 0;
+
+ for(float iy = start_y ; iy <= end_y;iy += Background::Map::CELL_SIZE)
+ {
+ for(float ix = start_x ; ix <= end_x ; ix += Background::Map::CELL_SIZE){
+ if( mMouseX > (ix - Background::Map::CELL_SIZE / 2.0f) &&
+ mMouseX < (ix + Background::Map::CELL_SIZE / 2.0f) &&
+ mMouseY > (iy - Background::Map::CELL_SIZE / 2.0f) &&
+ mMouseY < (iy + Background::Map::CELL_SIZE / 2.0f))
+ {
+ selectedIndex(t_index);
+ callSceneEvent(&sf::application::scene::Listener::endOfScene);
+ delete this;
+ return;
+ }
+ t_index++;
+ }
+ }
+ callSceneEvent(&sf::application::scene::Listener::endOfScene);
+ delete this;
+}// leftButtonDown()
+
+// \83}\83E\83X\83z\83C\81[\83\8b\82ª\93®\82¢\82½ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void BGEditorImpl::CellSelector::mouseWheel(const int screenX,const int screenY,const DWORD mkey)
+{
+ using namespace sf::system::input::mouse;
+ int wheel = (int)(mkey & 0xffff0000) / 65536;
+ if(wheel > 0){
+ if(selectedTextureNo() == (mpTextureList->size() - 1))
+ return;
+ else
+ selectedTextureNo(selectedTextureNo() + 1);
+ } else {
+ if(selectedTextureNo() == 0)
+ return;
+ else
+ selectedTextureNo(selectedTextureNo() - 1);
+ }
+
+
+
+}// mouseWheel()
+
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// BGEditorImpl.h: BGEditorImpl \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \83}\83b\83v\83G\83f\83B\83^\81[\83N\83\89\83X
+// \97\9a\97ð\81F
+// $Log: BGEditorImpl.h,v $
+// Revision 1.1.1.1 2001/11/06 21:29:04 fujiwara
+// no message
+//
+// Revision 1.1 2001/10/28 21:40:35 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.4 2001/07/09 20:30:08 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.3 2001/07/01 01:03:43 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.2 2001/05/12 00:48:13 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_EDITOR_H__78B4933E_229E_4ACD_9183_C1E688557FE7__INCLUDED_)
+#define AFX_EDITOR_H__78B4933E_229E_4ACD_9183_C1E688557FE7__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "AbstractScene.h"
+namespace sf {
+ namespace application {
+ namespace scene {
+
+class BGEditorImpl : public sf::system::input::mouse::Listener ,
+ public sf::system::input::keyboard::Listener ,public AbstractScene
+{
+
+ // LIFE CYCLE //
+
+public:
+ BGEditorImpl(BGEditorParameter *pBGEditorParam);
+ virtual ~BGEditorImpl();
+
+ // OPERATIONS //
+
+ void move(void);
+ //
+ const TYPE type() const{return EDITOR;};
+ // \83V\81[\83\93\8fI\97¹\8e\9e\83C\83x\83\93\83g
+ void endOfScene(Scene * const pScene);
+ // \83V\81[\83\93\92\86\92f(\8fI\97¹\83L\81[\82ª\89\9f\82³\82ê\82½)\83C\83x\83\93\83g
+ void exitKeyPressed(Scene * const pScene);
+
+ // \83}\83E\83X\83\8a\83X\83i\81[
+ void leftButtonDown(const int screenX,const int screenY,const DWORD mkey)
+ {
+ mpGame->background()->setData((float)screenX,(float)screenY,mSelectedMapData);
+ };
+ void leftButtonUp(const int screenX,const int screenY,const DWORD mkey){;};
+ void leftButtonDoubleClick(const int screenX,const int screenY,const DWORD mkey){;};
+ void rightButtonDown(const int screenX,const int screenY,const DWORD mkey);
+ void rightButtonUp(const int screenX,const int screenY,const DWORD mkey){;};
+ void rightButtonDoubleClick(const int screenX,const int screenY,const DWORD mkey){;};
+ void mouseMove(const int screenX,const int screenY,const DWORD mkey){;}
+ void mouseWheel(const int screenX,const int screenY,const DWORD mkey);
+ void mouseTalkerIsDeleted(void){mpInput = NULL;};
+ // \83L\81[\83{\81[\83h\83\8a\83X\83i\81[
+ void keyDown(const DWORD keyCode,const DWORD extKeyCode);
+ void keyUp(const DWORD keyCode,const DWORD extKeyCode){};
+ void keyboardTalkerIsDeleted(void){mpInput = NULL;};
+
+ // ACCESS //
+
+ const float mouseX(void) { return mMouseX;};
+ const float mouseY(void) { return mMouseY;};
+
+ void selectedData(const DWORD value){mSelectedMapData = value;};
+ const DWORD selectedData(void) const {return mSelectedMapData;};
+
+ // INQUIRY //
+
+ const bool isListeningMouse(void) const {return mbCallBack;};
+ const bool isListeningKeyboard(void) const {return mbListening;};
+
+private:
+
+ // \83}\83b\83v\82Ì\83e\83N\83X\83`\83\83\83Z\83\8c\83N\83^\83N\83\89\83X //
+ class CellSelector :
+ public sf::system::input::mouse::Listener,
+ public sf::system::console::ObjRectangle,
+ public sf::application::scene::AbstractScene
+
+ {
+
+ // LIFE CYCLE //
+
+ public:
+
+ CellSelector(sf::system::console::Background::TextureList* pTextureList);
+ ~CellSelector();
+
+ // OPERATIONS //
+
+ // draw\82ð\83I\81[\83o\81[\83\89\83C\83h
+ void draw();
+ // scene
+ void move(void);
+ const TYPE type() const{return CELLSELECTOR;};
+ void endOfScene(Scene * const pScene){;};
+ void exitKeyPressed(Scene * const pScene){;};
+ // \83}\83E\83X\83\8a\83X\83i\81[
+ void leftButtonDown(const int screenX,const int screenY,const DWORD mkey);
+ void leftButtonUp(const int screenX,const int screenY,const DWORD mkey){};
+ void leftButtonDoubleClick(const int screenX,const int screenY,const DWORD mkey){};
+ void rightButtonDown(const int screenX,const int screenY,const DWORD mkey){};
+ void rightButtonUp(const int screenX,const int screenY,const DWORD mkey){};
+ void rightButtonDoubleClick(const int screenX,const int screenY,const DWORD mkey){};
+ void mouseMove(const int screenX,const int screenY,const DWORD mkey)
+ {mMouseX = (float)screenX;mMouseY = (float)screenY;};
+ void mouseWheel(const int screenX,const int screenY,const DWORD mkey);
+ const bool isListeningMouse(void) const {return mbMouseListening;};
+ void mouseTalkerIsDeleted(void){mpInput = NULL;};
+
+ // ACCESS //
+
+ const DWORD selectedIndex(void) const {return mSelectedIndex;};
+ void selectedIndex(DWORD value){mSelectedIndex = value;};
+
+ const DWORD selectedTextureNo(void) const {return mSelectedTextureNo;};
+ void selectedTextureNo(DWORD value){mSelectedTextureNo = value;};
+
+ const float selectorX(void) const { return mSelectorX;};
+ void selectorX(float value){ mSelectorX = value;};
+
+ const float selectorY(void) const { return mSelectorY;};
+ void selectorY(float value){ mSelectorY = value ;};
+
+ private:
+ bool initialize();
+ bool mbMouseListening;
+
+ DWORD mSelectedIndex;
+ DWORD mSelectedTextureNo;
+
+ // \83Z\83\8b\83Z\83\8c\83N\83^\82Ì\92\86\90S\8dÀ\95W
+ float mSelectorX;
+ float mSelectorY;
+
+ // \8c»\8dÝ\82Ì\83}\83E\83X\8dÀ\95W
+ float mMouseX;
+ float mMouseY;
+
+ sf::system::console::Background::TextureList* mpTextureList;
+
+ enum {
+ INITIALIZE,
+ MAIN
+ } mState;
+
+ // \92è\90\94 //
+
+ static const float X_MIN;
+ static const float X_MAX;
+ static const float Y_MIN;
+ static const float Y_MAX;
+ static const float WIDTH;
+ static const float HEIGHT;
+
+ };// CellSelector
+
+ //
+
+ CellSelector* mpCellSelector;
+ DWORD mSelectedMapData;
+ bool initialize();
+
+// sf::system::console::Background mBackground;
+ float mMouseX,mMouseY;
+ bool mbCallBack;
+ bool mbListening;
+
+ enum STATE {
+ INITIALIZE,
+ MAIN,
+ END
+ } mState;
+
+ Game *mpGame;
+
+};// BGEditorImpl
+ }
+ }
+}
+
+#endif // !defined(AFX_EDITOR_H__78B4933E_229E_4ACD_9183_C1E688557FE7__INCLUDED_)
--- /dev/null
+/PathEditor.cpp/1.1.1.1/Tue Nov 06 21:29:04 2001//
+/PathEditor.h/1.1.1.1/Tue Nov 06 21:29:04 2001//
+/ReadMe.txt/1.1.1.1/Tue Nov 06 21:29:04 2001//
+/StdAfx.cpp/1.1.1.1/Tue Nov 06 21:29:04 2001//
+/StdAfx.h/1.1.1.1/Tue Nov 06 21:29:04 2001//
+/s2001Editor.cpp/1.1.1.1/Tue Nov 06 21:29:04 2001//
+/s2001Editor.dsp/1.1.1.1/Tue Nov 06 21:29:58 2001//
+/s2001Editor.plg/1.1.1.1/Tue Nov 06 21:29:58 2001//
+/BGEditor.cpp/1.1.1.1/Tue Nov 06 21:29:04 2001//
+/BGEditor.h/1.1.1.1/Tue Nov 06 21:29:04 2001//
+/DispositionEditor.cpp/1.1.1.1/Tue Nov 06 21:29:04 2001//
+/DispositionEditor.h/1.1.1.1/Tue Nov 06 21:29:04 2001//
+D
--- /dev/null
+s2001editor
--- /dev/null
+:local:c:\home
--- /dev/null
+// DispositionEditor.cpp: DispositionEditor \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+//
+//////////////////////////////////////////////////////////////////////
+
+#include "stdafx.h"
+#include "DispositionEditor.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+
+DispositionEditor::DispositionEditor()
+{
+
+}
+
+DispositionEditor::~DispositionEditor()
+{
+
+}
--- /dev/null
+// DispositionEditor.h: DispositionEditor \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+//
+//////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_DISPOSITIONEDITOR_H__779BDF4A_4E99_40F8_82DF_BB1CD15CD672__INCLUDED_)
+#define AFX_DISPOSITIONEDITOR_H__779BDF4A_4E99_40F8_82DF_BB1CD15CD672__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+class DispositionEditor
+{
+public:
+ DispositionEditor(){};
+ virtual ~DispositionEditor(){};
+
+};
+
+#endif // !defined(AFX_DISPOSITIONEDITOR_H__779BDF4A_4E99_40F8_82DF_BB1CD15CD672__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// DispositionEditorImpl.cpp: DispositionEditorImpl \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// \97\9a\97ð\81F
+// $Log: DispositionEditorImpl.cpp,v $
+// Revision 1.1.1.1 2001/11/06 21:29:04 fujiwara
+// no message
+//
+// Revision 1.1 2001/10/28 21:40:35 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.9 2001/07/09 20:30:08 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.8 2001/07/01 21:30:33 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.7 2001/07/01 01:03:43 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.6 2001/05/29 01:13:06 fujiwara
+// \8eG\8b\9b\83L\83\83\83\89(\94ò\8ds\95¨\81j\82Ì\8dì\90¬\81B\94z\92u\83G\83f\83B\83^\82Ì\83o\83O\8fC\90³
+//
+// Revision 1.5 2001/05/17 12:34:10 fujiwara
+// \92n\8fã\93G\83T\83\93\83v\83\8b\8dì\90¬
+//
+// Revision 1.4 2001/05/12 12:48:28 fujiwara
+// \94z\92u\83G\83f\83B\83^\8dì\90¬\82É\94º\82¤\95Ï\8dX\81E\92Ç\89Á
+//
+// Revision 1.3 2001/05/12 00:50:48 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+// SYSTEM INCLUDES
+
+#include <stack>
+#include <list>
+#include <vector>
+#include <map>
+#include <fstream>
+
+// PROJECT INCLUDES
+
+
+#include "exception.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "singleton.h"
+#include "system.h"
+#include "console.h"
+#include "input.h"
+#include "Scene.h"
+#include "main.h"
+#include "Obj.h"
+#include "Obj2D.h"
+#include "Obj3D.h"
+#include "Obj3DL.h"
+#include "ObjQuadrangle.h"
+#include "ObjRectangle.h"
+#include "Background.h"
+#include "AbstractScene.h"
+#include "character.h"
+#include "hit.h"
+#include "MySHip.h"
+#include "Enemys.h"
+#include "Armys.h"
+#include "Game.h"
+#include "DispositionControl.h"
+#include "DispositionEditorImpl.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+
+using namespace sf::application::scene;
+using namespace sf;
+using namespace sf::system::console;
+
+const DWORD DispositionEditorImpl::CURRENT_SPECULAR = 0x202080;
+const DWORD DispositionEditorImpl::NORMAL_SPECULAR = 0;
+
+// \83R\83\93\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+DispositionEditorImpl::DispositionEditorImpl() : AbstractScene()
+{
+ mbCallBack = false;
+ mbListening = false;
+
+ mEditType = application::disposition::command::SET_ENEMY;
+ mpEditCommand = sf::application::disposition::Controller::create(mEditType);
+ mpEditCommand->load();
+
+ mpGame = NULL;
+
+ mState = INITIALIZE;
+ mDifficulty = sf::application::scene::Game::EASY;
+
+ visibility(false);
+}// DispositionEditorImpl()
+
+// \83f\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+DispositionEditorImpl::~DispositionEditorImpl()
+{
+ mbCallBack = false;
+
+ if(mpInput){
+ mpInput->removeMouseListener(this);
+ mpInput->removeKeyboardListener(this);
+
+ mpInput->hideMouseCursor();
+
+ mpInput->removeKeyboardListener(mpEditCommand);
+ mpInput->removeMouseListener(mpEditCommand);
+ }
+
+ unload();
+ delete mpEditCommand;
+
+}// ~DispositionEditorImpl()
+
+
+void DispositionEditorImpl::move(void)
+{
+ switch(mState)
+ {
+ case INITIALIZE:
+ initialize();
+ return;
+ case MAIN:
+ // \82d\82w\82h\82s\83L\81[\82ª\89\9f\82³\82ê\82½\82©\81H
+ if(mpInput->exit(true)) {
+ exitKeyPressed(this);
+ return;
+ }
+ mpGame->printEditInfo();
+ return;
+ }
+}
+
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void DispositionEditorImpl::initialize(void)
+{
+ mpInput->addMouseListener(this);
+ mpInput->addKeyboardListener(this);
+ mpInput->showMouseCursor();
+
+ mpInput->addKeyboardListener(mpEditCommand);
+ mpInput->addMouseListener(mpEditCommand);
+
+ mState = MAIN;
+ mbCallBack = true;
+ mbListening = true;
+ mpGame->background()->edit(true);
+
+ load();
+ z(0.1f);
+ visibility(true);
+}
+
+//DispositionEditorImpl Scene \82Ì\8fI\97¹ ---------------------------------------------------------
+void DispositionEditorImpl::endOfScene(Scene *pScene)
+{
+ mpGame->background()->edit(false);
+ mpGame->controllerPtr()->restart(mpGame->scrollY());
+ callSceneEvent(&sf::application::scene::Listener::endOfScene);
+ delete this;
+} //endOfScene()
+
+// exit key \82ª\89\9f\82³\82ê\82½\81I ------------------------------------------------------
+void DispositionEditorImpl::exitKeyPressed(Scene *pScene)
+{
+ mpGame->background()->edit(false);
+ mpGame->controllerPtr()->restart(mpGame->scrollY());
+ callSceneEvent(&sf::application::scene::Listener::exitKeyPressed);
+ delete this;
+} //endOfScene()
+
+// \83}\83E\83X\83z\83C\81[\83\8b\82ª\93®\82¢\82½ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void DispositionEditorImpl::mouseWheel(const int screenX,const int screenY,const DWORD mkey)
+{
+ using namespace sf::system::input::mouse;
+ int wheel = (int)(mkey & 0xffff0000) / 65536;
+
+ float speed = 1.0f;
+
+ if(MKEY_SHIFT & mkey)
+ speed = 8.0f;
+
+ if(MKEY_CONTROL & mkey)
+ speed = 32.0f;
+
+ if(wheel > 0)
+ mpGame->scrollY(mpGame->scrollY() + speed);
+ else
+ mpGame->scrollY(mpGame->scrollY() - speed);
+
+ if(mpEditCommand)
+ mpEditCommand->mouseWheel(screenX,screenY,mkey);
+
+}// mouseWheel()
+
+// \83L\81[\83{\81[\83h\82ª\89\9f\82³\82ê\82½\81I
+void DispositionEditorImpl::keyDown(const DWORD keyCode,const DWORD extKeyCode)
+{
+ using namespace sf::system::input;
+ using namespace sf::application::disposition::command;
+
+ float speed = 1.0f;
+ int max = 0;
+
+ if(extKeyCode & keyboard::SHIFT)
+ speed = 8.0f;
+
+ switch((char)keyCode)
+ {
+ case 'G':
+ endOfScene(this);
+ break;
+ case 'S':
+ mpGame->controllerPtr()->save();
+ break;
+ case VKEY_DOWN:
+ mpGame->background()->startOffsetY(mpGame->background()->startOffsetY() + speed);
+ break;
+ case VKEY_UP:
+ mpGame->background()->startOffsetY(mpGame->background()->startOffsetY() - speed);
+ break;
+ case VKEY_LEFT:
+ mpGame->background()->startOffsetX(mpGame->background()->startOffsetX() - speed);
+ break;
+ case VKEY_RIGHT:
+ mpGame->background()->startOffsetX(mpGame->background()->startOffsetX() + speed);
+ break;
+ case '1':
+// if((int)selectedObj() > 0)
+// selectedObj(selectedObj() - 1);
+ break;
+ case '2':
+// max = (mEditType == SET_ENEMY)?(sf::application::enemy::MAX_TYPE):(sf::application::enemy::MAX_ARMYS_TYPE);
+// if((int)selectedObj() < max)
+// selectedObj(selectedObj() + 1);
+ break;
+ case '3':
+ mpInput->removeKeyboardListener(mpEditCommand);
+ mpInput->removeMouseListener(mpEditCommand);
+ delete mpEditCommand;
+
+ if((int)mEditType == (disposition::command::MAX - 1)){
+ mEditType = disposition::command::SET_SCROLLSPEED;
+ } else {
+ mEditType = (disposition::command::TYPE)((int)mEditType + 1);
+ }
+ mpEditCommand = sf::application::disposition::Controller::create(mEditType);
+
+ mpEditCommand->load();
+ mpEditCommand->game(mpGame);
+
+ mpInput->addKeyboardListener(mpEditCommand);
+ mpInput->addMouseListener(mpEditCommand);
+
+ break;
+ }
+
+}// keyDown()
+
+// \89E\83N\83\8a\83b\83N \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void DispositionEditorImpl::rightButtonDown(const int screenX,const int screenY,const DWORD mkey)
+{
+ using namespace sf::application::disposition;
+ mpGame->controllerPtr()->deleteCommand((float)screenX,(float)screenY,mpGame->scrollY(),mEditType);
+}// rightButtonDown
+
+// \8d¶\83N\83\8a\83b\83N\82ª\89\9f\82³\82ê\82½ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void DispositionEditorImpl::leftButtonDown(const int screenX,const int screenY,const DWORD mkey)
+{
+ using namespace sf::application::disposition;
+
+ // \83R\83}\83\93\83h\82ð\91}\93ü\82·\82é\81B //
+
+ mpInput->removeKeyboardListener(mpEditCommand);
+ mpInput->removeMouseListener(mpEditCommand);
+
+ mpGame->controllerPtr()->insertCommand(mpGame->scrollY(),mpEditCommand);
+
+ command::Interface *mpi = sf::application::disposition::Controller::create(mEditType);
+ mpi->copy(*mpEditCommand);
+ mpEditCommand = mpi;
+// mpEditCommand->load();
+// mpEditCommand->game(mpGame);
+
+ mpInput->addKeyboardListener(mpEditCommand);
+ mpInput->addMouseListener(mpEditCommand);
+
+}// leftButtonDown();
+
+// \93G\82Ì\83e\83N\83X\83`\83\83\82ð\83\8d\81[\83h\82·\82é \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void DispositionEditorImpl::load(void){
+}// load()
+
+// \93G\82Ì\83e\83N\83X\83`\83\83\82Ì\83A\83\93\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void DispositionEditorImpl::unload(void){
+}// unload()
+
+// \83}\83b\83v\8fî\95ñ\82Ì\95\\8e¦ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void DispositionEditorImpl::draw(){
+ if(!visibility())
+ return;
+
+ using namespace sf::application::disposition;
+
+ Controller::CommandList::iterator it = mpGame->controllerPtr()->commandList().begin();
+ while(it != mpGame->controllerPtr()->commandList().end())
+ {
+ it->second->load();
+ it->second->draw(this,it->first,false);
+ it++;
+ }
+
+ // \83J\81[\83\\83\8b\88Ê\92u
+
+ mpEditCommand->draw(this,0.0f,true);
+
+}// draw()
+
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// DispositionEditorImpl.h: DispositionEditorImpl \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \94z\92u\83G\83f\83B\83^\83N\83\89\83X
+// \97\9a\97ð\81F
+// $Log: DispositionEditorImpl.h,v $
+// Revision 1.1.1.1 2001/11/06 21:29:04 fujiwara
+// no message
+//
+// Revision 1.1 2001/10/28 21:40:35 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.6 2001/07/09 20:30:08 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.5 2001/07/01 01:03:43 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.4 2001/05/17 12:34:10 fujiwara
+// \92n\8fã\93G\83T\83\93\83v\83\8b\8dì\90¬
+//
+// Revision 1.3 2001/05/12 00:50:48 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_EDITOR_H__78B4933E_229E_4ACD_9183_C1E688557FE7__INCLUDED_)
+#define AFX_EDITOR_H__78B4933E_229E_4ACD_9183_C1E688557FE7__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "AbstractScene.h"
+namespace sf {
+ namespace application {
+ namespace scene {
+
+class DispositionEditorImpl : public sf::system::input::mouse::Listener ,
+ public sf::system::input::keyboard::Listener ,public AbstractScene
+ , public sf::system::console::ObjRectangle
+{
+
+public:
+
+ // LIFECYCLE //
+
+ DispositionEditorImpl(DispositionEditorParameter *pDispositionEditorParam);
+ virtual ~DispositionEditorImpl();
+
+ // OPERATIONS //
+
+ void move(void);
+
+ const TYPE type() const{return DISPOSITION_EDITOR;};
+
+ void endOfScene(Scene * const pScene);
+ void exitKeyPressed(Scene * const pScene);
+
+ // \83}\83E\83X\83\8a\83X\83i\81[
+ void leftButtonDown(const int screenX,const int screenY,const DWORD mkey);
+ void leftButtonUp(const int screenX,const int screenY,const DWORD mkey){;};
+ void leftButtonDoubleClick(const int screenX,const int screenY,const DWORD mkey){;};
+ void rightButtonDown(const int screenX,const int screenY,const DWORD mkey);
+ void rightButtonUp(const int screenX,const int screenY,const DWORD mkey){;};
+ void rightButtonDoubleClick(const int screenX,const int screenY,const DWORD mkey){;};
+ void mouseMove(const int screenX,const int screenY,const DWORD mkey)
+ {
+ mMouseX = screenX; mMouseY = screenY;
+ };
+
+ void mouseWheel(const int screenX,const int screenY,const DWORD mkey);
+
+ const bool isListeningMouse(void) const {return mbCallBack;};
+ void mouseTalkerIsDeleted(void){ mpInput = NULL;};
+
+ const float mouseX(void) const { return mMouseX;};
+ const float mouseY(void) const { return mMouseY;};
+
+ void keyDown(const DWORD keyCode,const DWORD extKeyCode);
+ void keyUp(const DWORD keyCode,const DWORD extKeyCode){};
+ const bool isListeningKeyboard(void) const {return mbListening;};
+ void keyboardTalkerIsDeleted(void){ mpInput = NULL;};
+
+ void changeCommand(const int commandID);
+
+ //
+ void load(void);
+ void unload(void);
+ void draw(void);
+
+ static const DWORD CURRENT_SPECULAR;
+ static const DWORD NORMAL_SPECULAR;
+private:
+ enum EDIT_MODE {
+ ENEMY,
+ ARMY
+ } mEditMode;
+ void initialize(void);
+
+
+ float mMouseX,mMouseY;
+
+ bool mbCallBack;
+ bool mbListening;
+
+ sf::application::disposition::command::TYPE mEditType;
+ sf::application::scene::Game::DIFFICULTY mDifficulty;
+
+ enum STATE {
+ INITIALIZE,
+ MAIN,
+ END
+ } mState;
+
+ sf::application::disposition::command::Interface *mpEditCommand;
+
+ Game *mpGame;
+ int mMax;
+
+};// DispositionEditorImpl
+ }
+ }
+}
+
+#endif // !defined(AFX_EDITOR_H__78B4933E_229E_4ACD_9183_C1E688557FE7__INCLUDED_)
--- /dev/null
+// PathEditor.cpp: PathEditor \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+//
+//////////////////////////////////////////////////////////////////////
+
+#include "stdafx.h"
+#include "PathEditor.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+
+PathEditor::PathEditor()
+{
+
+}
+
+PathEditor::~PathEditor()
+{
+
+}
--- /dev/null
+// PathEditor.h: PathEditor \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+//
+//////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_PATHEDITOR_H__669D7859_B992_493E_8E18_57094ACC2CD0__INCLUDED_)
+#define AFX_PATHEDITOR_H__669D7859_B992_493E_8E18_57094ACC2CD0__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+namespace sf {
+ namespace application {
+ namespace scene {
+
+class PathEditor : public sf::system::input::mouse::Listener ,
+ public sf::system::input::keyboard::Listener ,public AbstractScene
+ , public sf::system::console::ObjRectangle
+{
+public:
+ PathEditor();
+ virtual ~PathEditor();
+};
+ }// scene
+ }// application
+}// sf
+#endif // !defined(AFX_PATHEDITOR_H__669D7859_B992_493E_8E18_57094ACC2CD0__INCLUDED_)
--- /dev/null
+========================================================================
+ \83_\83C\83i\83~\83b\83N \83\8a\83\93\83N \83\89\83C\83u\83\89\83\8a : s2001Editor
+========================================================================
+
+
+AppWizard \82Í\82±\82Ì s2001Editor DLL \82ð\8dì\90¬\82µ\82Ü\82µ\82½\81B
+
+\82±\82Ì\83t\83@\83C\83\8b\82É\82Í s2001Editor \83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ð\8d\\90¬\82µ\82Ä\82¢\82é\8ae\83t\83@\83C\83\8b\82Ì\8aT\97v
+\90à\96¾\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82Ü\82·\81B
+
+s2001Editor.dsp
+ \82±\82Ì\83t\83@\83C\83\8b (\83v\83\8d\83W\83F\83N\83g \83t\83@\83C\83\8b) \82Í\83v\83\8d\83W\83F\83N\83g \83\8c\83x\83\8b\82Ì\8fî\95ñ\82ð\8aÜ\82Ý\81A
+ \83V\83\93\83O\83\8b \83v\83\8d\83W\83F\83N\83g\82Ü\82½\82Í\83T\83u \83v\83\8d\83W\83F\83N\83g\82Ì\83r\83\8b\83h\82É\8eg\97p\82³\82ê\82Ü\82·\81B\91¼\82Ì
+ \83\86\81[\83U\81[\82Æ\83v\83\8d\83W\83F\83N\83g \83t\83@\83C\83\8b (.dsp) \82ð\8b¤\97L\82Å\82«\82Ü\82·\82ª\81A\83\81\83C\83N \83t\83@\83C\83\8b
+ \82Í\83\8d\81[\83J\83\8b\82É\83G\83N\83X\83|\81[\83g\82µ\82Ä\82\82¾\82³\82¢\81B
+s2001Editor.cpp
+ \82±\82Ì\83t\83@\83C\83\8b\82Í DLL \82Ì\92\86\90S\82Æ\82È\82é\83\\81[\83X \83t\83@\83C\83\8b\82Å\82·\81B
+
+ \8dì\90¬\82³\82ê\82½\8fó\91Ô\82Å\82Í\81A\82±\82Ì DLL \82Í\83V\83\93\83{\83\8b\82Ì\83G\83N\83X\83|\81[\83g\82ð\8ds\82Á\82Ä\82¢\82Ü\82¹\82ñ\81B
+ \82»\82Ì\82½\82ß\83r\83\8b\83h\82ð\8ds\82Á\82Ä\82à .LIB \83t\83@\83C\83\8b\82Í\8dì\90¬\82³\82ê\82Ü\82¹\82ñ\81B\82±\82Ì\83v\83\8d\83W\83F\83N\83g\82ð
+ \91¼\82Ì\83v\83\8d\83W\83F\83N\83g\82É\88Ë\91¶\8aÖ\8cW\82ð\8e\9d\82½\82¹\82½\82¢\8fê\8d\87\82É\82Í\81A\82±\82Ì DLL \82©\82ç\83V\83\93\83{\83\8b\82ð
+ \83G\83N\83X\83|\81[\83g\82·\82é\82½\82ß\82Ì\83R\81[\83h\82ð\92Ç\89Á\82µ\82Ä\83\89\83C\83u\83\89\83\8a\82Ì\83G\83N\83X\83|\81[\83g\82ð\8ds\82¢\81A
+ \83v\83\8d\83W\83F\83N\83g\90Ý\92è\82Ì [\83\8a\83\93\83N] \83^\83u\8fã\82Å [LIB \83t\83@\83C\83\8b\82ð\90¶\90¬\82µ\82È\82¢] \83I\83v\83V\83\87\83\93
+ \82ð\83N\83\8a\83A\82·\82é\95K\97v\82ª\82 \82è\82Ü\82·\81B
+
+/////////////////////////////////////////////////////////////////////////////
+\82»\82Ì\91¼\82Ì\95W\8f\80\83t\83@\83C\83\8b:
+
+StdAfx.h, StdAfx.cpp
+ \82±\82ê\82ç\82Ì\83t\83@\83C\83\8b\82Í\83v\83\8a\83R\83\93\83p\83C\83\8b\8dÏ\82Ý\83w\83b\83_\81[\83t\83@\83C\83\8b (PCH) s2001Editor.pch
+ \82â\83v\83\8a\83R\83\93\83p\83C\83\8b\8dÏ\82Ý\8c^\83t\83@\83C\83\8b StdAfx.obj \82ð\8d\\92z\82·\82é\82½\82ß\82É\8eg\97p\82³\82ê\82Ü\82·\81B
+
+
+/////////////////////////////////////////////////////////////////////////////
+\82»\82Ì\91¼\82Ì\92\8d\88Ó:
+
+AppWizard \82Í "TODO:" \82Å\8en\82Ü\82é\83R\83\81\83\93\83g\82Å\81A\83\\81[\83X\83R\81[\83h\82Ì\92Ç\89Á\82â\83J\83X\83^\83}\83C\83Y\82Ì\95K\97v
+\82È\8fê\8f\8a\82ð\8e¦\82µ\82Ü\82·\81B
+
+
+/////////////////////////////////////////////////////////////////////////////
--- /dev/null
+// stdafx.cpp : \95W\8f\80\83C\83\93\83N\83\8b\81[\83h\83t\83@\83C\83\8b\82ð\8aÜ\82Þ\83\\81[\83X \83t\83@\83C\83\8b
+// s2001Editor.pch \90¶\90¬\82³\82ê\82é\83v\83\8a\83R\83\93\83p\83C\83\8b\8dÏ\83w\83b\83_\81[
+// stdafx.obj \90¶\90¬\82³\82ê\82é\83v\83\8a\83R\83\93\83p\83C\83\8b\8dÏ\83^\83C\83v\8fî\95ñ
+
+#include "stdafx.h"
+
+// TODO: STDAFX.H \82É\8aÜ\82Ü\82ê\82Ä\82¢\82Ä\81A\82±\82Ì\83t\83@\83C\83\8b\82É\8bL\8fq\82³\82ê\82Ä\82¢\82È\82¢
+// \83w\83b\83_\81[\83t\83@\83C\83\8b\82ð\92Ç\89Á\82µ\82Ä\82\82¾\82³\82¢\81B
--- /dev/null
+// stdafx.h : \95W\8f\80\82Ì\83V\83X\83e\83\80 \83C\83\93\83N\83\8b\81[\83h \83t\83@\83C\83\8b\81A
+// \82Ü\82½\82Í\8eQ\8fÆ\89ñ\90\94\82ª\91½\82\81A\82©\82Â\82 \82Ü\82è\95Ï\8dX\82³\82ê\82È\82¢
+// \83v\83\8d\83W\83F\83N\83g\90ê\97p\82Ì\83C\83\93\83N\83\8b\81[\83h \83t\83@\83C\83\8b\82ð\8bL\8fq\82µ\82Ü\82·\81B
+//
+
+#if !defined(AFX_STDAFX_H__818FF7D8_62DD_42B8_99F5_BB5E59CF7359__INCLUDED_)
+#define AFX_STDAFX_H__818FF7D8_62DD_42B8_99F5_BB5E59CF7359__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+
+// \82±\82Ì\88Ê\92u\82É\83w\83b\83_\81[\82ð\91}\93ü\82µ\82Ä\82\82¾\82³\82¢
+#define WIN32_LEAN_AND_MEAN // Windows \83w\83b\83_\81[\82©\82ç\96w\82Ç\8eg\97p\82³\82ê\82È\82¢\83X\83^\83b\83t\82ð\8f\9c\8aO\82µ\82Ü\82·
+
+#include <windows.h>
+
+// TODO: \83v\83\8d\83O\83\89\83\80\82Å\95K\97v\82È\83w\83b\83_\81[\8eQ\8fÆ\82ð\92Ç\89Á\82µ\82Ä\82\82¾\82³\82¢\81B
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft Visual C++ \82Í\91O\8ds\82Ì\92¼\91O\82É\92Ç\89Á\82Ì\90é\8c¾\82ð\91}\93ü\82µ\82Ü\82·\81B
+
+#endif // !defined(AFX_STDAFX_H__818FF7D8_62DD_42B8_99F5_BB5E59CF7359__INCLUDED_)
--- /dev/null
+// s2001Editor.cpp : DLL \83A\83v\83\8a\83P\81[\83V\83\87\83\93\97p\82Ì\83G\83\93\83g\83\8a \83|\83C\83\93\83g\82ð\92è\8b`\82µ\82Ü\82·\81B
+//
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+#include "stdafx.h"
+#include <string>
+#include <map>
+//#include "s2001objs.h"
+
+typedef sf::application::scene::Scene* (*SceneCreateFunc)(int);
+
+std::map<std::string,int> SceneNameMap;
+std::map<int,SceneCreateFunc> SceneMap;
+
+BOOL APIENTRY DllMain( HANDLE hModule,
+ DWORD ul_reason_for_call,
+ LPVOID lpReserved
+ )
+{
+ //
+ //SceneNameMap["DispositionEditor"] = ID_DisposiotionEditor;
+ //Scene
+ return TRUE;
+}
+
+extern "C" sf::application::scene::Scene * APIENTRY createSceneFromID(int SceneID)
+{
+
+}
+
+extern "C" sf::application::scene::Scene * APIENTRY createSceneFromName(std::string name)
+{
+
+}
+
+extern "C" sf::application::scene::Scene * APIENTRY idOfSceneName(int SceneID)
+{
+
+}
--- /dev/null
+# Microsoft Developer Studio Project File - Name="s2001Editor" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** \95Ò\8fW\82µ\82È\82¢\82Å\82\82¾\82³\82¢ **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=s2001Editor - Win32 Debug
+!MESSAGE \82±\82ê\82Í\97L\8cø\82ÈÒ²¸Ì§²Ù\82Å\82Í\82 \82è\82Ü\82¹\82ñ\81B \82±\82ÌÌßÛ¼Þª¸Ä\82ðËÞÙÄÞ\82·\82é\82½\82ß\82É\82Í NMAKE \82ð\8eg\97p\82µ\82Ä\82\82¾\82³\82¢\81B
+!MESSAGE [Ò²¸Ì§²Ù\82Ì´¸½Îß°Ä] ºÏÝÄÞ\82ð\8eg\97p\82µ\82Ä\8eÀ\8ds\82µ\82Ä\82\82¾\82³\82¢
+!MESSAGE
+!MESSAGE NMAKE /f "s2001Editor.mak".
+!MESSAGE
+!MESSAGE NMAKE \82Ì\8eÀ\8ds\8e\9e\82É\8d\\90¬\82ð\8ew\92è\82Å\82«\82Ü\82·
+!MESSAGE ºÏÝÄÞ ×²Ý\8fã\82ÅϸÛ\82Ì\90Ý\92è\82ð\92è\8b`\82µ\82Ü\82·\81B\97á:
+!MESSAGE
+!MESSAGE NMAKE /f "s2001Editor.mak" CFG="s2001Editor - Win32 Debug"
+!MESSAGE
+!MESSAGE \91I\91ð\89Â\94\\82ÈËÞÙÄÞ Ó°ÄÞ:
+!MESSAGE
+!MESSAGE "s2001Editor - Win32 Release" ("Win32 (x86) Dynamic-Link Library" \97p)
+!MESSAGE "s2001Editor - Win32 Debug" ("Win32 (x86) Dynamic-Link Library" \97p)
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "s2001Editor - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "S2001EDITOR_EXPORTS" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\sfglib" /I "..\s2001" /I ".." /I "..\s2001scene" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "S2001EDITOR_EXPORTS" /Yu"stdafx.h" /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x411 /d "NDEBUG"
+# ADD RSC /l 0x411 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 ..\sfglib.lib ..\s2001.lib dinput8.lib Dxerr8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib winmm.lib kernel32.lib user32.lib gdi32.lib ole32.lib advapi32.lib /nologo /dll /machine:I386
+
+!ELSEIF "$(CFG)" == "s2001Editor - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "S2001EDITOR_EXPORTS" /Yu"stdafx.h" /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\sfglib" /I "..\s2001" /I ".." /I "..\s2001scene" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "S2001EDITOR_EXPORTS" /YX /FD /GZ /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x411 /d "_DEBUG"
+# ADD RSC /l 0x411 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 ..\sfglib.lib ..\s2001.lib dinput8.lib Dxerr8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib winmm.lib kernel32.lib user32.lib gdi32.lib ole32.lib advapi32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "s2001Editor - Win32 Release"
+# Name "s2001Editor - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\BGEditorImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\DispositionEditorImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\PathEditorImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\s2001Editor.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\StdAfx.cpp
+# ADD CPP /Yc"stdafx.h"
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\BGEditor.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\BGEditorImpl.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\DispositionEditor.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\DispositionEditorImpl.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\PathEditorImpl.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\StdAfx.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=.\ReadMe.txt
+# End Source File
+# End Target
+# End Project
--- /dev/null
+<html>
+<body>
+<pre>
+<h1>ËÞÙÄÞ\82ÌÛ¸Þ</h1>
+<h3>
+--------------------\8d\\90¬: s2001Editor - Win32 Debug--------------------
+</h3>
+<h3>ºÏÝÄÞ ×²Ý</h3>
+\88ê\8e\9ȩ²Ù "C:\WINDOWS\TEMP\RSPF270.TMP" \82ð\8dì\90¬\82µ\81A\8e\9f\82Ì\93à\97e\82ð\8bL\98^\82µ\82Ü\82·
+[
+/nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\sfglib" /I "..\s2001" /I ".." /I "..\s2001scene" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "S2001EDITOR_EXPORTS" /Fp"Debug/s2001Editor.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c
+"C:\My Documents\genx\project\s2001Editor\BGEditorImpl.cpp"
+]
+Creating command line "cl.exe @C:\WINDOWS\TEMP\RSPF270.TMP"
+<h3>±³ÄÌß¯Ä ³¨ÝÄÞ³</h3>
+ºÝÊß²Ù\92\86...
+BGEditorImpl.cpp
+c:\my documents\genx\project\s2001scene\game.h(104) : error C2039: 'disposition' : 'application' \82ÌÒÝÊÞ\82Å\82Í\82 \82è\82Ü\82¹\82ñ\81B
+c:\my documents\genx\project\s2001scene\game.h(104) : error C2143: \8d\\95¶´×° : ';' \82ª '*' \82Ì\91O\82É\95K\97v\82Å\82·\81B
+c:\my documents\genx\project\s2001scene\game.h(104) : error C2433: 'Controller' : 'virtual' \82ÍÃÞ°À\90é\8c¾\82ð\82·\82é\82Ì\82É\8eg\97p\82Å\82«\82Ü\82¹\82ñ\81B
+c:\my documents\genx\project\s2001scene\game.h(104) : error C2501: 'Controller' : \8e¯\95Ê\96¼\82ð\90é\8c¾\82·\82é\82Ì\82É\81A\8c^\82ª\8ew\92è\82³\82ê\82Ä\82¢\82Ü\82¹\82ñ\81B
+c:\my documents\genx\project\s2001scene\game.h(104) : error C2501: 'controllerPtr' : \8e¯\95Ê\96¼\82ð\90é\8c¾\82·\82é\82Ì\82É\81A\8c^\82ª\8ew\92è\82³\82ê\82Ä\82¢\82Ü\82¹\82ñ\81B
+c:\my documents\genx\project\s2001scene\game.h(104) : error C2253: 'controllerPtr' : \89¼\91z\82Å\82È\82¢\8aÖ\90\94\82ª\8f\83\90\88\89¼\91z\8aÖ\90\94\82Å\82 \82é\82Æ\8ew\92è\82³\82ê\82Ä\82¢\82Ü\82·\81B
+c:\my documents\genx\project\s2001\dispositioncontrol.h(507) : error C2504: 'Controller' : \92è\8b`\82³\82ê\82Ä\82¢\82È\82¢\8aî\96{¸×½\82ª\90é\8c¾\82³\82ê\82Ä\82¢\82Ü\82·\81B
+c:\my documents\genx\project\s2001\dispositioncontrol.h(557) : error C2143: \8d\\95¶´×° : ';' \82ª '&' \82Ì\91O\82É\95K\97v\82Å\82·\81B
+c:\my documents\genx\project\s2001\dispositioncontrol.h(557) : error C2501: 'CommandList' : \8e¯\95Ê\96¼\82ð\90é\8c¾\82·\82é\82Ì\82É\81A\8c^\82ª\8ew\92è\82³\82ê\82Ä\82¢\82Ü\82¹\82ñ\81B
+c:\my documents\genx\project\s2001\dispositioncontrol.h(557) : error C2501: 'commandList' : \8e¯\95Ê\96¼\82ð\90é\8c¾\82·\82é\82Ì\82É\81A\8c^\82ª\8ew\92è\82³\82ê\82Ä\82¢\82Ü\82¹\82ñ\81B
+c:\my documents\genx\project\s2001\dispositioncontrol.h(557) : warning C4183: 'commandList': ÒÝÊÞ\8aÖ\90\94\92è\8b`\82ͺݽÄ׸À \82Ì\82æ\82¤\82Å\82·\82ª\96¼\91O\82ª\88Í\82Ü\82ê\82½¸×½\82Æ\88ê\92v\82µ\82Ü\82¹\82ñ\81B
+c:\my documents\genx\project\s2001\dispositioncontrol.h(565) : error C2146: \8d\\95¶´×° : ';' \82ª\81A\8e¯\95Ê\8eq 'mData' \82Ì\91O\82É\95K\97v\82Å\82·\81B
+c:\my documents\genx\project\s2001\dispositioncontrol.h(565) : error C2501: 'CommandList' : \8e¯\95Ê\96¼\82ð\90é\8c¾\82·\82é\82Ì\82É\81A\8c^\82ª\8ew\92è\82³\82ê\82Ä\82¢\82Ü\82¹\82ñ\81B
+c:\my documents\genx\project\s2001\dispositioncontrol.h(565) : error C2501: 'mData' : \8e¯\95Ê\96¼\82ð\90é\8c¾\82·\82é\82Ì\82É\81A\8c^\82ª\8ew\92è\82³\82ê\82Ä\82¢\82Ü\82¹\82ñ\81B
+c:\my documents\genx\project\s2001\dispositioncontrol.h(566) : error C2653: 'CommandList' : \8e¯\95Ê\8eq\82ª¸×½\96¼\82Å\82à\96¼\91O\8bó\8aÔ\96¼\82Å\82à\82 \82è\82Ü\82¹\82ñ\81B
+c:\my documents\genx\project\s2001\dispositioncontrol.h(566) : error C2146: \8d\\95¶´×° : ';' \82ª\81A\8e¯\95Ê\8eq 'mDataIter' \82Ì\91O\82É\95K\97v\82Å\82·\81B
+c:\my documents\genx\project\s2001\dispositioncontrol.h(566) : error C2501: 'iterator' : \8e¯\95Ê\96¼\82ð\90é\8c¾\82·\82é\82Ì\82É\81A\8c^\82ª\8ew\92è\82³\82ê\82Ä\82¢\82Ü\82¹\82ñ\81B
+c:\my documents\genx\project\s2001\dispositioncontrol.h(566) : error C2501: 'mDataIter' : \8e¯\95Ê\96¼\82ð\90é\8c¾\82·\82é\82Ì\82É\81A\8c^\82ª\8ew\92è\82³\82ê\82Ä\82¢\82Ü\82¹\82ñ\81B
+c:\my documents\genx\project\s2001\dispositioncontrol.h(572) : error C2146: \8d\\95¶´×° : ';' \82ª\81A\8e¯\95Ê\8eq 'mpCreateFunc' \82Ì\91O\82É\95K\97v\82Å\82·\81B
+c:\my documents\genx\project\s2001\dispositioncontrol.h(572) : error C2501: 'mpCreateFunc' : \8e¯\95Ê\96¼\82ð\90é\8c¾\82·\82é\82Ì\82É\81A\8c^\82ª\8ew\92è\82³\82ê\82Ä\82¢\82Ü\82¹\82ñ\81B
+c:\my documents\genx\project\s2001editor\bgeditorimpl.h(47) : error C2629: 'class sf::application::scene::BGEditorImpl (' \82Í\95s\90³\82Å\82·\81B
+c:\my documents\genx\project\s2001editor\bgeditorimpl.h(47) : error C2238: ';' \82Ì\91O\82É\95s\90³\82ÈÄ°¸Ý\82ª\82 \82è\82Ü\82·\81B
+c:\my documents\genx\project\s2001editor\bgeditorimpl.cpp(93) : error C2084: \8aÖ\90\94 '__thiscall sf::application::scene::BGEditorImpl::sf::application::scene::BGEditorImpl(void)' \82Í\82·\82Å\82É\8eÀ\91Ì\82ð\8e\9d\82Á\82Ä\82¢\82Ü\82·\81B
+c:\my documents\genx\project\s2001editor\bgeditorimpl.cpp(162) : warning C4541: 'dynamic_cast' \82ª /GR- \82ð\8eg\97p\82µ\82½ÎßØӰ̨¯¸\8c^ 'class sf::application::scene::Scene' \82Å\8eg\97p\82³\82ê\82Ä\82¢\82Ü\82·; \93®\8dì\8c\8b\89Ê\82Í\95Û\8fØ\82³\82ê\82Ü\82¹\82ñ\81B
+c:\my documents\genx\project\s2001editor\bgeditorimpl.cpp(221) : error C2653: 'Container' : \8e¯\95Ê\8eq\82ª¸×½\96¼\82Å\82à\96¼\91O\8bó\8aÔ\96¼\82Å\82à\82 \82è\82Ü\82¹\82ñ\81B
+c:\my documents\genx\project\s2001editor\bgeditorimpl.cpp(221) : error C2039: 'add' : 'System' \82ÌÒÝÊÞ\82Å\82Í\82 \82è\82Ü\82¹\82ñ\81B
+ c:\my documents\genx\project\sfglib\system.h(72) : 'System' \82Ì\90é\8c¾\82ð\8am\94F\82µ\82Ä\82\82¾\82³\82¢\81B
+cl.exe \82Ì\8eÀ\8ds´×°
+
+
+
+<h3>\8c\8b\89Ê</h3>
+BGEditorImpl.obj - ´×° 24\81A\8cx\8d\90 2
+</pre>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="shift_jis"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="s2001Editor"
+ ProjectGUID="{B1B40E29-61C2-40DF-BE5B-94988F2571CE}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\Debug"
+ IntermediateDirectory=".\Debug"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="_DEBUG"
+ MkTypLibCompatible="true"
+ SuppressStartupBanner="true"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Debug/s2001Editor.tlb"
+ HeaderFileName=""
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\sfglib,..\s2001,..,..\s2001scene"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;S2001EDITOR_EXPORTS"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile=".\Debug/s2001Editor.pch"
+ AssemblerListingLocation=".\Debug/"
+ ObjectFile=".\Debug/"
+ ProgramDataBaseFileName=".\Debug/"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="4"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1041"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="..\sfglib.lib ..\s2001.lib dinput8.lib Dxerr8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib winmm.lib"
+ OutputFile=".\Debug/s2001Editor.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\Debug/s2001Editor.pdb"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ ImportLibrary=".\Debug/s2001Editor.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\Release"
+ IntermediateDirectory=".\Release"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="NDEBUG"
+ MkTypLibCompatible="true"
+ SuppressStartupBanner="true"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Release/s2001Editor.tlb"
+ HeaderFileName=""
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\sfglib,..\s2001,..,..\s2001scene"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;S2001EDITOR_EXPORTS"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderThrough="stdafx.h"
+ PrecompiledHeaderFile=".\Release/s2001Editor.pch"
+ AssemblerListingLocation=".\Release/"
+ ObjectFile=".\Release/"
+ ProgramDataBaseFileName=".\Release/"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1041"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="..\sfglib.lib ..\s2001.lib dinput8.lib Dxerr8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib winmm.lib"
+ OutputFile=".\Release/s2001Editor.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ ProgramDatabaseFile=".\Release/s2001Editor.pdb"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ ImportLibrary=".\Release/s2001Editor.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="BGEditorImpl.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="DispositionEditorImpl.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="PathEditorImpl.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="s2001Editor.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="StdAfx.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ UsePrecompiledHeader="1"
+ PrecompiledHeaderThrough="stdafx.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS;$(NoInherit)"
+ UsePrecompiledHeader="1"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="BGEditor.h"
+ >
+ </File>
+ <File
+ RelativePath="BGEditorImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="DispositionEditor.h"
+ >
+ </File>
+ <File
+ RelativePath="DispositionEditorImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="PathEditorImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="StdAfx.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+ >
+ </Filter>
+ <File
+ RelativePath="ReadMe.txt"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
--- /dev/null
+<?xml version="1.0" encoding="shift_jis"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="s2001Editor"
+ SccProjectName=""
+ SccLocalPath="">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\Debug"
+ IntermediateDirectory=".\Debug"
+ ConfigurationType="2"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\sfglib,..\s2001,..,..\s2001scene"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;S2001EDITOR_EXPORTS"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile=".\Debug/s2001Editor.pch"
+ AssemblerListingLocation=".\Debug/"
+ ObjectFile=".\Debug/"
+ ProgramDataBaseFileName=".\Debug/"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ DebugInformationFormat="4"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="..\sfglib.lib ..\s2001.lib dinput8.lib Dxerr8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib winmm.lib"
+ OutputFile=".\Debug/s2001Editor.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="TRUE"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile=".\Debug/s2001Editor.pdb"
+ ImportLibrary=".\Debug/s2001Editor.lib"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="_DEBUG"
+ MkTypLibCompatible="TRUE"
+ SuppressStartupBanner="TRUE"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Debug/s2001Editor.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1041"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\Release"
+ IntermediateDirectory=".\Release"
+ ConfigurationType="2"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\sfglib,..\s2001,..,..\s2001scene"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;S2001EDITOR_EXPORTS"
+ StringPooling="TRUE"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="TRUE"
+ UsePrecompiledHeader="3"
+ PrecompiledHeaderThrough="stdafx.h"
+ PrecompiledHeaderFile=".\Release/s2001Editor.pch"
+ AssemblerListingLocation=".\Release/"
+ ObjectFile=".\Release/"
+ ProgramDataBaseFileName=".\Release/"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="..\sfglib.lib ..\s2001.lib dinput8.lib Dxerr8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib winmm.lib"
+ OutputFile=".\Release/s2001Editor.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="TRUE"
+ ProgramDatabaseFile=".\Release/s2001Editor.pdb"
+ ImportLibrary=".\Release/s2001Editor.lib"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="NDEBUG"
+ MkTypLibCompatible="TRUE"
+ SuppressStartupBanner="TRUE"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Release/s2001Editor.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1041"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
+ <File
+ RelativePath="BGEditorImpl.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="DispositionEditorImpl.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="PathEditorImpl.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="s2001Editor.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="StdAfx.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ UsePrecompiledHeader="1"
+ PrecompiledHeaderThrough="stdafx.h"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS;$(NoInherit)"
+ UsePrecompiledHeader="1"/>
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl">
+ <File
+ RelativePath="BGEditor.h">
+ </File>
+ <File
+ RelativePath="BGEditorImpl.h">
+ </File>
+ <File
+ RelativePath="DispositionEditor.h">
+ </File>
+ <File
+ RelativePath="DispositionEditorImpl.h">
+ </File>
+ <File
+ RelativePath="PathEditorImpl.h">
+ </File>
+ <File
+ RelativePath="StdAfx.h">
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
+ </Filter>
+ <File
+ RelativePath="ReadMe.txt">
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
--- /dev/null
+<?xml version="1.0" encoding="shift_jis"?>
+<VisualStudioUserFile
+ ProjectType="Visual C++"
+ Version="9.00"
+ ShowAllFiles="false"
+ >
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ >
+ <DebugSettings
+ Command=""
+ WorkingDirectory=""
+ CommandArguments=""
+ Attach="false"
+ DebuggerType="3"
+ Remote="1"
+ RemoteMachine="SATOSHI-PC"
+ RemoteCommand=""
+ HttpUrl=""
+ PDBPath=""
+ SQLDebugging=""
+ Environment=""
+ EnvironmentMerge="true"
+ DebuggerFlavor=""
+ MPIRunCommand=""
+ MPIRunArguments=""
+ MPIRunWorkingDirectory=""
+ ApplicationCommand=""
+ ApplicationArguments=""
+ ShimCommand=""
+ MPIAcceptMode=""
+ MPIAcceptFilter=""
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ >
+ <DebugSettings
+ Command=""
+ WorkingDirectory=""
+ CommandArguments=""
+ Attach="false"
+ DebuggerType="3"
+ Remote="1"
+ RemoteMachine="SATOSHI-PC"
+ RemoteCommand=""
+ HttpUrl=""
+ PDBPath=""
+ SQLDebugging=""
+ Environment=""
+ EnvironmentMerge="true"
+ DebuggerFlavor=""
+ MPIRunCommand=""
+ MPIRunArguments=""
+ MPIRunWorkingDirectory=""
+ ApplicationCommand=""
+ ApplicationArguments=""
+ ShimCommand=""
+ MPIAcceptMode=""
+ MPIAcceptFilter=""
+ />
+ </Configuration>
+ </Configurations>
+</VisualStudioUserFile>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{B1B40E29-61C2-40DF-BE5B-94988F2571CE}</ProjectGuid>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Midl>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MkTypLibCompatible>true</MkTypLibCompatible>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TargetEnvironment>Win32</TargetEnvironment>
+ <TypeLibraryName>.\Debug/s2001Editor.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>..\sfglib;..\s2001;..;..\s2001scene;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;S2001EDITOR_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>.\Debug/s2001Editor.pch</PrecompiledHeaderOutputFile>
+ <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
+ <ObjectFileName>.\Debug/</ObjectFileName>
+ <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
+ <WarningLevel>Level3</WarningLevel>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ <CompileAs>Default</CompileAs>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0411</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalDependencies>..\sfglib.lib;..\s2001.lib;dinput8.lib;Dxerr8.lib;d3dx8.lib;d3d8.lib;dxguid.lib;d3dxof.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>.\Debug/s2001Editor.dll</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>.\Debug/s2001Editor.pdb</ProgramDatabaseFile>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <ImportLibrary>.\Debug/s2001Editor.lib</ImportLibrary>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Midl>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MkTypLibCompatible>true</MkTypLibCompatible>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TargetEnvironment>Win32</TargetEnvironment>
+ <TypeLibraryName>.\Release/s2001Editor.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+ <AdditionalIncludeDirectories>..\sfglib;..\s2001;..;..\s2001scene;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;S2001EDITOR_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
+ <PrecompiledHeaderOutputFile>.\Release/s2001Editor.pch</PrecompiledHeaderOutputFile>
+ <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
+ <ObjectFileName>.\Release/</ObjectFileName>
+ <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
+ <WarningLevel>Level3</WarningLevel>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <CompileAs>Default</CompileAs>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0411</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalDependencies>..\sfglib.lib;..\s2001.lib;dinput8.lib;Dxerr8.lib;d3dx8.lib;d3d8.lib;dxguid.lib;d3dxof.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>.\Release/s2001Editor.dll</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <ProgramDatabaseFile>.\Release/s2001Editor.pdb</ProgramDatabaseFile>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <ImportLibrary>.\Release/s2001Editor.lib</ImportLibrary>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="BGEditorImpl.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="DispositionEditorImpl.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="PathEditorImpl.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="s2001Editor.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="StdAfx.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">stdafx.h</PrecompiledHeaderFile>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001EDITOR_EXPORTS</PreprocessorDefinitions>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="BGEditor.h" />
+ <ClInclude Include="BGEditorImpl.h" />
+ <ClInclude Include="DispositionEditor.h" />
+ <ClInclude Include="DispositionEditorImpl.h" />
+ <ClInclude Include="PathEditorImpl.h" />
+ <ClInclude Include="StdAfx.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="ReadMe.txt" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{b58dd40d-c6eb-4d58-beec-a53442229e6f}</UniqueIdentifier>
+ <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{fc32e61e-f656-4d62-9fd1-2175d4517020}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{831bb20e-2218-43cb-bc4d-d0108a6614be}</UniqueIdentifier>
+ <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="BGEditorImpl.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="DispositionEditorImpl.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="PathEditorImpl.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="s2001Editor.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="StdAfx.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="BGEditor.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="BGEditorImpl.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="DispositionEditor.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="DispositionEditorImpl.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="PathEditorImpl.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="StdAfx.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="ReadMe.txt" />
+ </ItemGroup>
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
--- /dev/null
+# Doxyfile 1.2.13
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+# TAG = value [value, ...]
+# For lists items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# General configuration options
+#---------------------------------------------------------------------------
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME = s2001
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER =
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY = c:/inetpub/wwwroot/s2001/s2001editor
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Brazilian, Chinese, Croatian, Czech, Danish, Dutch, Finnish, French,
+# German, Greek, Hungarian, Italian, Japanese, Korean, Norwegian, Polish,
+# Portuguese, Romanian, Russian, Slovak, Slovene, Spanish and Swedish.
+
+OUTPUT_LANGUAGE = Japanese
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE = YES
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC = YES
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES = YES
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these class will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF = YES
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC = YES
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
+# members of a class in the documentation of that class as if those members were
+# ordinary class members. Constructors, destructors and assignment operators of
+# the base classes will not be shown.
+
+INLINE_INHERITED_MEMB = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. It is allowed to use relative paths in the argument list.
+
+STRIP_FROM_PATH = "c:\my documents\genx\project"
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower case letters. If set to YES upper case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# users are adviced to set this option to NO.
+
+CASE_SENSE_NAMES = YES
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful is your file systems
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES = NO
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS = YES
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES = YES
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like the Qt-style comments (thus requiring an
+# explict @brief command for a brief description.
+
+JAVADOC_AUTOBRIEF = YES
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# reimplements.
+
+INHERIT_DOCS = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE = 4
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST = YES
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES =
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consist of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+# only. Doxygen will then generate output that is more tailored for C.
+# For instance some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C = NO
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text.
+
+WARN_FORMAT =
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+#INPUT = "j:\project\sfglib" j:/project/s2001scene j:/project/s2001editor j:/project/s2001game j:/project/s2001
+#INPUT = ./sfglib ./s2001scene ./s2001editor ./s2001game ./s2001
+INPUT = .
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp
+# *.h++ *.idl
+
+#FILE_PATTERNS = SYSTEM* INPUT* CONSOLE* SOUND*
+FILE_PATTERNS = *.cpp *.h
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE = NO
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE =
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories.
+
+EXCLUDE_PATTERNS =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS =
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output.
+
+INPUT_FILTER = "nkf32 -Se "
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse.
+
+FILTER_SOURCE_FILES = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+
+SOURCE_BROWSER = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES = NO
+
+# If the REFERENCED_BY_RELATION tag is set to YES (the default)
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES (the default)
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX = NO
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT =
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header.
+
+HTML_HEADER =
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER =
+
+# The HTML_STYLESHEET tag can be used to specify a user defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet
+
+HTML_STYLESHEET =
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the Html help documentation and to the tree view.
+
+TOC_EXPAND = NO
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX = NO
+
+# This tag can be used to set the number of enum values (range [1..20])
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE = 4
+
+# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
+# generated containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript and frames is required (for instance Mozilla, Netscape 4.0+,
+# or Internet explorer 4.0+). Note that for large projects the tree generation
+# can take a very long time. In such cases it is better to disable this feature.
+# Windows users are probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW = YES
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH = 250
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT =
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS = NO
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimised for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT =
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assigments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT =
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION =
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_XML = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_PREDEFINED tags.
+
+EXPAND_ONLY_PREDEF = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH = ./ ./sfglib ./s2001scene ./s2001editor ./s2001game ./s2001
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed.
+
+PREDEFINED =
+
+# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all function-like macros that are alone
+# on a line and do not end with a semicolon. Such function macros are typically
+# used for boiler-plate code, and will confuse the parser if not removed.
+
+SKIP_FUNCTION_MACROS = YES
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES tag can be used to specify one or more tagfiles.
+
+TAGFILES = c:/inetpub/wwwroot/s2001/sfglib/sfglib.tag=c:/inetpub/wwwroot/s2001/sfglib/html \
+ c:/inetpub/wwwroot/s2001/s2001scene.tag=c:/inetpub/wwwroot/s2001/s2001scene/html
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE =
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS = NO
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in Html, RTF and LaTeX) for classes with base or
+# super classes. Setting the tag to NO turns the diagrams off. Note that this
+# option is superceded by the HAVE_DOT option below. This is only a fallback. It is
+# recommended to install and use dot, since it yield more powerful graphs.
+
+CLASS_DIAGRAMS = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT = YES
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH = YES
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS = YES
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH = YES
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY = YES
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+
+DOT_PATH = "C:\Program Files\ATT\Graphviz\bin"
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS =
+
+# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than
+# this value, doxygen will try to truncate the graph, so that it fits within
+# the specified constraint. Beware that most browsers cannot cope with very
+# large images.
+
+MAX_DOT_GRAPH_WIDTH = 1024
+
+# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than
+# this value, doxygen will try to truncate the graph, so that it fits within
+# the specified constraint. Beware that most browsers cannot cope with very
+# large images.
+
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermedate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP = YES
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME =
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL =
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL =
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH =
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH =
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS =
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// AuthorImpl.h: AuthorImpl \83N\83\89\83X\82Ì\8eÀ\91\95
+// \90»\8dì\8eÒ\95\\8e¦\83V\81[\83\93
+// \97\9a\97ð\81F
+// $Log: SceneAuthor.cpp,v $
+// Revision 1.1 2001/10/28 21:40:37 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.5 2001/07/09 20:30:09 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.4 2001/07/01 21:30:34 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.3 2001/07/01 01:03:44 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.2 2001/05/12 00:49:09 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+// 2001/01/29 \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p\83\89\83C\83u\83\89\83\8a\82Ì\92Ç\89Á
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+#include <stack>
+#include <list>
+#include <vector>
+
+#include "exception.h"
+#include "system.h"
+#include "sound.h"
+#include "console.h"
+#include "obj.h"
+#include "Obj2D.h"
+#include "Obj3D.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+#include "input.h"
+#include "Scene.h"
+#include "Fade.h"
+#include "main.h"
+#include "AbstractScene.h"
+#include "s2001.h"
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "AuthorImpl.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+using namespace sf::application::scene;
+
+const int AuthorImpl::PERIOD = 1000 / sf::system::TIMER_INTERVAL * 4;
+
+sf::system::console::sprite::Info spinfo =
+{ "media\\Author.png",0.0f,0.0f,0.0f,0.0f,0xff000000,sf::system::console::sprite::SPRITE2D};
+
+// \83R\83\93\83X\83g\83\89\83N\83^ -------------------------------------------------------------
+AuthorImpl::AuthorImpl() : AbstractScene()
+{
+ mTimer = PERIOD;
+ //mMessage = pParam->message();
+ mState = INITIALIZE;
+ mpSprite = NULL;
+
+}// AuthorImpl()
+
+// \83f\83X\83g\83\89\83N\83^ ---------------------------------------------------------------
+AuthorImpl::~AuthorImpl()
+{
+ // \83X\83v\83\89\83C\83g\82Ì\8dí\8f\9c
+ delete mpSprite;
+}// ~AuthorImpl()
+
+
+// \83V\81[\83\93\82Ì\93®\8dì\82ð\8bL\8fq\82·\82é -----------------------------------------------------
+void AuthorImpl::move(void)
+{
+ Fade* pfade;
+ Scene *ps;
+ switch (mState)
+ {
+ // \8f\89\8aú\89» ---------
+ case INITIALIZE:
+
+ mpSound->load(0,"author.sgt");
+ mpSound->load(1,"select.sgt");
+
+ mpSprite = mpConsole->createSprite(&spinfo);
+
+ // \8dì\8eÒ\83r\83b\83g\83}\83b\83v\82Ì\83Z\83b\83g\83A\83b\83v
+ mAuthorObj.color(0xffffffff);
+ mAuthorObj.x(system::console::viewport::X + system::console::viewport::WIDTH / 2.0f);
+ mAuthorObj.y(system::console::viewport::Y + 200.0f);
+ //AuthorObj.scalingX(1.0f);
+ //AuthorObj.scalingY(1.0f);
+ mAuthorObj.z(0.0f);
+ mAuthorObj.visibility(true);
+ mAuthorObj.sprite(mpSprite);
+
+ // \83t\83F\81[\83h\83C\83\93\90Ý\92è
+ ps = sf::application::scene::createScene(FADE);
+ ps->addListener(this);
+ pfade = dynamic_cast<Fade *>(ps);
+
+ pfade->startColor(0xff000000);
+ pfade->endColor(0x00000000);
+ pfade->speed(0.05f);
+ pfade->fadeType(Fade::FADE_IN);
+ pfade->fadeVolumeFlag(true);
+
+ mState = START;
+ sleep();
+ break;
+ // BGM \82ð\96Â\82ç\82· -----------------------------
+ case START:
+ mpSound->play(0,1,true,true);
+ mState = MAIN;
+ break;
+ // \83\81\83C\83\93 -----------------------------------
+ case MAIN:
+ mTimer --;
+
+ if(mpInput->exit(true)){
+ exitKeyPressed(this);
+ return;
+ }
+
+ if(!mTimer || mpInput->start(true)){
+
+
+ Scene *pscene = createScene(FADE);
+ pscene->addListener(this);
+ Fade *pfade = dynamic_cast<Fade *>(pscene);
+
+ pfade->startColor(0x00000000);
+ pfade->endColor(0xff000000);
+ pfade->speed(-0.05f);
+ pfade->fadeVolumeFlag(true);
+ pfade->fadeType(Fade::FADE_OUT);
+
+ mState = END;
+ sleep();
+ }
+ break;
+ case END:
+ ;
+ }
+ //TestSprite.rotation(2.0f * 3.14159f / 75.0f * (mTimer % 75));
+ //mpConsole->print(0,system::console::viewport::X,0.0f,0.0f,1.0f,0xffffffff,"%s",mMessage.c_str());
+}// move
+
+//AuthorImpl Scene \82Ì\8fI\97¹ ---------------------------------------------------------
+void AuthorImpl::endOfScene(Scene *pScene)
+{
+
+ switch(mState){
+ case END:
+ callSceneEvent(&Listener::endOfScene);
+
+ mpSound->stop();
+ createScene(TITLE);
+
+ delete this;
+ return;
+
+ case START:
+ active();
+ break;
+ }
+
+} //endOfScene()
+
+// exitKey\82ª\89\9f\82³\82ê\82½ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void AuthorImpl::exitKeyPressed(Scene *pScene)
+{
+ callSceneEvent(&Listener::endOfScene);
+ delete this;
+}// exitKeyPressed
\ No newline at end of file
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// AuthorImpl.h: AuthorImpl \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \90»\8dì\8eÒ\95\\8e¦\83V\81[\83\93\82Ì\8eÀ\91\95\95\94\95ª
+//\81@\83t\83F\81[\83h\83C\83\93\81¨\89æ\96Ê\92\86\90S\82É\81A\8dì\8eÒ\82Ì\83\8d\83S\83r\83b\83g\83}\83b\83v\82ð\95\\8e¦\81¨\83t\83F\81[\83h\83A\83E\83g
+// $Log: SceneAuthor.h,v $
+// Revision 1.1 2001/10/28 21:40:37 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.4 2001/07/09 20:30:09 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.3 2001/07/01 01:03:44 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.2 2001/05/12 00:49:09 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@Author=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_Author_H__F60D1AEE_75EC_4C3B_B66F_B70BF374DCE5__INCLUDED_)
+#define AFX_Author_H__F60D1AEE_75EC_4C3B_B66F_B70BF374DCE5__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "Scene.h"
+namespace sf {
+ namespace application {
+ namespace scene {
+
+ class AuthorImpl : public AbstractScene
+ {
+ public:
+ enum STATE {
+ INITIALIZE,
+ START,
+ MAIN,
+ END
+ };
+
+ // LIFECYCLE //
+ // \83R\83\93\83X\83g\83\89\83N\83^
+ AuthorImpl();
+ // \83f\83X\83g\83\89\83N\83^
+ virtual ~AuthorImpl();
+ // OPERATOR //
+ // OPERATIONS //
+ void move(void);
+ void endOfScene(Scene * const pScene);//\83V\81[\83\93\82Ì\8fI\97¹
+ void exitKeyPressed(Scene * const pScene);
+ // ACCESS //
+ virtual const TYPE type() const{return AUTHOR;};
+ // INQUIRY //
+ static Scene * create(void){return new AuthorImpl;};
+ private:
+
+ DWORD mTimer;
+ std::string mMessage;
+ sf::system::console::ObjRectangle mAuthorObj;
+ sf::system::console::sprite::Sprite *mpSprite;
+ STATE mState;
+ bool mbInitialized;
+ static const int PERIOD;
+
+ };
+ }// scene
+ }// application
+}// sf
+#endif // !defined(AFX_Author_H__F60D1AEE_75EC_4C3B_B66F_B70BF374DCE5__INCLUDED_)
--- /dev/null
+// Fade.cpp: Fade \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+//
+//////////////////////////////////////////////////////////////////////
+
+#include "stdafx.h"
+#include "Fade.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+
+Fade::Fade()
+{
+
+}
+
+Fade::~Fade()
+{
+
+}
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// Fade.h: Fade \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \81E\8c»\8fó\82Å\82Í\81A\83t\83F\81[\83h\83C\83\93\81E\83A\83E\83g\92\86\82Ì\83p\83\89\83\81\81[\83^\95Ï\8dX\82Í\8b\96\82³\82ê\82È\82¢\81B
+// \81E\83t\83F\81[\83h\83C\83\93\81E\83A\83E\83g\82Ì\8ew\92è\88È\8aO\82Ì\83p\83\89\83\81\81[\83^\82ð\83Z\83b\83g\82µ\82È\82\82Ä\82à\81A\82Æ\82è\82 \82¦\82¸\93®\8dì\82µ\82Ü\82·\81B
+//
+// \97\9a\97ð\81F
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+
+
+#if !defined(AFX_FADE_H__28EB70BE_6E6E_451C_BF97_CCB72EFC77B5__INCLUDED_)
+#define AFX_FADE_H__28EB70BE_6E6E_451C_BF97_CCB72EFC77B5__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "sfinterface.h"
+
+namespace sf {
+ namespace application {
+ namespace scene {
+ // ----------------------------------------------------------------
+ // \83t\83F\81[\83h\83C\83\93\81E\83A\83E\83g\83C\83\93\83^\81[\83t\83F\81[\83X
+ // ----------------------------------------------------------------
+ class SF_INTERFACE Fade
+ {
+ public:
+ enum TYPE {
+ FADE_IN, //\83t\83F\81[\83h\83C\83\93//
+ FADE_OUT //\83t\83F\81[\83h\83A\83E\83g//
+ };
+
+ Fade(){};
+ virtual ~Fade(){};
+
+ // ACCESS //
+ // \83t\83F\81[\83h\83C\83\93\81E\83A\83E\83g\82Ì\83X\83s\81[\83h
+ virtual void speed(const float value) = 0;
+ virtual const float speed() = 0;
+ // \83t\83F\81[\83h\83C\83\93\82©\81A\83t\83F\81[\83h\83A\83E\83g\82©
+ virtual const Fade::TYPE fadeType() = 0;
+ virtual void fadeType(const Fade::TYPE value) = 0;
+ // \83X\83^\81[\83g\8e\9e\82Ì\90F
+ virtual const system::console::COLOR startColor(void) = 0;
+ virtual void startColor(const system::console::COLOR value ) = 0;
+ // \8fI\97¹\8e\9e\82Ì\90F
+ virtual const system::console::COLOR endColor(void) = 0;
+ virtual void endColor(const system::console::COLOR value) = 0;
+ // \83T\83E\83\93\83h\83{\83\8a\83\85\81[\83\80\82à\88ê\8f\8f\82É\83t\83F\81[\83h\83C\83\93\81E\83A\83E\83g\82·\82é\82©\82Ç\82¤\82©
+ virtual const bool fadeVolumeFlag() = 0;
+ virtual void fadeVolumeFlag(const bool value) = 0;
+
+ //\81@\8f\89\8aú\89»\8f\88\97\9d
+ // \83p\83\89\83\81\81[\83^\82ð\83Z\83b\83g\82µ\82½\8cã\82Í\81A\8cÄ\82Ñ\8fo\82·\82±\82Æ\81B
+ virtual void initialize() = 0;
+
+ };// Fade
+ }
+ }
+}
+
+#endif // !defined(AFX_FADE_H__28EB70BE_6E6E_451C_BF97_CCB72EFC77B5__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// FadeImpl.cpp: FadeImpl \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// \81@\83t\83F\81[\83h\83C\83\93\81E\83t\83F\81[\83h\83A\83E\83g\83V\81[\83\93\83N\83\89\83X\82Å\82·\81B
+// \97\9a\97ð:
+// $Log: FadeImpl.cpp,v $
+// Revision 1.1 2001/10/28 21:40:36 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.5 2001/07/09 20:30:08 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.4 2001/07/01 21:30:33 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.3 2001/07/01 01:03:44 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.2 2001/05/12 00:50:33 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+// 2001/01/29 \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p\83\89\83C\83u\83\89\83\8a\82Ì\92Ç\89Á
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+// System Includes //
+#include <stack>
+#include <list>
+
+// Project Includes //
+#include "exception.h"
+#include "system.h"
+#include "sound.h"
+#include "console.h"
+#include "Obj.h"
+#include "Obj2D.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+#include "input.h"
+#include "Scene.h"
+#include "main.h"
+#include "AbstractScene.h"
+
+#include "FadeImpl.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+using namespace sf::application::scene;
+
+// \83R\83\93\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+FadeImpl::FadeImpl()
+{
+ mbMove = false;
+ system::System* mpSystem = system::instance();
+ mpSound = mpSystem->sound();
+
+ mStartColor = (0xff000000);
+ mEndColor = 0x00000000;
+ mSpeed = 0.05f;
+ mType = Fade::FADE_IN;
+ mbFadeVolume = true;
+
+ mFadeObj.x(system::console::viewport::X + (system::console::viewport::WIDTH/2.0f));
+ mFadeObj.y(0.0f + (system::console::viewport::HEIGHT / 2.0f));
+ mFadeObj.z(0.0f);
+ mFadeObj.sprite(Maininstance()->getBlankSprite());
+ mFadeObj.scalingX(25.0f);
+ mFadeObj.scalingY(60.0f);
+ mFadeObj.color(mStartColor);
+ mFadeObj.visibility(true);
+ mFadeObj.drawMode(system::console::DRAW_TRANS);
+
+ initialize();
+}// FadeImpl();
+
+// \83f\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+FadeImpl::~FadeImpl()
+{
+
+}// FadeImpl()
+
+// \8f\89\8aú\89»\8f\88\97\9d \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void FadeImpl::initialize(){
+
+ if(mType == Fade::FADE_IN)
+ mCurrent = 1.0f;
+ else
+ mCurrent = 0.0f;
+
+ mEnd = (float)((mEndColor & 0xff000000) >> 24) / 256.0f;
+
+ float pitch_ = (mStartColor & 0xff000000) >> 24;
+
+ // \8f\9c\8eZ\97á\8aO\82ð\82³\82¯\82é\82½\82ß\82Ì\8f\88\92u
+ if(!pitch_) pitch_ = 0.00001f;
+ if(!mSpeed) mSpeed = 0.00001f;
+
+ if(mbFadeVolume){
+ mVolumePitch = ((float)system::sound::volume::MIN - (float)mpSound->volumeMax())
+ / (((float)pitch_) / (mSpeed * 256.0f));
+ pitch_ = ((mStartColor - mEndColor) & 0xff000000) >> 24;
+
+ if(!pitch_) pitch_ = 0.0001f;
+ if(mType == Fade::FADE_IN){
+ mVolumePitch = ((float)system::sound::volume::MIN- (float)mpSound->volumeMax())
+ / (((float)pitch_) / (mSpeed * 256.0f));
+ mVolume = (float)system::sound::volume::MIN;
+ } else {
+ mVolumePitch = ((float)system::sound::volume::MIN - (float)mpSound->volumeMax())
+ / (((float)pitch_) / (mSpeed * 256.0f));
+ mVolume = (float)mpSound->volumeMax();
+ }
+ }
+}// initialize()
+
+// FadeImpl\91\80\8dì -------------------------------------------------------------------
+void FadeImpl::move(void)
+{
+ mbMove = true;
+ mCurrent -= mSpeed;
+
+ if(mbFadeVolume)
+ mVolume -= mVolumePitch;
+
+ DWORD color = (((DWORD)(256.0f * mCurrent)) << 24) + (mStartColor & 0xffffff);
+
+ // \82d\82w\82h\82s\83L\81[\82ª\89\9f\82³\82ê\82½\82©?
+ if(mpInput->exit(true)){
+ callSceneEvent(&Listener::exitKeyPressed);
+ delete this;
+ return;
+ }
+
+ // \8fI\97¹\83`\83F\83b\83N
+ if((mCurrent <= mEnd && mType == Fade::FADE_IN) ||
+ (mCurrent >= mEnd && mType == Fade::FADE_OUT) || mpInput->start(true))
+ {
+ callSceneEvent(&Listener::endOfScene);
+ delete this;
+ return;
+ }
+
+
+ mFadeObj.color(color);
+
+ // \89¹\97Ê
+ if(mbFadeVolume)
+ mpSound->masterVolume((int)mVolume);
+
+ return;
+}// FadeImpl
\ No newline at end of file
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// FadeImpl.h: FadeImpl \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \81@\83t\83F\81[\83h\83C\83\93\81E\83t\83F\81[\83h\83A\83E\83g\83V\81[\83\93\83N\83\89\83X\82Å\82·\81B
+// $Log: FadeImpl.h,v $
+// Revision 1.1 2001/10/28 21:40:36 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.4 2001/07/09 20:30:08 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.3 2001/07/01 01:03:44 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.2 2001/05/12 00:50:33 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_FADE_H__B6A34AFF_990A_4D57_B2C9_8578B34A36E3__INCLUDED_)
+#define AFX_FADE_H__B6A34AFF_990A_4D57_B2C9_8578B34A36E3__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "scenetype.h"
+#include "AbstractScene.h"
+#include "Fade.h"
+
+namespace sf {
+ namespace application {
+ namespace scene {
+
+ class FadeImpl : public AbstractScene,public Fade
+ {
+ public:
+ FadeImpl();
+ virtual ~FadeImpl();
+
+ // Scene \83C\83\93\83v\83\8a\83\81\83\93\83g
+ void move(void);
+ const scene::TYPE type() const{return FADE;};
+
+ void endOfScene(Scene * const pScene) {;};
+ void exitKeyPressed(Scene * const pScene) {;};
+
+ // Fade \83C\83\93\83v\83\8a\83\81\83\93\83g
+ // \83t\83F\81[\83h\83C\83\93\81E\83A\83E\83g\82Ì\83X\83s\81[\83h
+ void speed(const float value){ if(!mbMove){ mSpeed = value;};};
+ const float speed(){return mSpeed;};
+ // \83t\83F\81[\83h\83C\83\93\82©\81A\83t\83F\81[\83h\83A\83E\83g\82©
+ const Fade::TYPE fadeType(){return mType;};
+ void fadeType(const Fade::TYPE value){if(!mbMove){mType = value;};};
+ // \83X\83^\81[\83g\8e\9e\82Ì\90F
+ const system::console::COLOR startColor(void){return mStartColor;};
+ void startColor(const system::console::COLOR value ){if(!mbMove){mStartColor = value;};};
+ // \8fI\97¹\8e\9e\82Ì\90F
+ const system::console::COLOR endColor(void){return mEndColor;};
+ void endColor(const system::console::COLOR value){if(!mbMove){mEndColor = value;};};
+ // \83T\83E\83\93\83h\83{\83\8a\83\85\81[\83\80\82à\88ê\8f\8f\82É\83t\83F\81[\83h\83C\83\93\81E\83A\83E\83g\82·\82é\82©\82Ç\82¤\82©
+ const bool fadeVolumeFlag(){return mbFadeVolume;};
+ void fadeVolumeFlag(const bool value){if(!mbMove){mbFadeVolume = value;};};
+
+ void initialize();
+
+ static Scene * const create(const bool bManage)
+ { Scene *pscene = new FadeImpl();
+ if(bManage){
+ Container::instance()->add(pscene);
+ }
+ return pscene;
+ };
+
+ private:
+ system::console::COLOR mStartColor,mEndColor;
+ Fade::TYPE mType;
+ float mSpeed;
+ system::System *mpSystem;
+ system::sound::Sound *mpSound;
+ float mCurrent,mEnd;
+ float mVolumePitch;
+ float mVolume;
+ bool mbFadeVolume;
+ bool mbMove;
+ system::console::ObjRectangle mFadeObj;
+ };
+ }// scene
+ }// application
+}//sf
+
+#endif // !defined(AFX_FADE_H__B6A34AFF_990A_4D57_B2C9_8578B34A36E3__INCLUDED_)
--- /dev/null
+// Game.cpp: Game \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+//
+//////////////////////////////////////////////////////////////////////
+
+#include "stdafx.h"
+#include "Game.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+
+Game::Game()
+{
+
+}
+
+Game::~Game()
+{
+
+}
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// Game.h: Game \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \97\9a\97ð\81F
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_GAME_H__C0DEC307_4A6A_48CD_B72C_4513D6C4580E__INCLUDED_)
+#define AFX_GAME_H__C0DEC307_4A6A_48CD_B72C_4513D6C4580E__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "sfinterface.h"
+#include "sceneType.h"
+
+namespace sf {
+ namespace application {
+ namespace scene {
+
+class SF_INTERFACE Game
+{
+public:
+ Game(){};
+ virtual ~Game(){};
+
+ // Game \83C\83\93\83^\81[\83t\83F\81[\83X\82ª\8ed\97l\82·\82é\8d\\91¢\91Ì\81A\97ñ\8b\93\95Ï\90\94
+
+ struct Data {
+ std::string mapFileName; // \83}\83b\83v\83t\83@\83C\83\8b
+ std::string dispositionFileName;// \94z\92u\83f\81[\83^
+ std::string bgmFileName; // BGM\83f\81[\83^
+ };
+
+ // \93ï\88Õ\93x\90Ý\92è
+ enum DIFFICULTY {
+ EASY,
+ NORMAL,
+ HARD
+ };
+
+ // \83Q\81[\83\80\82Ì\8fó\91Ô
+ enum STATE {
+ INITIALIZE,
+ START,
+ MAIN,
+ RESTART,
+ CLEAR,
+ OVER
+ };
+
+
+ // OPERATOR //
+
+
+ // OPERATIONS //
+
+ // \83v\83\8c\83C\83\84\81[\8fî\95ñ\95\\8e¦
+ virtual void printPlayerInfo() = 0;
+ // \83f\81[\83^\83G\83f\83B\83b\83g\8e\9e\8fî\95ñ\95\\8e¦
+ virtual void printEditInfo() = 0;
+ // \83Q\81[\83\80\83f\81[\83^\83\8d\81[\83h
+ virtual void load(const char * const pFileName) = 0;
+
+ // ACCESS //
+
+ // \94w\8ci //
+ virtual sf::system::console::Background * const background(void) = 0;
+
+ // \8e©\8b@ //
+ virtual sf::application::Character * const player(void) = 0;
+
+ // \93ï\88Õ\93x
+ virtual const DIFFICULTY difficulty(void) const = 0 ;
+ virtual void difficulty(const DIFFICULTY value) = 0;
+
+ // \8c»\8dÝ\82Ì\93ï\88Õ\93x
+ virtual const float currentDifficulty(void) const = 0;
+ virtual void currentDifficulty(const float value) = 0;
+
+ // \83X\83e\81[\83W No
+ virtual void stageNo(const int value) = 0;
+ virtual const int stageNo() const = 0;
+
+ // \83X\83N\83\8d\81[\83\8b\91¬\93x
+ virtual void scrollSpeed(const float value) = 0;
+ virtual const float scrollSpeed(void) const = 0;
+
+ // \83X\83R\83A
+ virtual void score(const int value) = 0;
+ virtual const int score(void) const = 0;
+
+ // \83X\83N\83\8d\81[\83\8bY \88Ê\92u
+ virtual void scrollY(const float value) = 0;
+ virtual const float scrollY(void) const = 0;
+
+ // \83\8a\83X\83^\81[\83g\88Ê\92u\82Ì\90Ý\92è
+ virtual void restartPosition(const float value) = 0;
+ virtual const float restartPosition(void) const = 0;
+
+ // \94z\92u\83f\81[\83^\90§\8cä\83I\83u\83W\83F\83N\83g
+ virtual sf::application::disposition::Controller* const controllerPtr(void) = 0;
+
+ // \8fó\91Ô
+ virtual void state(const STATE value) = 0;
+ virtual const STATE state(void) const = 0;
+
+ // \83^\83C\83}
+ virtual const int timer (void) const = 0;
+
+
+};// Game
+ }// scene
+ }// application
+}//sf
+
+#endif // !defined(AFX_GAME_H__C0DEC307_4A6A_48CD_B72C_4513D6C4580E__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// Game.cpp: Game \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// $Log: Game.cpp,v $
+// Revision 1.1 2001/10/28 21:40:36 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.12 2001/07/09 20:30:08 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.11 2001/07/01 21:30:34 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.10 2001/07/01 01:03:44 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.9 2001/06/10 21:17:54 fujiwara
+// \92n\8fã\97p\92Ç\89Á
+//
+// Revision 1.8 2001/06/03 09:22:32 fujiwara
+// \92n\8fã\93G\83N\83\89\83X\82¨\82æ\82Ñ\8eG\8b\9b\93G\82Ì\94÷\92²\90®
+//
+// Revision 1.7 2001/05/17 12:34:10 fujiwara
+// \92n\8fã\93G\83T\83\93\83v\83\8b\8dì\90¬
+//
+// Revision 1.6 2001/05/13 20:04:24 fujiwara
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\82ª\94\90¶\82µ\82½\82Ì\82Å\8eæ\82è\8f\9c\82\81B
+// \8e©\92e\82Ì\83T\83E\83\93\83h\83e\83X\83g
+//
+// Revision 1.5 2001/05/12 12:48:28 fujiwara
+// \94z\92u\83G\83f\83B\83^\8dì\90¬\82É\94º\82¤\95Ï\8dX\81E\92Ç\89Á
+//
+// Revision 1.4 2001/05/12 08:17:12 fujiwara
+// \88ê\94Ê\95Û\8cì\88á\94½\82ª\8bN\82±\82éBUG\8fC\90³
+//
+// Revision 1.3 2001/05/12 00:50:33 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// SYSTEM INCLUDES //
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+
+#include <stack>
+#include <list>
+#include <iostream>
+#include <fstream>
+#include <vector>
+#include <map>
+#include <string>
+#include "math.h"
+
+// PROJECT INCLUDES //
+
+#include "exception.h"
+#include "singleton.h"
+#include "system.h"
+#include "sound.h"
+#include "console.h"
+#include "Obj.h"
+#include "Obj2D.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+#include "Obj3DL.h"
+#include "Background.h"
+#include "input.h"
+#include "Scene.h"
+#include "main.h"
+#include "AbstractScene.h"
+#include "character.h"
+#include "Hit.h"
+#include "MyShip.h"
+#include "Enemys.h"
+#include "Armys.h"
+#include "EnemyBullets.h"
+
+
+#include "Game.h"
+#include "GameImpl.h"
+
+#include "DispositionControl.h"
+#include "AbstractCharacter.h"
+#include "MyBullets.h"
+#include "MyGroundBullets.h"
+#include "Effects.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+//#include "ZK01.H"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+using namespace sf::application::scene;
+using namespace sf::system::console;
+using namespace sf;
+
+// \83R\83\93\83X\83g\83\89\83N\83^ -------------------------------------------------------------
+Game::Game() : AbstractScene()
+{
+ mbKeyboardListening = false;
+ mState = INITIALIZE;
+ mTimer = 0;
+
+ mpController = new sf::application::disposition::Controller;
+ mpController->game(this);
+
+ mpMyShip = new player::Ship(this);
+
+ mpBullets = sf::application::player::bullet::Bullets::instance();
+ mpBullets->initialize();
+
+ mpEnemys = sf::application::enemy::Enemys::instance();
+ mpEnemys->initialize();
+
+ mpArmys = sf::application::enemy::Armys::instance();
+ mpArmys->initialize();
+
+ mpEffects = sf::application::effect::Effects::instance();
+ mpEffects->initialize();
+
+ mpEnemyBullets = sf::application::enemy::Bullets::instance();
+ mpEnemyBullets->initialize();
+
+
+ mpGroundBullets = sf::application::player::bullet::GroundBullets::instance();
+ mpGroundBullets->initialize();
+
+ mScore = 0;
+ mStageNo = 0;
+
+ mbEdit = false;
+}// Game()
+
+// \83f\83X\83g\83\89\83N\83^ ---------------------------------------------------------------
+Game::~Game()
+{
+ if(mpInput)
+ mpInput->removeKeyboardListener(this);
+
+ delete mpController;
+ delete mpMyShip;
+
+ if(mpStart){
+ mpStart->removeListener(this);
+ mpStart = NULL;
+ }
+
+}// ~Game()
+
+// \83X\83P\83W\83\85\81[\83\89 ---------------------------------------------------------------
+void Game::move(void )
+{
+ mTimer ++;
+
+ switch(mState)
+ {
+ case INITIALIZE:
+ initialize();
+ break;
+ case START:
+ mBackground.visibility(true);
+ mpMyShip->initialize();
+ mState = MAIN;
+ mbKeyboardListening = true;
+ break;
+ case MAIN:
+ main();
+ return;
+ case RESTART:
+ restart();
+ return;
+ case CLEAR:
+
+ case OVER:
+ over();
+ return;
+ ;
+ }
+
+}// move()
+
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Game::initialize()
+{
+ mpConsole->print(
+ 0,
+ viewport::X + viewport::WIDTH / 2.0f - 32.0f / 2.0f * text::COLUMN_PITCH,
+ viewport::Y + viewport::HEIGHT / 2.0f,
+ 0.0f,
+ 1.0f,
+ 0xffffffff,
+ "Loading Game Data. Please Wait!");
+
+ if(mTimer < 10) return;
+
+ mStageNo = 0;
+ mScore = 0;
+ difficulty(EASY);
+ mScrollY = 0.0f;
+
+ mBackground.startOffsetY(0.0f);
+ mBackground.startOffsetX(0.0f);
+
+ // \83Q\81[\83\80\83X\83^\81[\83g\89æ\96Ê
+ mpInput->addKeyboardListener(this);
+ StartParameter start_param;
+ mpStart = start_param.createScene();
+
+ mpStart->addListener(this);
+
+ mState = START;
+
+ load("game.dat");
+
+ loadStageData();
+
+ mpMyShip->life(sf::application::player::Ship::INIT_LIFE);
+}//
+
+// \8cã\8en\96\96 \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Game::resetObjects(){
+
+ mpEnemys->initialize();
+ mpEffects->initialize();
+ mpBullets->initialize();
+ mpEnemyBullets->initialize();
+ mpArmys->initialize();
+ mpGroundBullets->initialize();
+
+}// resetObjects()
+
+// \83\81\83C\83\93 \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Game::main()
+{
+ using namespace sf::system::console;
+ // Exit Key\82ª\89\9f\82³\82ê\82½\82©\81H
+ if(mpInput != NULL && mpInput->exit(false))
+ {
+ mState = OVER;
+ return;
+ }
+
+ printPlayerInfo();
+
+ // \95¶\8e\9a\97ñ\82ð\83u\83\8a\83\93\83N\95\\8e¦
+ if(mTimer & 0x8)
+ {
+ mpConsole->print(
+ 0,
+ viewport::X + viewport::WIDTH / 2.0f - 14.0f / 2.0f * text::COLUMN_PITCH,
+ viewport::Y + viewport::HEIGHT / 2.0f,
+ 0.0f,
+ 1.0f,
+ 0xffffffff,
+ "Exit Esc Key!!");
+ }
+
+// if(!(mTimer & 0xf))
+// mpEnemys->create(sf::application::enemy::Enemys::ZK01,sf::system::console::viewport::X + 400.0f * (float)rand() / 32768.0f ,-48.0f,0.5f,this);
+
+ mpController->exec(mScrollY);
+
+ mpMyShip->move();
+ mpBullets->move();
+ mpGroundBullets->move();
+ mpEnemys->move();
+ mpEffects->move();
+ mpEnemyBullets->move();
+ mpArmys->move();
+
+ mpEnemys->hitCheck(mpBullets);
+ mpEnemys->hitCheck(mpMyShip);
+ mpEnemyBullets->hitCheck(mpMyShip);
+ mpArmys->hitCheck(mpGroundBullets);
+
+ // \94z\92u\83}\83b\83v\82©\82ç\83f\81[\83^\8eæ\82è\8fo\82µ //
+
+ mBackground.offsetY(mScrollY);
+ mScrollY = mScrollY + mScrollSpeed;
+}// main()
+
+// \83Q\81[\83\80\83I\81[\83o\81[ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Game::over()
+{
+ resetObjects();
+ callSceneEvent(&sf::application::scene::Listener::endOfScene);
+ delete this;
+
+ // \83Q\81[\83\80\83I\81[\83o\81[\83V\81[\83\93\82Ö\88Ú\8ds
+ OverParameter param;
+ param.createScene();
+
+ // \83^\83C\83g\83\8b\89æ\96Ê\82Ö\82Ì\88Ú\8ds
+ //TitleParameter param;
+ //param.createScene();
+}// over()
+
+// \83V\81[\83\93\82Ì\8fI\97¹ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Game::endOfScene(Scene *pScene)
+{
+
+ switch(pScene->type())
+ {
+ case EDITOR:
+ mbKeyboardListening = true;
+ active();
+ mbEdit = false;
+ break;
+ case DISPOSITION_EDITOR:
+ mbKeyboardListening = true;
+ active();
+ mbEdit = false;
+ break;
+ case sf::application::scene::START:
+ if(!mbEdit) {
+ sf::system::instance()->sound()->play(mBgmId,1,true,true);
+ active();
+ }
+ mpStart = NULL;
+ break;
+ default:
+ active();
+ break;
+ }
+ ;// \89½\82à\82µ\82È\82¢
+}// endOfScene()
+
+// \82d\82w\82h\82s\83L\81[\82ª\89\9f\82³\82ê\82½\81@\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Game::exitKeyPressed(Scene *pScene)
+{
+ callSceneEvent(&sf::application::scene::Listener::exitKeyPressed);
+
+ // \83^\83C\83g\83\8b\89æ\96Ê\82Ö\82Ì\88Ú\8ds
+ TitleParameter param;
+ param.createScene();
+
+ // \93G\82È\82Ç\82ð\83N\83\8a\83A\82·\82é
+ resetObjects();
+ delete this;
+}// exitKeyPressed()
+
+// \83L\81[\82ª\89\9f\82³\82ê\82½\82Æ\82«\82Ì\8f\88\97\9d \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Game::keyDown(DWORD keyCode,DWORD extKeyCode)
+{
+ Scene *pscene;
+ BGEditorParameter edit_param;
+ DispositionEditorParameter d_param;
+
+ switch((char)keyCode)
+ {
+ case 'B':
+ resetObjects();
+ edit_param.game(this);
+ pscene = edit_param.createScene();
+ pscene->addListener(this);
+ mbKeyboardListening = false;
+ sleep();
+ mbEdit = true;
+ break;
+ case 'D':
+ resetObjects();
+ d_param.game(this);
+ pscene = d_param.createScene();
+ pscene->addListener(this);
+ mbKeyboardListening = false;
+ sleep();
+ mbEdit = true;
+ break;
+ }
+
+}// keyDown()
+
+// \83v\83\8c\83C\83\84\81[\8fî\95ñ\82Ì\95\\8e¦ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Game::printPlayerInfo()
+{
+ using namespace sf::system::console;
+
+ // \83X\83R\83A\95\\8e¦ //
+ mpConsole->print(
+ 0,
+ viewport::X + (viewport::WIDTH - 5.0f * text::COLUMN_PITCH) / 2.0f,
+ viewport::Y,
+ 0.0f,
+ 1.0f,
+ 0xffffffff,
+ "SCORE"
+ );
+
+ mpConsole->print(
+ 0,
+ viewport::X + (viewport::WIDTH - 8.0f * text::COLUMN_PITCH )/ 2.0f,
+ viewport::Y + (1.0f * text::LINE_PITCH),
+ 0.0f,
+ 1.0f,
+ 0xffffffff,
+ "%08d",mScore
+ );
+
+ // \83v\83\8c\83C\83\84\81[\8ec\90\94\95\\8e¦ //
+
+}// printScore()
+
+// \83v\83\8c\83C\83\84\81[\8fî\95ñ\82Ì\95\\8e¦ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Game::printEditInfo()
+{
+ using namespace sf::system::console;
+
+ // \83X\83R\83A\95\\8e¦ //
+ mpConsole->print(
+ 0,
+ viewport::X + 1.0f * text::COLUMN_PITCH,
+ viewport::Y + (2.0f * text::LINE_PITCH),
+ 0.0f,
+ 1.0f,
+ 0xffffffff,
+ "pos:"
+ );
+
+ mpConsole->print(
+ 0,
+ viewport::X + 5.0f * text::COLUMN_PITCH,
+ viewport::Y +(2.0f * text::LINE_PITCH) ,
+ 0.0f,
+ 1.0f,
+ 0xffffffff,
+ "%f",mBackground.offsetY()
+ );
+
+ mpConsole->print(
+ 0,
+ viewport::X + 1.0f * text::COLUMN_PITCH,
+ viewport::Y + (3.0f * text::LINE_PITCH),
+ 0.0f,
+ 1.0f,
+ 0xffffffff,
+ "ofx:"
+ );
+
+ mpConsole->print(
+ 0,
+ viewport::X + 5.0f * text::COLUMN_PITCH,
+ viewport::Y + (3.0f * text::LINE_PITCH),
+ 0.0f,
+ 1.0f,
+ 0xffffffff,
+ "%f",mBackground.startOffsetX()
+ );
+
+ mpConsole->print(
+ 0,
+ viewport::X + 1.0f * text::COLUMN_PITCH,
+ viewport::Y + (4.0f * text::LINE_PITCH),
+ 0.0f,
+ 1.0f,
+ 0xffffffff,
+ "ofy:"
+ );
+
+ mpConsole->print(
+ 0,
+ viewport::X + 5.0f * text::COLUMN_PITCH,
+ viewport::Y + (4.0f * text::LINE_PITCH),
+ 0.0f,
+ 1.0f,
+ 0xffffffff,
+ "%f",mBackground.startOffsetY()
+ );
+
+ // \83v\83\8c\83C\83\84\81[\8ec\90\94\95\\8e¦ //
+
+}// printScore()
+
+// \83X\83e\81[\83W\83f\81[\83^\82Ì\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Game::loadStageData(){
+
+ mBackground.load(mStageData[mStageNo].mapFileName.c_str());
+ mpController->load(mStageData[mStageNo].dispositionFileName.c_str());
+ mBgmId = sf::system::instance()->sound()->load(mStageData[mStageNo].bgmFileName.c_str());
+
+}// loadStageData()
+
+void Game::clear(){
+ ;
+}// clear()
+
+std::ostream & operator <<
+ ( std::ostream &rOStrm // cStrStrm
+ , const Game::Data &rGameData ) // cInt
+{
+ return rOStrm << rGameData.mapFileName << " " << rGameData.dispositionFileName; // \8aù\91¶\82Ì\8aÖ\90\94\82ð\8cÄ\82Ñ\8fo\82µ\82Ü\82·\81B
+}
+
+std::istream& operator >> ( std::istream& rIStrm, Game::Data &rGameData)
+{
+ rIStrm >> rGameData.mapFileName;
+ rIStrm >> rGameData.dispositionFileName;
+ rIStrm >> rGameData.bgmFileName;
+ return rIStrm;
+}
+
+// \83Q\81[\83\80\83f\81[\83^\82Ì\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Game::load(const char * const pFileName)
+{
+ char err_loadstr[] = "Game::load() Error!";
+
+ std::fstream file(pFileName,std::ios::in);
+ if(!file.is_open()){
+ throw FatalErrorException("Game File Not Found",__FILE__,__LINE__);
+ }
+ file >> mStageMax;
+ Data temp_data;
+ for(int i = 0 ; i < mStageMax ; i++){
+ file >> temp_data;
+ if(file.fail() != 0){
+ throw FatalErrorException(err_loadstr,__FILE__,__LINE__);
+ }
+ mStageData.push_back(temp_data);
+ }
+}// load()
+
+// \83\8a\83X\83^\81[\83g \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Game::restart()
+{
+
+ resetObjects();
+ mBackground.visibility(false);
+ mpMyShip->restart();
+ scrollY(restartPosition());
+ mBackground.offsetY(restartPosition());
+ mpController->restart(restartPosition());
+ mState = START;
+
+ StartParameter start_param;
+ Scene * pscene = start_param.createScene();
+ pscene->addListener(this);
+
+}// restart()
+
+void Game::difficulty(const DIFFICULTY value){
+ mDifficulty = value;
+ mCurrentDifficulty = (float)value + fmod(currentDifficulty(),1.0f);
+}
+
+
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// GameImpl.h: GameImpl \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \97\9a\97ð\81F
+// $Log: GameImpl.h,v $
+// Revision 1.1 2001/10/28 21:40:36 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.11 2001/07/09 20:30:08 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.10 2001/07/01 01:03:44 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.9 2001/06/10 21:17:54 fujiwara
+// \92n\8fã\97p\92Ç\89Á
+//
+// Revision 1.8 2001/06/03 09:22:32 fujiwara
+// \92n\8fã\93G\83N\83\89\83X\82¨\82æ\82Ñ\8eG\8b\9b\93G\82Ì\94÷\92²\90®
+//
+// Revision 1.7 2001/05/29 01:12:54 fujiwara
+// \8eG\8b\9b\83L\83\83\83\89(\94ò\8ds\95¨\81j\82Ì\8dì\90¬\81B\94z\92u\83G\83f\83B\83^\82Ì\83o\83O\8fC\90³
+//
+// Revision 1.6 2001/05/17 12:34:10 fujiwara
+// \92n\8fã\93G\83T\83\93\83v\83\8b\8dì\90¬
+//
+// Revision 1.5 2001/05/13 20:04:24 fujiwara
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\82ª\94\90¶\82µ\82½\82Ì\82Å\8eæ\82è\8f\9c\82\81B
+// \8e©\92e\82Ì\83T\83E\83\93\83h\83e\83X\83g
+//
+// Revision 1.4 2001/05/12 12:48:28 fujiwara
+// \94z\92u\83G\83f\83B\83^\8dì\90¬\82É\94º\82¤\95Ï\8dX\81E\92Ç\89Á
+//
+// Revision 1.3 2001/05/12 00:50:33 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_GAME_H__41F747F0_5498_488A_AE73_BC66B991D0ED__INCLUDED_)
+#define AFX_GAME_H__41F747F0_5498_488A_AE73_BC66B991D0ED__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "AbstractScene.h"
+#include "Game.h"
+
+namespace sf {
+ namespace application {
+
+ namespace disposition {
+ class Controller;
+ }
+
+ namespace player {
+ namespace bullet{
+ class Bullets;
+ class GroundBullets;
+ }
+ }
+
+ namespace enemy {
+ class Enemys;
+ class Bullets;
+ class Armys;
+ };
+
+ namespace effect {
+ class Effects;
+ };
+
+ namespace scene {
+
+
+class GameImpl : public AbstractScene,public sf::system::input::keyboard::Listener,public Game
+{
+public:
+ // LIFECYCLE //
+
+ GameImpl();
+ virtual ~GameImpl();
+
+ // OPERATOR //
+
+ // OPERATIONS //
+
+ // \88Ú\93®
+ void move(void);
+
+ // \83V\81[\83\93\8fI\97¹\83C\83x\83\93\83g
+ void endOfScene(Scene * const pScene);
+ // \8fI\97¹\83L\81[\89\9f\89º\83C\83x\83\93\83g
+ void exitKeyPressed(Scene * const pScene);
+ // \83L\81[\89\9f\89º\83C\83x\83\93\83g
+ void keyDown(const DWORD keyCode,const DWORD extKeyCode);
+ // \83L\81[\83A\83b\83v\83C\83x\83\93\83g
+ void keyUp(const DWORD keyCode,const DWORD extKeyCode){};
+ // \83L\81[\83{\81[\83h\83C\83x\83\93\83g\82ð\8eó\90M\82·\82é\82©
+ const bool isListeningKeyboard(void) const {return mbKeyboardListening;};
+ // Input\83f\83o\83C\83X\8fÁ\96Å\83C\83x\83\93\83g
+ void keyboardTalkerIsDeleted(void){mpInput = NULL;};
+ // \83v\83\8c\83C\83\84\81[\8fî\95ñ\95\\8e¦
+ void printPlayerInfo();
+ // \83f\81[\83^\83G\83f\83B\83b\83g\8e\9e\8fî\95ñ\95\\8e¦
+ void printEditInfo();
+ // \83Q\81[\83\80\83f\81[\83^\83\8d\81[\83h
+ void load(const char * const pFileName);
+
+ // ACCESS //
+ const TYPE type() const{return GAME;};
+
+ // \94w\8ci //
+ sf::system::console::Background* const background(void){return &mBackground;};
+
+ // \8e©\8b@ //
+ sf::application::Character * const player(void){return mpMyShip;};
+
+ // \93ï\88Õ\93x
+ const DIFFICULTY difficulty(void) const { return mDifficulty;};
+ void difficulty(const DIFFICULTY value);
+
+ // \8c»\8dÝ\82Ì\93ï\88Õ\93x
+ const float currentDifficulty(void) const {return mCurrentDifficulty;};
+ void currentDifficulty(float value)
+ { if(value > (float)HARD)
+ mCurrentDifficulty = (float)HARD;
+ else
+ mCurrentDifficulty = value;
+ };
+
+ // \83X\83e\81[\83W No
+ void stageNo(const int value)
+ { int tmp = value;
+ if(value < 0) tmp = 0;
+ if(value > mStageMax ) tmp = mStageMax;
+ mStageNo = tmp;
+ };
+ const int stageNo() const {return mStageNo;};
+
+ // \83X\83N\83\8d\81[\83\8b\91¬\93x
+ void scrollSpeed(const float value){mScrollSpeed = value * sf::system::instance()->deltaTime();};
+ const float scrollSpeed(void) const {return mScrollSpeed;};
+
+ // \83X\83R\83A
+ void score(const int value){mScore = value;};
+ const int score(void) const {return mScore;};
+
+ // \83X\83N\83\8d\81[\83\8bY \88Ê\92u
+ void scrollY(const float value){
+ mBackground.offsetY(value);
+ mScrollY = mBackground.offsetY();};
+ const float scrollY(void) const {return mScrollY;};
+
+ // \83\8a\83X\83^\81[\83g\88Ê\92u\82Ì\90Ý\92è
+ void restartPosition(const float value){mRestartPosition = value;};
+ const float restartPosition(void) const {return mRestartPosition;};
+
+ // \94z\92u\83f\81[\83^\90§\8cä\83I\83u\83W\83F\83N\83g
+ sf::application::disposition::Controller* const controllerPtr(void)
+ { return mpController;};
+
+ // \8fó\91Ô
+ void state(const STATE value){mState = value;};
+ const STATE state(void) const {return mState;};
+
+ // \83^\83C\83}
+ const int timer (void) const {return mTimer;};
+
+ // INQUIRY
+
+private:
+
+ void main();
+ void initialize();
+ void resetObjects();
+ void loadStageData();
+ void over();
+ void clear();
+ void restart();
+
+ int mTimer;
+ STATE mState;
+
+
+ bool mbKeyboardListening;
+
+ player::Ship* mpMyShip;
+ player::bullet::Bullets *mpBullets;
+ player::bullet::GroundBullets *mpGroundBullets;
+ enemy::Enemys *mpEnemys;
+ enemy::Bullets *mpEnemyBullets;
+ enemy::Armys *mpArmys;
+ Scene * mpStart;
+ effect::Effects *mpEffects;
+
+ sf::system::console::Background mBackground;
+ sf::application::disposition::Controller* mpController;
+
+ float mScrollY;
+ float mScrollSpeed;
+ float mRestartPosition;
+ bool mbEdit;
+
+ DIFFICULTY mDifficulty;
+ float mCurrentDifficulty;
+ int mStageNo;
+ int mScore;
+ int mStageMax;
+ int mBgmId;
+
+ std::vector<Data> mStageData;
+};
+ }
+ }
+}
+
+#endif // !defined(AFX_GAME_H__41F747F0_5498_488A_AE73_BC66B991D0ED__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// OverImpl.cpp: OverImpl \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// $Log: OverImpl.cpp,v $
+// Revision 1.1 2001/10/28 21:40:36 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.5 2001/07/09 20:30:09 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.4 2001/07/01 21:30:34 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.3 2001/07/01 01:03:44 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.2 2001/05/12 00:49:24 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+#include <stack>
+#include <list>
+
+#include "exception.h"
+#include "system.h"
+#include "sound.h"
+#include "console.h"
+#include "Obj.h"
+#include "Obj2D.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+#include "input.h"
+#include "Scene.h"
+#include "s2001.h"
+#include "main.h"
+
+#include "AbstractScene.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "OverImpl.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+using namespace sf::application::scene;
+
+const int OverImpl::PERIOD = 1000 / sf::system::TIMER_INTERVAL * 3;
+const char OverImpl::BGM_FILENAME[sf::system::MAX_PATH_] = "select.sgt";
+
+// \83R\83\93\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+OverImpl::OverImpl()
+{
+ mState = INITIALIZE;
+ mTimer1 = 0;
+}// OverImpl()
+
+// \83f\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+OverImpl::~OverImpl()
+{
+
+}// OverImpl()
+
+// \83X\83P\83W\83\85\81[\83\89 ---------------------------------------------------------------
+void OverImpl::move(void)
+{
+ switch(mState)
+ {
+ case INITIALIZE:
+ initialize();
+ break;
+ case MAIN:
+ main();
+ break;
+ }
+}// move()
+
+// \8f\89\8aú\89» --------------------------------------------------------------------
+void OverImpl::initialize()
+{
+
+ mpSound->load(0,BGM_FILENAME);
+
+ mState = MAIN;
+ mTimer = PERIOD;
+
+ // \83t\83F\81[\83h\83C\83\93\90Ý\92è
+
+}// intialize()
+
+//\81@\83\81\83C\83\93 \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void OverImpl::main()
+{
+ mTimer --;
+
+ if(mpInput->exit(true))
+ {
+ exitKeyPressed(this);
+ return;
+ }
+
+ if(!mTimer || mpInput->start(true)){
+ end();
+ return;
+ }
+
+ printMessage();
+
+}// main()
+
+//\81@\8fI\97¹\8f\88\97\9d\81@\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void OverImpl::end()
+{
+ callSceneEvent(&Listener::endOfScene);
+ delete this;
+ scene::createScene(TITLE);
+
+}// end()
+
+
+// \83t\83F\81[\83h\83C\83\93\82Ì\8fI\97¹ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void OverImpl::endOfScene(Scene * const pScene)
+{
+;
+}// endOfScene()
+
+// \83t\83F\81[\83h\83C\83\93\92\86\82É\82d\82w\82h\82s\83L\81[\82ª\89\9f\82³\82ê\82½\81I\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void OverImpl::exitKeyPressed(Scene * const pScene)
+{
+ callSceneEvent(&Listener::exitKeyPressed);
+
+ scene::createScene(TITLE);
+ delete this;
+}//
+
+// \83X\83^\81[\83g\83\81\83b\83Z\81[\83W\82Ì\95\\8e¦ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void OverImpl::printMessage(void)
+{
+ using namespace sf::system::console;
+
+ mTimer1 ++;
+
+ // \83X\83^\81[\83g\95¶\8e\9a\97ñ\82ð\83u\83\8a\83\93\83N\95\\8e¦
+ if(mTimer1 & 0x8)
+ {
+ mpConsole->print(
+ 0,
+ viewport::X + viewport::WIDTH / 2.0f - 12.0f / 2.0f * text::COLUMN_PITCH,
+ viewport::Y + viewport::HEIGHT / 3.0f,
+ 0.0f,
+ 1.0f,
+ 0xffffffff,
+ " GAME OVER ");
+ }
+
+}// printMessage()
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// OverImpl.h: OverImpl \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \97\9a\97ð\81F
+// $Log: OverImpl.h,v $
+// Revision 1.1 2001/10/28 21:40:36 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.4 2001/07/09 20:30:09 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.3 2001/07/01 01:03:44 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.2 2001/05/12 00:49:24 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_OVER_H__C67DB1AA_0291_4628_89CF_8BBB317B97A6__INCLUDED_)
+#define AFX_OVER_H__C67DB1AA_0291_4628_89CF_8BBB317B97A6__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "AbstractScene.h"
+namespace sf {
+ namespace application {
+ namespace scene {
+
+class OverImpl : public AbstractScene
+{
+public:
+ OverImpl();
+ virtual ~OverImpl();
+ // OPERATORS //
+ // OPERATIONS //
+ void endOfScene(Scene * const pScene);
+ void exitKeyPressed(Scene * const pScene);
+ void move(void);
+ // ACCESS //
+ virtual const TYPE type() const{return START;};
+ // INQUIRY //
+private:
+ void end(void);
+ void main(void);
+ void initialize(void);
+ void printMessage(void);
+ enum STATE {
+ INITIALIZE,
+ FADE_IN,
+ MAIN,
+ END
+ } mState;
+ int mTimer,mTimer1;
+ static const int PERIOD;
+ static const char BGM_FILENAME[sf::system::MAX_PATH_];
+
+};
+ }
+ }
+}
+#endif // !defined(AFX_OVER_H__C67DB1AA_0291_4628_89CF_8BBB317B97A6__INCLUDED_)
--- /dev/null
+========================================================================
+ \83_\83C\83i\83~\83b\83N \83\8a\83\93\83N \83\89\83C\83u\83\89\83\8a : s2001scene
+========================================================================
+
+
+AppWizard \82Í\82±\82Ì s2001scene DLL \82ð\8dì\90¬\82µ\82Ü\82µ\82½\81B
+
+\82±\82Ì\83t\83@\83C\83\8b\82É\82Í s2001scene \83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ð\8d\\90¬\82µ\82Ä\82¢\82é\8ae\83t\83@\83C\83\8b\82Ì\8aT\97v
+\90à\96¾\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82Ü\82·\81B
+
+s2001scene.dsp
+ \82±\82Ì\83t\83@\83C\83\8b (\83v\83\8d\83W\83F\83N\83g \83t\83@\83C\83\8b) \82Í\83v\83\8d\83W\83F\83N\83g \83\8c\83x\83\8b\82Ì\8fî\95ñ\82ð\8aÜ\82Ý\81A
+ \83V\83\93\83O\83\8b \83v\83\8d\83W\83F\83N\83g\82Ü\82½\82Í\83T\83u \83v\83\8d\83W\83F\83N\83g\82Ì\83r\83\8b\83h\82É\8eg\97p\82³\82ê\82Ü\82·\81B\91¼\82Ì
+ \83\86\81[\83U\81[\82Æ\83v\83\8d\83W\83F\83N\83g \83t\83@\83C\83\8b (.dsp) \82ð\8b¤\97L\82Å\82«\82Ü\82·\82ª\81A\83\81\83C\83N \83t\83@\83C\83\8b
+ \82Í\83\8d\81[\83J\83\8b\82É\83G\83N\83X\83|\81[\83g\82µ\82Ä\82\82¾\82³\82¢\81B
+s2001scene.cpp
+ \82±\82Ì\83t\83@\83C\83\8b\82Í DLL \82Ì\92\86\90S\82Æ\82È\82é\83\\81[\83X \83t\83@\83C\83\8b\82Å\82·\81B
+
+ \8dì\90¬\82³\82ê\82½\8fó\91Ô\82Å\82Í\81A\82±\82Ì DLL \82Í\83V\83\93\83{\83\8b\82Ì\83G\83N\83X\83|\81[\83g\82ð\8ds\82Á\82Ä\82¢\82Ü\82¹\82ñ\81B
+ \82»\82Ì\82½\82ß\83r\83\8b\83h\82ð\8ds\82Á\82Ä\82à .LIB \83t\83@\83C\83\8b\82Í\8dì\90¬\82³\82ê\82Ü\82¹\82ñ\81B\82±\82Ì\83v\83\8d\83W\83F\83N\83g\82ð
+ \91¼\82Ì\83v\83\8d\83W\83F\83N\83g\82É\88Ë\91¶\8aÖ\8cW\82ð\8e\9d\82½\82¹\82½\82¢\8fê\8d\87\82É\82Í\81A\82±\82Ì DLL \82©\82ç\83V\83\93\83{\83\8b\82ð
+ \83G\83N\83X\83|\81[\83g\82·\82é\82½\82ß\82Ì\83R\81[\83h\82ð\92Ç\89Á\82µ\82Ä\83\89\83C\83u\83\89\83\8a\82Ì\83G\83N\83X\83|\81[\83g\82ð\8ds\82¢\81A
+ \83v\83\8d\83W\83F\83N\83g\90Ý\92è\82Ì [\83\8a\83\93\83N] \83^\83u\8fã\82Å [LIB \83t\83@\83C\83\8b\82ð\90¶\90¬\82µ\82È\82¢] \83I\83v\83V\83\87\83\93
+ \82ð\83N\83\8a\83A\82·\82é\95K\97v\82ª\82 \82è\82Ü\82·\81B
+
+/////////////////////////////////////////////////////////////////////////////
+\82»\82Ì\91¼\82Ì\95W\8f\80\83t\83@\83C\83\8b:
+
+StdAfx.h, StdAfx.cpp
+ \82±\82ê\82ç\82Ì\83t\83@\83C\83\8b\82Í\83v\83\8a\83R\83\93\83p\83C\83\8b\8dÏ\82Ý\83w\83b\83_\81[\83t\83@\83C\83\8b (PCH) s2001scene.pch
+ \82â\83v\83\8a\83R\83\93\83p\83C\83\8b\8dÏ\82Ý\8c^\83t\83@\83C\83\8b StdAfx.obj \82ð\8d\\92z\82·\82é\82½\82ß\82É\8eg\97p\82³\82ê\82Ü\82·\81B
+
+
+/////////////////////////////////////////////////////////////////////////////
+\82»\82Ì\91¼\82Ì\92\8d\88Ó:
+
+AppWizard \82Í "TODO:" \82Å\8en\82Ü\82é\83R\83\81\83\93\83g\82Å\81A\83\\81[\83X\83R\81[\83h\82Ì\92Ç\89Á\82â\83J\83X\83^\83}\83C\83Y\82Ì\95K\97v
+\82È\8fê\8f\8a\82ð\8e¦\82µ\82Ü\82·\81B
+
+
+/////////////////////////////////////////////////////////////////////////////
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// Restart.cpp: Restart \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// $Log: Restart.cpp,v $
+// Revision 1.1 2001/10/28 21:40:36 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.4 2001/07/09 20:30:09 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.3 2001/07/01 21:30:34 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.2 2001/05/12 00:49:17 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+#include <stack>
+#include <list>
+
+#include "exception.h"
+#include "system.h"
+#include "sound.h"
+#include "console.h"
+#include "Obj.h"
+#include "Obj2D.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+#include "input.h"
+#include "Scene.h"
+#include "s2001.h"
+#include "main.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "AbstractScene.h"
+#include "RestartImpl.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+using namespace sf::application::scene;
+
+RestartImpl::RestartImpl()
+{
+
+}
+
+RestartImpl::~RestartImpl()
+{
+
+}
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// RestartImpl.h: RestartImpl \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \97\9a\97ð\81F
+// $Log: RestartImpl.h,v $
+// Revision 1.1 2001/10/28 21:40:36 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.2 2001/05/12 00:49:17 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_RESTART_H__69987E67_DBE2_4526_A550_10B6C29D049E__INCLUDED_)
+#define AFX_RESTART_H__69987E67_DBE2_4526_A550_10B6C29D049E__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "AbstractScene.h"
+namespace sf {
+ namespace application {
+ namespace scene {
+
+class RestartImpl : public AbstractScene
+{
+public:
+ RestartImpl();
+ virtual ~RestartImpl();
+
+};
+ }
+ }
+}
+
+#endif // !defined(AFX_RESTART_H__69987E67_DBE2_4526_A550_10B6C29D049E__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// StartImpl.cpp: StartImpl \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// $Log: StartImpl.cpp,v $
+// Revision 1.1 2001/10/28 21:40:37 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.5 2001/07/09 20:30:10 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.4 2001/07/01 21:30:34 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.3 2001/07/01 01:03:44 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.2 2001/05/12 00:48:55 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+
+#include <stack>
+#include <list>
+#include <vector>
+#include <map>
+
+#include "exception.h"
+#include "system.h"
+#include "sound.h"
+#include "console.h"
+#include "Obj.h"
+#include "Obj2D.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+#include "input.h"
+#include "Scene.h"
+#include "s2001.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "main.h"
+#include "fade.h" //\83t\83F\81[\83h\83C\83\93\81A\83t\83F\81[\83h\83A\83E\83g\83V\81[\83\93
+#include "AbstractScene.h"
+#include "StartImpl.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+using namespace sf::application::scene;
+
+
+const int StartImpl::PERIOD = 1000 / sf::system::TIMER_INTERVAL * 3;
+const char StartImpl::BGM_FILENAME[sf::system::MAX_PATH_] = "select.sgt";
+
+StartImpl::StartImpl()
+{
+ mTimer = PERIOD;
+ mTimer1 = 0;
+ mState = INITIALIZE;
+ mpScene = NULL;
+}// StartImpl()
+
+StartImpl::~StartImpl()
+{
+ if(mpScene)
+ delete mpScene;
+}// ~StartImpl()
+
+// \83X\83P\83W\83\85\81[\83\89 ---------------------------------------------------------------
+void StartImpl::move(void)
+{
+ switch(mState)
+ {
+ case INITIALIZE:
+ initialize();
+ return;
+ case FADE_IN:
+ fadeIn();
+ return;
+ case MAIN:
+ main();
+ return;
+ }
+}// move()
+
+// \8f\89\8aú\89» --------------------------------------------------------------------
+void StartImpl::initialize()
+{
+ Fade* pfade;
+
+ mpSound->load(0,BGM_FILENAME);
+
+ mState = MAIN;
+
+ // \83t\83F\81[\83h\83C\83\93\90Ý\92è
+ mpScene = scene::createScene(FADE);
+ mpScene->addListener(this);
+
+ // \83t\83F\81[\83h\83I\83u\83W\83F\83N\83g\8cÅ\97L\91®\90«\82É\83A\83N\83Z\83X
+ pfade = dynamic_cast<Fade *>(mpScene);
+ pfade->startColor(0xff000000);
+ pfade->endColor(0x00000000);
+ pfade->speed(0.05f);
+ pfade->fadeType(Fade::FADE_IN);
+ pfade->fadeVolumeFlag(false);
+
+ mState = FADE_IN;
+ sleep();
+}// intialize()
+
+//\81@\83\81\83C\83\93 \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+bool StartImpl::main()
+{
+ mTimer --;
+
+ if(mpInput->exit(true))
+ {
+ exitKeyPressed(this);
+ return true;
+// return end();
+ }
+
+ if(!mTimer){
+ return end();
+ }
+
+// mpMain->printPlayerInfo();
+ printMessage();
+
+ return true;
+}// main()
+
+//\81@\8fI\97¹\8f\88\97\9d\81@\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+bool StartImpl::end()
+{
+ callSceneEvent(&Listener::endOfScene);
+ delete this;
+ return true;
+}// end()
+
+// \83t\83F\81[\83h\83C\83\93 \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+bool StartImpl::fadeIn()
+{
+ printMessage();
+ return true;
+}// fadeIn()
+
+// \83t\83F\81[\83h\83C\83\93\82Ì\8fI\97¹ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void StartImpl::endOfScene(Scene *pScene)
+{
+ switch(mState)
+ {
+ case FADE_IN:
+ // BGM \89\89\91t\8aJ\8en
+ active();
+ mpSound->play(0,1,true,true);
+ mState = MAIN;
+ mpScene = NULL;
+ break;
+ }
+}// endOfScene()
+
+// \83t\83F\81[\83h\83C\83\93\92\86\82É\82d\82w\82h\82s\83L\81[\82ª\89\9f\82³\82ê\82½\81I\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void StartImpl::exitKeyPressed(Scene *pScene)
+{
+ callSceneEvent(&Listener::exitKeyPressed);
+ delete this;
+}// exitKeyPressed()
+
+// \83X\83^\81[\83g\83\81\83b\83Z\81[\83W\82Ì\95\\8e¦ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void StartImpl::printMessage()
+{
+ using namespace sf::system::console;
+
+ mTimer1 ++;
+
+ // \83X\83^\81[\83g\95¶\8e\9a\97ñ\82ð\83u\83\8a\83\93\83N\95\\8e¦
+ if(mTimer1 & 0x8)
+ {
+ mpConsole->print(
+ 0,
+ viewport::X + viewport::WIDTH / 2.0f - 12.0f / 2.0f * text::COLUMN_PITCH,
+ viewport::Y + viewport::HEIGHT / 8.0f,
+ 0.0f,
+ 1.0f,
+ 0xffffffff,
+ "Game StartImpl!!");
+ }
+
+}// printMessage()
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// StartImpl.h: StartImpl \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \97\9a\97ð\81F
+// $Log: StartImpl.h,v $
+// Revision 1.1 2001/10/28 21:40:37 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.4 2001/07/09 20:30:10 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.3 2001/07/01 01:03:44 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.2 2001/05/12 00:48:55 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_START_H__60D87C34_6643_4E80_B0EB_3F418B3889C7__INCLUDED_)
+#define AFX_START_H__60D87C34_6643_4E80_B0EB_3F418B3889C7__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "AbstractScene.h"
+namespace sf {
+ namespace application {
+ namespace scene {
+
+
+class StartImpl : public AbstractScene
+{
+ // LIFECYCLE //
+public:
+ void endOfScene(Scene * const pScene);
+ void exitKeyPressed(Scene * const pScene);
+ StartImpl();
+ virtual ~StartImpl();
+ // OPERATORS //
+ // OPERATIONS //
+ void move(void);
+ // ACCESS //
+ const TYPE type() const {return START;};
+ // INQUIRY //
+private:
+ void printMessage();
+ bool end();
+ bool main();
+ bool fadeIn();
+ void initialize();
+ enum STATE {
+ INITIALIZE,
+ FADE_IN,
+ MAIN,
+ END
+ } mState;
+
+ int mTimer,mTimer1;
+ Scene *mpScene;
+
+ static const int PERIOD;
+ static const char BGM_FILENAME[sf::system::MAX_PATH_];
+};
+ }
+ }
+}
+
+#endif // !defined(AFX_START_H__60D87C34_6643_4E80_B0EB_3F418B3889C7__INCLUDED_)
--- /dev/null
+// stdafx.cpp : \95W\8f\80\83C\83\93\83N\83\8b\81[\83h\83t\83@\83C\83\8b\82ð\8aÜ\82Þ\83\\81[\83X \83t\83@\83C\83\8b
+// s2001scene.pch \90¶\90¬\82³\82ê\82é\83v\83\8a\83R\83\93\83p\83C\83\8b\8dÏ\83w\83b\83_\81[
+// stdafx.obj \90¶\90¬\82³\82ê\82é\83v\83\8a\83R\83\93\83p\83C\83\8b\8dÏ\83^\83C\83v\8fî\95ñ
+
+#include "stdafx.h"
+
+// TODO: STDAFX.H \82É\8aÜ\82Ü\82ê\82Ä\82¢\82Ä\81A\82±\82Ì\83t\83@\83C\83\8b\82É\8bL\8fq\82³\82ê\82Ä\82¢\82È\82¢
+// \83w\83b\83_\81[\83t\83@\83C\83\8b\82ð\92Ç\89Á\82µ\82Ä\82\82¾\82³\82¢\81B
--- /dev/null
+// stdafx.h : \95W\8f\80\82Ì\83V\83X\83e\83\80 \83C\83\93\83N\83\8b\81[\83h \83t\83@\83C\83\8b\81A
+// \82Ü\82½\82Í\8eQ\8fÆ\89ñ\90\94\82ª\91½\82\81A\82©\82Â\82 \82Ü\82è\95Ï\8dX\82³\82ê\82È\82¢
+// \83v\83\8d\83W\83F\83N\83g\90ê\97p\82Ì\83C\83\93\83N\83\8b\81[\83h \83t\83@\83C\83\8b\82ð\8bL\8fq\82µ\82Ü\82·\81B
+//
+
+#if !defined(AFX_STDAFX_H__DDC02B52_EF1C_443A_B453_ABFD7CA69CEA__INCLUDED_)
+#define AFX_STDAFX_H__DDC02B52_EF1C_443A_B453_ABFD7CA69CEA__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+
+// \82±\82Ì\88Ê\92u\82É\83w\83b\83_\81[\82ð\91}\93ü\82µ\82Ä\82\82¾\82³\82¢
+#define WIN32_LEAN_AND_MEAN // Windows \83w\83b\83_\81[\82©\82ç\96w\82Ç\8eg\97p\82³\82ê\82È\82¢\83X\83^\83b\83t\82ð\8f\9c\8aO\82µ\82Ü\82·
+
+#include <windows.h>
+
+#ifdef S2001SCENE_EXPORTS
+ #define S2001SCENE_DLL __declspec(dllexport)
+#else
+ #define S2001SCENE_DLL __declspec(dllimport)
+#endif
+
+// TODO: \83v\83\8d\83O\83\89\83\80\82Å\95K\97v\82È\83w\83b\83_\81[\8eQ\8fÆ\82ð\92Ç\89Á\82µ\82Ä\82\82¾\82³\82¢\81B
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft Visual C++ \82Í\91O\8ds\82Ì\92¼\91O\82É\92Ç\89Á\82Ì\90é\8c¾\82ð\91}\93ü\82µ\82Ü\82·\81B
+
+#endif // !defined(AFX_STDAFX_H__DDC02B52_EF1C_443A_B453_ABFD7CA69CEA__INCLUDED_)
--- /dev/null
+// SystemWin32.cpp: SystemWin32 \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+//
+//////////////////////////////////////////////////////////////////////
+
+#include "stdafx.h"
+#include "SystemWin32.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+
+SystemWin32::SystemWin32()
+{
+
+}
+
+SystemWin32::~SystemWin32()
+{
+
+}
--- /dev/null
+// SystemWin32.h: SystemWin32 \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+//
+//////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_SYSTEMWIN32_H__2A496587_75EC_4A9C_898E_69B0ACA87242__INCLUDED_)
+#define AFX_SYSTEMWIN32_H__2A496587_75EC_4A9C_898E_69B0ACA87242__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+class SystemWin32
+{
+public:
+ SystemWin32();
+ virtual ~SystemWin32();
+
+};
+
+#endif // !defined(AFX_SYSTEMWIN32_H__2A496587_75EC_4A9C_898E_69B0ACA87242__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// TitleImpl.cpp: TitleImpl \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+// $Log: TitleImpl.cpp,v $
+// Revision 1.1 2001/10/28 21:40:37 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.5 2001/07/09 20:30:10 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.4 2001/07/01 21:30:34 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.3 2001/07/01 01:03:45 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.2 2001/05/12 00:48:42 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+#include <stack>
+#include <list>
+
+#include "exception.h"
+#include "system.h"
+#include "sound.h"
+#include "console.h"
+#include "Obj.h"
+#include "Obj2D.h"
+#include "Obj3D.h"
+#include "Obj3DL.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+#include "input.h"
+#include "Scene.h"
+#include "s2001.h"
+#include "main.h"
+#include "AbstractScene.h"
+#include "Fade.h"
+
+#include "TitleImpl.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+using namespace sf::application::scene;
+using namespace sf::system;
+const int TitleImpl::PERIOD = 1000 / TIMER_INTERVAL * 10;//(10 Sec)
+
+//const console::sprite::Info TitleImpl::SPRITE_INFO =
+// { "media\\test.x",0.0f,0.0f,0.0f,0.0f,0xff000000,console::sprite::MESH};
+
+const console::sprite::Info TitleImpl::SPRITE_INFO_TITLE =
+ { "media\\title.png",0.0f,0.0f,0.0f,0.0f,0xff000000,console::sprite::SPRITE3D};
+
+// \83R\83\93\83X\83g\83\89\83N\83^ -------------------------------------------------------------
+TitleImpl::TitleImpl() : AbstractScene()
+{
+ mTimer = 0;
+ mState = INITIALIZE;
+ //mpSpriteMyShip =
+ mpSpriteTitle = NULL;
+
+}// TitleImpl::TitleImpl()
+
+//\83f\83X\83g\83\89\83N\83^ ----------------------------------------------------------------
+TitleImpl::~TitleImpl()
+{
+// delete mpSpriteMyShip;
+ delete mpSpriteTitle;
+
+}// TitleImpl::~TitleImpl()
+
+// \83t\83\8c\81[\83\80\8f\88\97\9d ---------------------------------------------------------------
+void TitleImpl::move(void)
+{
+
+ switch(mState)
+ {
+ case INITIALIZE:
+ initialize();
+ return;
+ // \83\81\83C\83\93 -------------------------------------
+ case MAIN:
+ main();
+ return;
+ case END:
+ ;
+ }
+}// TitleImpl::move()
+
+//TitleImpl Scene \82Ì\8fI\97¹ ---------------------------------------------------------
+void TitleImpl::endOfScene(Scene * const pScene)
+{
+ callSceneEvent(&Listener::endOfScene);
+ delete this;
+} //endOfScene()
+
+// exit key \82ª\89\9f\82³\82ê\82½\81I ------------------------------------------------------
+void TitleImpl::exitKeyPressed(Scene * const pScene)
+{
+ callSceneEvent(&Listener::exitKeyPressed);
+ delete this;
+} //endOfScene()
+
+// \8f\89\8aú\89» ----------------------------------------------------------------------
+void TitleImpl::initialize()
+{
+
+ mpSound->load(0,"select.sgt");
+
+// if(NULL == (mpSpriteMyShip = mpConsole->createSprite(&SPRITE_INFO)) )
+// {
+// mpSystem->outputError("TitleImpl.move():Bitmap File Load Error");
+// return false;
+// }
+
+ mpSpriteTitle = mpConsole->createSprite(&SPRITE_INFO_TITLE);
+
+ mState = MAIN;
+
+ // \83^\83C\83g\83\8b\83r\83b\83g\83}\83b\83v\82Ì\83Z\83b\83g\83A\83b\83v
+/* mTitleObj.color(0xffffffff);
+ mTitleObj.specular(0xff000000);
+
+ mTitleObj.x(system::console::viewport::X + system::console::viewport::WIDTH / 2.0f);
+ mTitleObj.y(system::console::viewport::Y + 300.0f);
+
+ mTitleObj.z(0.5f);
+ mTitleObj.sprite(mpSpriteMyShip);
+ mTitleObj.visibility(true);
+*/
+ // \83^\83C\83g\83\8b\83r\83b\83g\83}\83b\83v\82Ì\83Z\83b\83g\83A\83b\83v
+ mTitleObj1.color(0xffffffff);
+ mTitleObj1.specular(0xff000000);
+
+ mTitleObj1.x(system::console::viewport::X + system::console::viewport::WIDTH / 2.0f);
+ mTitleObj1.y(system::console::viewport::Y + 100.0f);
+
+ mTitleObj1.z(0.0f);
+ mTitleObj1.sprite(mpSpriteTitle);
+ mTitleObj1.visibility(true);
+
+ // \83t\83F\81[\83h\83C\83\93\90Ý\92è
+ Fade *pfade = dynamic_cast<Fade*>(scene::createScene(FADE));
+ pfade->startColor(0xff000000);
+ pfade->endColor(0x00000000);
+ pfade->speed(0.02f);
+ pfade->fadeType(Fade::FADE_IN);
+ pfade->fadeVolumeFlag(true);
+
+ mState = MAIN;
+ mSoundID = sf::system::instance()->sound()->load("title.wav");
+ sf::system::instance()->sound()->play(mSoundID,0,false,false);
+
+}// initialize();
+
+// \83V\81[\83\93\82Ì\83\81\83C\83\93 ------------------------------------------------------------
+void TitleImpl::main()
+{
+ mTimer ++;
+ float r = PI * 2.0f / 1024.0f * (float)(mTimer & 0x3ff);
+// mTitleObj.angleX(r);
+// mTitleObj.angleY(r);
+
+ mTitleObj1.angleX(r);
+
+ // \83X\83^\81[\83g\89æ\96Ê\82Ì\95\\8e¦
+ if(mTimer & 0x10)
+ {
+ mpConsole->print(
+ 0,
+ system::console::viewport::X + system::console::viewport::WIDTH / 2 - 144.0f,
+ system::console::viewport::Y + 300.0f,
+ 0.0f,1.0f,0xffffffff,"Start Game: A Button Or Space Key");
+ mpConsole->print(
+ 0,
+ system::console::viewport::X + system::console::viewport::WIDTH / 2 - 135.0f,
+ system::console::viewport::Y + 310.0f,
+ 0.0f,1.0f,0xffffffff,"Exit Game: ESC Key");
+
+ } else {
+ mpConsole->print(
+ 0,
+ system::console::viewport::X + system::console::viewport::WIDTH / 2 - 144.0f,
+ system::console::viewport::Y + 300.0f,
+ 0.0f,1.0f,0x80ffffff,"Start Game: A Button Or Space Key");
+
+ mpConsole->print(
+ 0,
+ system::console::viewport::X + system::console::viewport::WIDTH / 2 - 135.0f,
+ system::console::viewport::Y + 310.0f,
+ 0.0f,1.0f,0x80ffffff,"Exit Game: ESC Key");
+
+ }
+
+ // \82d\82w\82h\82s\83L\81[\82ª\89\9f\82³\82ê\82½\82©\81H
+ if(mpInput->exit(true)) {
+ exitKeyPressed(this);
+ return;
+ }
+
+ // \83X\83^\81[\82Æ\83L\81[\82ª\89\9f\82³\82ê\82½\82©\81H
+ if(mpInput->start(true)){
+ mpSound->play(0,1,true,true);
+ endOfScene(this);
+ scene::createScene(GAME);
+ }
+
+}// main()
+
+
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// TitleImpl.h: TitleImpl \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// $Log: TitleImpl.h,v $
+// Revision 1.1 2001/10/28 21:40:37 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.4 2001/07/09 20:30:10 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.3 2001/07/01 01:03:45 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.2 2001/05/12 00:48:42 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+
+
+#if !defined(AFX_TITLE_H__CD1C05DB_BB7E_4086_83DE_55E203830952__INCLUDED_)
+#define AFX_TITLE_H__CD1C05DB_BB7E_4086_83DE_55E203830952__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "AbstractScene.h"
+namespace sf {
+ namespace application {
+ namespace scene {
+
+class TitleImpl : public AbstractScene
+{
+public:
+ TitleImpl();
+ virtual ~TitleImpl();
+ void move(void);
+ void endOfScene(Scene * const pScene);
+ void exitKeyPressed(Scene * const pScene);
+
+ virtual const TYPE type() const{return TITLE;};
+private:
+ void main();
+ void initialize();
+
+
+ enum STATE {
+ INITIALIZE,
+ MAIN,
+ END
+ };
+
+ int mTimer;
+ STATE mState;
+ int mSoundID;
+// system::console::Obj3DL mTitleObj;
+ system::console::Obj3DL mTitleObj1;
+// system::console::sprite::Sprite *mpSpriteMyShip;
+ system::console::sprite::Sprite *mpSpriteTitle;
+
+ static const int PERIOD;
+// static const system::console::sprite::Info SPRITE_INFO;
+ static const system::console::sprite::Info SPRITE_INFO_TITLE;
+
+};// TitleImpl
+
+ }// scene
+ }// appplication
+}// sf
+
+#endif // !defined(AFX_TITLE_H__CD1C05DB_BB7E_4086_83DE_55E203830952__INCLUDED_)
--- /dev/null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma warning(disable:4001)
+#pragma warning(disable:4201)
+#pragma warning(disable:4214)
+#pragma warning(disable:4514)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+
+
+extern "C" {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef enum _EXCEPTION_DISPOSITION {
+ ExceptionContinueExecution,
+ ExceptionContinueSearch,
+ ExceptionNestedException,
+ ExceptionCollidedUnwind
+} EXCEPTION_DISPOSITION;
+
+
+
+
+
+
+
+
+
+
+
+struct _EXCEPTION_RECORD;
+struct _CONTEXT;
+
+EXCEPTION_DISPOSITION __cdecl _except_handler (
+ struct _EXCEPTION_RECORD *ExceptionRecord,
+ void * EstablisherFrame,
+ struct _CONTEXT *ContextRecord,
+ void * DispatcherContext
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+unsigned long __cdecl _exception_code(void);
+void * __cdecl _exception_info(void);
+int __cdecl _abnormal_termination(void);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+
+
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+
+
+extern "C" {
+
+
+
+
+
+
+
+
+
+
+
+typedef char * va_list;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+
+
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+
+
+
+
+
+
+
+
+
+
+
+
+typedef unsigned long ULONG;
+typedef ULONG *PULONG;
+typedef unsigned short USHORT;
+typedef USHORT *PUSHORT;
+typedef unsigned char UCHAR;
+typedef UCHAR *PUCHAR;
+typedef char *PSZ;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef unsigned long DWORD;
+typedef int BOOL;
+typedef unsigned char BYTE;
+typedef unsigned short WORD;
+typedef float FLOAT;
+typedef FLOAT *PFLOAT;
+typedef BOOL *PBOOL;
+typedef BOOL *LPBOOL;
+typedef BYTE *PBYTE;
+typedef BYTE *LPBYTE;
+typedef int *PINT;
+typedef int *LPINT;
+typedef WORD *PWORD;
+typedef WORD *LPWORD;
+typedef long *LPLONG;
+typedef DWORD *PDWORD;
+typedef DWORD *LPDWORD;
+typedef void *LPVOID;
+typedef const void *LPCVOID;
+
+typedef int INT;
+typedef unsigned int UINT;
+typedef unsigned int *PUINT;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef unsigned short wchar_t;
+
+
+
+
+
+typedef wchar_t wint_t;
+typedef wchar_t wctype_t;
+
+
+
+
+
+
+
+
+
+
+ extern unsigned short _ctype[];
+ extern unsigned short *_pctype;
+
+ extern wctype_t *_pwctype;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ int __cdecl _isctype(int, int);
+ int __cdecl isalpha(int);
+ int __cdecl isupper(int);
+ int __cdecl islower(int);
+ int __cdecl isdigit(int);
+ int __cdecl isxdigit(int);
+ int __cdecl isspace(int);
+ int __cdecl ispunct(int);
+ int __cdecl isalnum(int);
+ int __cdecl isprint(int);
+ int __cdecl isgraph(int);
+ int __cdecl iscntrl(int);
+ int __cdecl toupper(int);
+ int __cdecl tolower(int);
+ int __cdecl _tolower(int);
+ int __cdecl _toupper(int);
+ int __cdecl __isascii(int);
+ int __cdecl __toascii(int);
+ int __cdecl __iscsymf(int);
+ int __cdecl __iscsym(int);
+
+
+
+
+
+
+
+
+
+
+
+ int __cdecl iswalpha(wint_t);
+ int __cdecl iswupper(wint_t);
+ int __cdecl iswlower(wint_t);
+ int __cdecl iswdigit(wint_t);
+ int __cdecl iswxdigit(wint_t);
+ int __cdecl iswspace(wint_t);
+ int __cdecl iswpunct(wint_t);
+ int __cdecl iswalnum(wint_t);
+ int __cdecl iswprint(wint_t);
+ int __cdecl iswgraph(wint_t);
+ int __cdecl iswcntrl(wint_t);
+ int __cdecl iswascii(wint_t);
+ int __cdecl isleadbyte(int);
+
+ wchar_t __cdecl towupper(wchar_t);
+ wchar_t __cdecl towlower(wchar_t);
+
+ int __cdecl iswctype(wint_t, wctype_t);
+
+
+ int __cdecl is_wctype(wint_t, wctype_t);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ extern int __mb_cur_max;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef unsigned long POINTER_64_INT;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+
+
+
+
+
+
+typedef int LONG32, *PLONG32;
+typedef int INT32, *PINT32;
+
+
+
+
+
+typedef unsigned int ULONG32, *PULONG32;
+typedef unsigned int DWORD32, *PDWORD32;
+typedef unsigned int UINT32, *PUINT32;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef long INT_PTR, *PINT_PTR;
+typedef unsigned long UINT_PTR, *PUINT_PTR;
+
+
+
+
+
+typedef unsigned short UHALF_PTR, *PUHALF_PTR;
+typedef short HALF_PTR, *PHALF_PTR;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef UINT_PTR SIZE_T, *PSIZE_T;
+typedef INT_PTR SSIZE_T, *PSSIZE_T;
+
+
+
+
+
+typedef __int64 LONG64, *PLONG64;
+typedef __int64 INT64, *PINT64;
+
+
+
+
+
+
+typedef unsigned __int64 ULONG64, *PULONG64;
+typedef unsigned __int64 DWORD64, *PDWORD64;
+typedef unsigned __int64 UINT64, *PUINT64;
+
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef void *PVOID;
+typedef void * PVOID64;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef char CHAR;
+typedef short SHORT;
+typedef long LONG;
+
+
+
+
+
+
+
+typedef wchar_t WCHAR;
+
+
+
+
+
+typedef WCHAR *PWCHAR;
+typedef WCHAR *LPWCH, *PWCH;
+typedef const WCHAR *LPCWCH, *PCWCH;
+typedef WCHAR *NWPSTR;
+typedef WCHAR *LPWSTR, *PWSTR;
+
+typedef const WCHAR *LPCWSTR, *PCWSTR;
+
+
+
+
+typedef CHAR *PCHAR;
+typedef CHAR *LPCH, *PCH;
+
+typedef const CHAR *LPCCH, *PCCH;
+typedef CHAR *NPSTR;
+typedef CHAR *LPSTR, *PSTR;
+typedef const CHAR *LPCSTR, *PCSTR;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef char TCHAR, *PTCHAR;
+typedef unsigned char TBYTE , *PTBYTE ;
+
+
+
+typedef LPSTR LPTCH, PTCH;
+typedef LPSTR PTSTR, LPTSTR;
+typedef LPCSTR LPCTSTR;
+
+
+
+
+
+
+typedef SHORT *PSHORT;
+typedef LONG *PLONG;
+
+
+typedef void *HANDLE;
+
+
+
+
+
+typedef HANDLE *PHANDLE;
+
+
+
+
+
+typedef BYTE FCHAR;
+typedef WORD FSHORT;
+typedef DWORD FLONG;
+
+
+
+
+
+typedef LONG HRESULT;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef char CCHAR;
+typedef DWORD LCID;
+typedef PDWORD PLCID;
+typedef WORD LANGID;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _FLOAT128 {
+ __int64 LowPart;
+ __int64 HighPart;
+} FLOAT128;
+
+typedef FLOAT128 *PFLOAT128;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef __int64 LONGLONG;
+typedef unsigned __int64 ULONGLONG;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef LONGLONG *PLONGLONG;
+typedef ULONGLONG *PULONGLONG;
+
+
+
+typedef LONGLONG USN;
+
+
+
+
+typedef union _LARGE_INTEGER {
+ struct {
+ DWORD LowPart;
+ LONG HighPart;
+ };
+ struct {
+ DWORD LowPart;
+ LONG HighPart;
+ } u;
+
+ LONGLONG QuadPart;
+} LARGE_INTEGER;
+
+typedef LARGE_INTEGER *PLARGE_INTEGER;
+
+
+
+
+
+typedef union _ULARGE_INTEGER {
+ struct {
+ DWORD LowPart;
+ DWORD HighPart;
+ };
+ struct {
+ DWORD LowPart;
+ DWORD HighPart;
+ } u;
+
+ ULONGLONG QuadPart;
+} ULARGE_INTEGER;
+
+typedef ULARGE_INTEGER *PULARGE_INTEGER;
+
+
+
+
+
+
+
+
+typedef struct _LUID {
+ DWORD LowPart;
+ LONG HighPart;
+} LUID, *PLUID;
+
+
+typedef ULONGLONG DWORDLONG;
+typedef DWORDLONG *PDWORDLONG;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ULONGLONG
+__stdcall
+Int64ShllMod32 (
+ ULONGLONG Value,
+ DWORD ShiftCount
+ );
+
+LONGLONG
+__stdcall
+Int64ShraMod32 (
+ LONGLONG Value,
+ DWORD ShiftCount
+ );
+
+ULONGLONG
+__stdcall
+Int64ShrlMod32 (
+ ULONGLONG Value,
+ DWORD ShiftCount
+ );
+
+#pragma warning(disable:4035)
+
+__inline ULONGLONG
+__stdcall
+Int64ShllMod32 (
+ ULONGLONG Value,
+ DWORD ShiftCount
+ )
+{
+ __asm {
+ mov ecx, ShiftCount
+ mov eax, dword ptr [Value]
+ mov edx, dword ptr [Value+4]
+ shld edx, eax, cl
+ shl eax, cl
+ }
+}
+
+__inline LONGLONG
+__stdcall
+Int64ShraMod32 (
+ LONGLONG Value,
+ DWORD ShiftCount
+ )
+{
+ __asm {
+ mov ecx, ShiftCount
+ mov eax, dword ptr [Value]
+ mov edx, dword ptr [Value+4]
+ shrd eax, edx, cl
+ sar edx, cl
+ }
+}
+
+__inline ULONGLONG
+__stdcall
+Int64ShrlMod32 (
+ ULONGLONG Value,
+ DWORD ShiftCount
+ )
+{
+ __asm {
+ mov ecx, ShiftCount
+ mov eax, dword ptr [Value]
+ mov edx, dword ptr [Value+4]
+ shrd eax, edx, cl
+ shr edx, cl
+ }
+}
+
+#pragma warning(default:4035)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef BYTE BOOLEAN;
+typedef BOOLEAN *PBOOLEAN;
+
+
+
+
+
+typedef struct _LIST_ENTRY {
+ struct _LIST_ENTRY *Flink;
+ struct _LIST_ENTRY *Blink;
+} LIST_ENTRY, *PLIST_ENTRY, * PRLIST_ENTRY;
+
+
+
+
+
+
+typedef struct _SINGLE_LIST_ENTRY {
+ struct _SINGLE_LIST_ENTRY *Next;
+} SINGLE_LIST_ENTRY, *PSINGLE_LIST_ENTRY;
+
+
+
+
+
+
+
+
+typedef struct _GUID {
+ DWORD Data1;
+ WORD Data2;
+ WORD Data3;
+ BYTE Data4[8];
+} GUID;
+
+
+
+
+
+
+typedef struct _OBJECTID {
+ GUID Lineage;
+ DWORD Uniquifier;
+} OBJECTID;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef UINT_PTR KSPIN_LOCK;
+typedef KSPIN_LOCK *PKSPIN_LOCK;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+struct _TEB *
+NtCurrentTeb(void);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma warning(disable:4164)
+
+
+#pragma function(_enable)
+#pragma function(_disable)
+
+
+#pragma warning(default:4164)
+
+
+
+
+
+
+#pragma warning (disable:4035)
+_inline PVOID GetFiberData( void ) { __asm {
+ mov eax, fs:[0x10]
+ mov eax,[eax]
+ }
+ }
+_inline PVOID GetCurrentFiber( void ) { __asm mov eax, fs:[0x10] }
+
+#pragma warning (default:4035)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _FLOATING_SAVE_AREA {
+ DWORD ControlWord;
+ DWORD StatusWord;
+ DWORD TagWord;
+ DWORD ErrorOffset;
+ DWORD ErrorSelector;
+ DWORD DataOffset;
+ DWORD DataSelector;
+ BYTE RegisterArea[80];
+ DWORD Cr0NpxState;
+} FLOATING_SAVE_AREA;
+
+typedef FLOATING_SAVE_AREA *PFLOATING_SAVE_AREA;
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _CONTEXT {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DWORD ContextFlags;
+
+
+
+
+
+
+
+ DWORD Dr0;
+ DWORD Dr1;
+ DWORD Dr2;
+ DWORD Dr3;
+ DWORD Dr6;
+ DWORD Dr7;
+
+
+
+
+
+
+ FLOATING_SAVE_AREA FloatSave;
+
+
+
+
+
+
+ DWORD SegGs;
+ DWORD SegFs;
+ DWORD SegEs;
+ DWORD SegDs;
+
+
+
+
+
+
+ DWORD Edi;
+ DWORD Esi;
+ DWORD Ebx;
+ DWORD Edx;
+ DWORD Ecx;
+ DWORD Eax;
+
+
+
+
+
+
+ DWORD Ebp;
+ DWORD Eip;
+ DWORD SegCs;
+ DWORD EFlags;
+ DWORD Esp;
+ DWORD SegSs;
+
+
+
+
+
+
+
+ BYTE ExtendedRegisters[512];
+
+} CONTEXT;
+
+
+
+typedef CONTEXT *PCONTEXT;
+
+
+
+
+
+
+
+
+
+typedef struct _LDT_ENTRY {
+ WORD LimitLow;
+ WORD BaseLow;
+ union {
+ struct {
+ BYTE BaseMid;
+ BYTE Flags1;
+ BYTE Flags2;
+ BYTE BaseHi;
+ } Bytes;
+ struct {
+ DWORD BaseMid : 8;
+ DWORD Type : 5;
+ DWORD Dpl : 2;
+ DWORD Pres : 1;
+ DWORD LimitHi : 4;
+ DWORD Sys : 1;
+ DWORD Reserved_0 : 1;
+ DWORD Default_Big : 1;
+ DWORD Granularity : 1;
+ DWORD BaseHi : 8;
+ } Bits;
+ } HighWord;
+} LDT_ENTRY, *PLDT_ENTRY;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _EXCEPTION_RECORD {
+ DWORD ExceptionCode;
+ DWORD ExceptionFlags;
+ struct _EXCEPTION_RECORD *ExceptionRecord;
+ PVOID ExceptionAddress;
+ DWORD NumberParameters;
+ UINT_PTR ExceptionInformation[15];
+ } EXCEPTION_RECORD;
+
+typedef EXCEPTION_RECORD *PEXCEPTION_RECORD;
+
+
+
+
+
+typedef struct _EXCEPTION_POINTERS {
+ PEXCEPTION_RECORD ExceptionRecord;
+ PCONTEXT ContextRecord;
+} EXCEPTION_POINTERS, *PEXCEPTION_POINTERS;
+typedef PVOID PACCESS_TOKEN;
+typedef PVOID PSECURITY_DESCRIPTOR;
+typedef PVOID PSID;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef DWORD ACCESS_MASK;
+typedef ACCESS_MASK *PACCESS_MASK;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _GENERIC_MAPPING {
+ ACCESS_MASK GenericRead;
+ ACCESS_MASK GenericWrite;
+ ACCESS_MASK GenericExecute;
+ ACCESS_MASK GenericAll;
+} GENERIC_MAPPING;
+typedef GENERIC_MAPPING *PGENERIC_MAPPING;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma warning(disable:4103)
+
+#pragma pack(push)
+
+#pragma pack(4)
+
+
+
+
+
+
+typedef struct _LUID_AND_ATTRIBUTES {
+ LUID Luid;
+ DWORD Attributes;
+ } LUID_AND_ATTRIBUTES, * PLUID_AND_ATTRIBUTES;
+typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[1];
+typedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma warning(disable:4103)
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _SID_IDENTIFIER_AUTHORITY {
+ BYTE Value[6];
+} SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY;
+
+
+
+
+
+typedef struct _SID {
+ BYTE Revision;
+ BYTE SubAuthorityCount;
+ SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
+
+
+
+ DWORD SubAuthority[1];
+
+} SID, *PISID;
+
+
+
+
+
+
+
+typedef enum _SID_NAME_USE {
+ SidTypeUser = 1,
+ SidTypeGroup,
+ SidTypeDomain,
+ SidTypeAlias,
+ SidTypeWellKnownGroup,
+ SidTypeDeletedAccount,
+ SidTypeInvalid,
+ SidTypeUnknown,
+ SidTypeComputer
+} SID_NAME_USE, *PSID_NAME_USE;
+
+typedef struct _SID_AND_ATTRIBUTES {
+ PSID Sid;
+ DWORD Attributes;
+ } SID_AND_ATTRIBUTES, * PSID_AND_ATTRIBUTES;
+
+typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[1];
+typedef SID_AND_ATTRIBUTES_ARRAY *PSID_AND_ATTRIBUTES_ARRAY;
+
+
+\f
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+\f
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+\f
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _ACL {
+ BYTE AclRevision;
+ BYTE Sbz1;
+ WORD AclSize;
+ WORD AceCount;
+ WORD Sbz2;
+} ACL;
+typedef ACL *PACL;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _ACE_HEADER {
+ BYTE AceType;
+ BYTE AceFlags;
+ WORD AceSize;
+} ACE_HEADER;
+typedef ACE_HEADER *PACE_HEADER;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _ACCESS_ALLOWED_ACE {
+ ACE_HEADER Header;
+ ACCESS_MASK Mask;
+ DWORD SidStart;
+} ACCESS_ALLOWED_ACE;
+
+typedef ACCESS_ALLOWED_ACE *PACCESS_ALLOWED_ACE;
+
+typedef struct _ACCESS_DENIED_ACE {
+ ACE_HEADER Header;
+ ACCESS_MASK Mask;
+ DWORD SidStart;
+} ACCESS_DENIED_ACE;
+typedef ACCESS_DENIED_ACE *PACCESS_DENIED_ACE;
+
+typedef struct _SYSTEM_AUDIT_ACE {
+ ACE_HEADER Header;
+ ACCESS_MASK Mask;
+ DWORD SidStart;
+} SYSTEM_AUDIT_ACE;
+typedef SYSTEM_AUDIT_ACE *PSYSTEM_AUDIT_ACE;
+
+typedef struct _SYSTEM_ALARM_ACE {
+ ACE_HEADER Header;
+ ACCESS_MASK Mask;
+ DWORD SidStart;
+} SYSTEM_ALARM_ACE;
+typedef SYSTEM_ALARM_ACE *PSYSTEM_ALARM_ACE;
+
+
+
+
+typedef struct _ACCESS_ALLOWED_OBJECT_ACE {
+ ACE_HEADER Header;
+ ACCESS_MASK Mask;
+ DWORD Flags;
+ GUID ObjectType;
+ GUID InheritedObjectType;
+ DWORD SidStart;
+} ACCESS_ALLOWED_OBJECT_ACE, *PACCESS_ALLOWED_OBJECT_ACE;
+
+typedef struct _ACCESS_DENIED_OBJECT_ACE {
+ ACE_HEADER Header;
+ ACCESS_MASK Mask;
+ DWORD Flags;
+ GUID ObjectType;
+ GUID InheritedObjectType;
+ DWORD SidStart;
+} ACCESS_DENIED_OBJECT_ACE, *PACCESS_DENIED_OBJECT_ACE;
+
+typedef struct _SYSTEM_AUDIT_OBJECT_ACE {
+ ACE_HEADER Header;
+ ACCESS_MASK Mask;
+ DWORD Flags;
+ GUID ObjectType;
+ GUID InheritedObjectType;
+ DWORD SidStart;
+} SYSTEM_AUDIT_OBJECT_ACE, *PSYSTEM_AUDIT_OBJECT_ACE;
+
+typedef struct _SYSTEM_ALARM_OBJECT_ACE {
+ ACE_HEADER Header;
+ ACCESS_MASK Mask;
+ DWORD Flags;
+ GUID ObjectType;
+ GUID InheritedObjectType;
+ DWORD SidStart;
+} SYSTEM_ALARM_OBJECT_ACE, *PSYSTEM_ALARM_OBJECT_ACE;
+
+
+
+
+
+
+
+
+\f
+
+
+
+
+
+
+typedef enum _ACL_INFORMATION_CLASS {
+ AclRevisionInformation = 1,
+ AclSizeInformation
+} ACL_INFORMATION_CLASS;
+
+
+
+
+
+
+typedef struct _ACL_REVISION_INFORMATION {
+ DWORD AclRevision;
+} ACL_REVISION_INFORMATION;
+typedef ACL_REVISION_INFORMATION *PACL_REVISION_INFORMATION;
+
+
+
+
+
+typedef struct _ACL_SIZE_INFORMATION {
+ DWORD AceCount;
+ DWORD AclBytesInUse;
+ DWORD AclBytesFree;
+} ACL_SIZE_INFORMATION;
+typedef ACL_SIZE_INFORMATION *PACL_SIZE_INFORMATION;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef WORD SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _SECURITY_DESCRIPTOR_RELATIVE {
+ BYTE Revision;
+ BYTE Sbz1;
+ SECURITY_DESCRIPTOR_CONTROL Control;
+ DWORD Owner;
+ DWORD Group;
+ DWORD Sacl;
+ DWORD Dacl;
+ } SECURITY_DESCRIPTOR_RELATIVE, *PISECURITY_DESCRIPTOR_RELATIVE;
+
+typedef struct _SECURITY_DESCRIPTOR {
+ BYTE Revision;
+ BYTE Sbz1;
+ SECURITY_DESCRIPTOR_CONTROL Control;
+ PSID Owner;
+ PSID Group;
+ PACL Sacl;
+ PACL Dacl;
+
+ } SECURITY_DESCRIPTOR, *PISECURITY_DESCRIPTOR;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _OBJECT_TYPE_LIST {
+ WORD Level;
+ WORD Sbz;
+ GUID *ObjectType;
+} OBJECT_TYPE_LIST, *POBJECT_TYPE_LIST;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef enum _AUDIT_EVENT_TYPE {
+ AuditEventObjectAccess,
+ AuditEventDirectoryServiceAccess
+} AUDIT_EVENT_TYPE, *PAUDIT_EVENT_TYPE;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _PRIVILEGE_SET {
+ DWORD PrivilegeCount;
+ DWORD Control;
+ LUID_AND_ATTRIBUTES Privilege[1];
+ } PRIVILEGE_SET, * PPRIVILEGE_SET;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef enum _SECURITY_IMPERSONATION_LEVEL {
+ SecurityAnonymous,
+ SecurityIdentification,
+ SecurityImpersonation,
+ SecurityDelegation
+ } SECURITY_IMPERSONATION_LEVEL, * PSECURITY_IMPERSONATION_LEVEL;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef enum _TOKEN_TYPE {
+ TokenPrimary = 1,
+ TokenImpersonation
+ } TOKEN_TYPE;
+typedef TOKEN_TYPE *PTOKEN_TYPE;
+
+
+
+
+
+
+
+typedef enum _TOKEN_INFORMATION_CLASS {
+ TokenUser = 1,
+ TokenGroups,
+ TokenPrivileges,
+ TokenOwner,
+ TokenPrimaryGroup,
+ TokenDefaultDacl,
+ TokenSource,
+ TokenType,
+ TokenImpersonationLevel,
+ TokenStatistics,
+ TokenRestrictedSids,
+ TokenSessionId
+} TOKEN_INFORMATION_CLASS, *PTOKEN_INFORMATION_CLASS;
+
+
+
+
+
+
+typedef struct _TOKEN_USER {
+ SID_AND_ATTRIBUTES User;
+} TOKEN_USER, *PTOKEN_USER;
+
+typedef struct _TOKEN_GROUPS {
+ DWORD GroupCount;
+ SID_AND_ATTRIBUTES Groups[1];
+} TOKEN_GROUPS, *PTOKEN_GROUPS;
+
+
+typedef struct _TOKEN_PRIVILEGES {
+ DWORD PrivilegeCount;
+ LUID_AND_ATTRIBUTES Privileges[1];
+} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES;
+
+
+typedef struct _TOKEN_OWNER {
+ PSID Owner;
+} TOKEN_OWNER, *PTOKEN_OWNER;
+
+
+typedef struct _TOKEN_PRIMARY_GROUP {
+ PSID PrimaryGroup;
+} TOKEN_PRIMARY_GROUP, *PTOKEN_PRIMARY_GROUP;
+
+
+typedef struct _TOKEN_DEFAULT_DACL {
+ PACL DefaultDacl;
+} TOKEN_DEFAULT_DACL, *PTOKEN_DEFAULT_DACL;
+
+
+
+
+
+typedef struct _TOKEN_SOURCE {
+ CHAR SourceName[8];
+ LUID SourceIdentifier;
+} TOKEN_SOURCE, *PTOKEN_SOURCE;
+
+
+typedef struct _TOKEN_STATISTICS {
+ LUID TokenId;
+ LUID AuthenticationId;
+ LARGE_INTEGER ExpirationTime;
+ TOKEN_TYPE TokenType;
+ SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
+ DWORD DynamicCharged;
+ DWORD DynamicAvailable;
+ DWORD GroupCount;
+ DWORD PrivilegeCount;
+ LUID ModifiedId;
+} TOKEN_STATISTICS, *PTOKEN_STATISTICS;
+
+
+
+typedef struct _TOKEN_CONTROL {
+ LUID TokenId;
+ LUID AuthenticationId;
+ LUID ModifiedId;
+ TOKEN_SOURCE TokenSource;
+ } TOKEN_CONTROL, *PTOKEN_CONTROL;
+
+
+
+
+
+
+
+
+typedef BOOLEAN SECURITY_CONTEXT_TRACKING_MODE,
+ * PSECURITY_CONTEXT_TRACKING_MODE;
+
+
+
+
+
+
+
+typedef struct _SECURITY_QUALITY_OF_SERVICE {
+ DWORD Length;
+ SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
+ SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode;
+ BOOLEAN EffectiveOnly;
+ } SECURITY_QUALITY_OF_SERVICE, * PSECURITY_QUALITY_OF_SERVICE;
+
+
+
+
+
+
+typedef struct _SE_IMPERSONATION_STATE {
+ PACCESS_TOKEN Token;
+ BOOLEAN CopyOnOpen;
+ BOOLEAN EffectiveOnly;
+ SECURITY_IMPERSONATION_LEVEL Level;
+} SE_IMPERSONATION_STATE, *PSE_IMPERSONATION_STATE;
+
+
+typedef DWORD SECURITY_INFORMATION, *PSECURITY_INFORMATION;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _NT_TIB {
+ struct _EXCEPTION_REGISTRATION_RECORD *ExceptionList;
+ PVOID StackBase;
+ PVOID StackLimit;
+ PVOID SubSystemTib;
+ union {
+ PVOID FiberData;
+ DWORD Version;
+ };
+ PVOID ArbitraryUserPointer;
+ struct _NT_TIB *Self;
+} NT_TIB;
+typedef NT_TIB *PNT_TIB;
+
+
+
+
+
+
+
+
+
+
+typedef struct _QUOTA_LIMITS {
+ SIZE_T PagedPoolLimit;
+ SIZE_T NonPagedPoolLimit;
+ DWORD MinimumWorkingSetSize;
+ DWORD MaximumWorkingSetSize;
+ SIZE_T PagefileLimit;
+ LARGE_INTEGER TimeLimit;
+} QUOTA_LIMITS;
+typedef QUOTA_LIMITS *PQUOTA_LIMITS;
+
+
+
+typedef struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION {
+ LARGE_INTEGER TotalUserTime;
+ LARGE_INTEGER TotalKernelTime;
+ LARGE_INTEGER ThisPeriodTotalUserTime;
+ LARGE_INTEGER ThisPeriodTotalKernelTime;
+ DWORD TotalPageFaultCount;
+ DWORD TotalProcesses;
+ DWORD ActiveProcesses;
+ DWORD TotalTerminatedProcesses;
+} JOBOBJECT_BASIC_ACCOUNTING_INFORMATION, *PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION;
+
+typedef struct _JOBOBJECT_BASIC_LIMIT_INFORMATION {
+ LARGE_INTEGER PerProcessUserTimeLimit;
+ LARGE_INTEGER PerJobUserTimeLimit;
+ DWORD LimitFlags;
+ DWORD MinimumWorkingSetSize;
+ DWORD MaximumWorkingSetSize;
+ DWORD ActiveProcessLimit;
+ DWORD Affinity;
+ DWORD PriorityClass;
+} JOBOBJECT_BASIC_LIMIT_INFORMATION, *PJOBOBJECT_BASIC_LIMIT_INFORMATION;
+
+typedef struct _JOBOBJECT_BASIC_PROCESS_ID_LIST {
+ DWORD NumberOfAssignedProcesses;
+ DWORD NumberOfProcessIdsInList;
+ UINT_PTR ProcessIdList[1];
+} JOBOBJECT_BASIC_PROCESS_ID_LIST, *PJOBOBJECT_BASIC_PROCESS_ID_LIST;
+
+typedef struct _JOBOBJECT_BASIC_UI_RESTRICTIONS {
+ DWORD UIRestrictionsClass;
+} JOBOBJECT_BASIC_UI_RESTRICTIONS, *PJOBOBJECT_BASIC_UI_RESTRICTIONS;
+
+typedef struct _JOBOBJECT_SECURITY_LIMIT_INFORMATION {
+ DWORD SecurityLimitFlags ;
+ HANDLE JobToken ;
+ PTOKEN_GROUPS SidsToDisable ;
+ PTOKEN_PRIVILEGES PrivilegesToDelete ;
+ PTOKEN_GROUPS RestrictedSids ;
+} JOBOBJECT_SECURITY_LIMIT_INFORMATION, *PJOBOBJECT_SECURITY_LIMIT_INFORMATION ;
+
+typedef struct _JOBOBJECT_END_OF_JOB_TIME_INFORMATION {
+ DWORD EndOfJobTimeAction;
+} JOBOBJECT_END_OF_JOB_TIME_INFORMATION, *PJOBOBJECT_END_OF_JOB_TIME_INFORMATION;
+
+typedef struct _JOBOBJECT_ASSOCIATE_COMPLETION_PORT {
+ PVOID CompletionKey;
+ HANDLE CompletionPort;
+} JOBOBJECT_ASSOCIATE_COMPLETION_PORT, *PJOBOBJECT_ASSOCIATE_COMPLETION_PORT;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef enum _JOBOBJECTINFOCLASS {
+ JobObjectBasicAccountingInformation = 1,
+ JobObjectBasicLimitInformation,
+ JobObjectBasicProcessIdList,
+ JobObjectBasicUIRestrictions,
+ JobObjectSecurityLimitInformation,
+ JobObjectEndOfJobTimeInformation,
+ JobObjectAssociateCompletionPortInformation,
+ MaxJobObjectInfoClass
+ } JOBOBJECTINFOCLASS;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _MEMORY_BASIC_INFORMATION {
+ PVOID BaseAddress;
+ PVOID AllocationBase;
+ DWORD AllocationProtect;
+ SIZE_T RegionSize;
+ DWORD State;
+ DWORD Protect;
+ DWORD Type;
+} MEMORY_BASIC_INFORMATION, *PMEMORY_BASIC_INFORMATION;
+
+typedef struct _MEMORY_BASIC_INFORMATION_VLM {
+ union {
+ PVOID64 BaseAddress;
+ ULONGLONG BaseAddressAsUlongLong;
+ };
+ union {
+ PVOID64 AllocationBase;
+ ULONGLONG AllocationBaseAsUlongLong;
+ };
+ ULONGLONG RegionSize;
+ DWORD AllocationProtect;
+ DWORD State;
+ DWORD Protect;
+ DWORD Type;
+} MEMORY_BASIC_INFORMATION_VLM, *PMEMORY_BASIC_INFORMATION_VLM;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _FILE_NOTIFY_INFORMATION {
+ DWORD NextEntryOffset;
+ DWORD Action;
+ DWORD FileNameLength;
+ WCHAR FileName[1];
+} FILE_NOTIFY_INFORMATION, *PFILE_NOTIFY_INFORMATION;
+
+
+
+
+
+
+typedef union _FILE_SEGMENT_ELEMENT {
+ PVOID64 Buffer;
+ ULONGLONG Alignment;
+}FILE_SEGMENT_ELEMENT, *PFILE_SEGMENT_ELEMENT;
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _REPARSE_DATA_BUFFER {
+ DWORD ReparseTag;
+ WORD ReparseDataLength;
+ WORD Reserved;
+ union {
+ struct {
+ WORD SubstituteNameOffset;
+ WORD SubstituteNameLength;
+ WORD PrintNameOffset;
+ WORD PrintNameLength;
+ WCHAR PathBuffer[1];
+ } SymbolicLinkReparseBuffer;
+ struct {
+ WORD SubstituteNameOffset;
+ WORD SubstituteNameLength;
+ WORD PrintNameOffset;
+ WORD PrintNameLength;
+ WCHAR PathBuffer[1];
+ } MountPointReparseBuffer;
+ struct {
+ BYTE DataBuffer[1];
+ } GenericReparseBuffer;
+ };
+} REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER;
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _REPARSE_GUID_DATA_BUFFER {
+ DWORD ReparseTag;
+ WORD ReparseDataLength;
+ WORD Reserved;
+ GUID ReparseGuid;
+ struct {
+ BYTE DataBuffer[1];
+ } GenericReparseBuffer;
+} REPARSE_GUID_DATA_BUFFER, *PREPARSE_GUID_DATA_BUFFER;
+
+
+
+
+
+
+
+
+
+typedef struct _REPARSE_POINT_INFORMATION {
+ WORD ReparseDataLength;
+ WORD UnparsedNameLength;
+} REPARSE_POINT_INFORMATION, *PREPARSE_POINT_INFORMATION;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef DWORD EXECUTION_STATE;
+
+typedef enum {
+ LT_DONT_CARE,
+ LT_LOWEST_LATENCY
+} LATENCY_TIME;
+
+
+typedef struct _POWER_DEVICE_TIMEOUTS {
+ DWORD ConservationIdleTime;
+ DWORD PerformanceIdleTime;
+} POWER_DEVICE_TIMEOUTS, *PPOWER_DEVICE_TIMEOUTS;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma warning(disable:4103)
+
+#pragma pack(push)
+
+#pragma pack(4)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma warning(disable:4103)
+
+#pragma pack(push)
+
+#pragma pack(2)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _IMAGE_DOS_HEADER {
+ WORD e_magic;
+ WORD e_cblp;
+ WORD e_cp;
+ WORD e_crlc;
+ WORD e_cparhdr;
+ WORD e_minalloc;
+ WORD e_maxalloc;
+ WORD e_ss;
+ WORD e_sp;
+ WORD e_csum;
+ WORD e_ip;
+ WORD e_cs;
+ WORD e_lfarlc;
+ WORD e_ovno;
+ WORD e_res[4];
+ WORD e_oemid;
+ WORD e_oeminfo;
+ WORD e_res2[10];
+ LONG e_lfanew;
+ } IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER;
+
+typedef struct _IMAGE_OS2_HEADER {
+ WORD ne_magic;
+ CHAR ne_ver;
+ CHAR ne_rev;
+ WORD ne_enttab;
+ WORD ne_cbenttab;
+ LONG ne_crc;
+ WORD ne_flags;
+ WORD ne_autodata;
+ WORD ne_heap;
+ WORD ne_stack;
+ LONG ne_csip;
+ LONG ne_sssp;
+ WORD ne_cseg;
+ WORD ne_cmod;
+ WORD ne_cbnrestab;
+ WORD ne_segtab;
+ WORD ne_rsrctab;
+ WORD ne_restab;
+ WORD ne_modtab;
+ WORD ne_imptab;
+ LONG ne_nrestab;
+ WORD ne_cmovent;
+ WORD ne_align;
+ WORD ne_cres;
+ BYTE ne_exetyp;
+ BYTE ne_flagsothers;
+ WORD ne_pretthunks;
+ WORD ne_psegrefbytes;
+ WORD ne_swaparea;
+ WORD ne_expver;
+ } IMAGE_OS2_HEADER, *PIMAGE_OS2_HEADER;
+
+typedef struct _IMAGE_VXD_HEADER {
+ WORD e32_magic;
+ BYTE e32_border;
+ BYTE e32_worder;
+ DWORD e32_level;
+ WORD e32_cpu;
+ WORD e32_os;
+ DWORD e32_ver;
+ DWORD e32_mflags;
+ DWORD e32_mpages;
+ DWORD e32_startobj;
+ DWORD e32_eip;
+ DWORD e32_stackobj;
+ DWORD e32_esp;
+ DWORD e32_pagesize;
+ DWORD e32_lastpagesize;
+ DWORD e32_fixupsize;
+ DWORD e32_fixupsum;
+ DWORD e32_ldrsize;
+ DWORD e32_ldrsum;
+ DWORD e32_objtab;
+ DWORD e32_objcnt;
+ DWORD e32_objmap;
+ DWORD e32_itermap;
+ DWORD e32_rsrctab;
+ DWORD e32_rsrccnt;
+ DWORD e32_restab;
+ DWORD e32_enttab;
+ DWORD e32_dirtab;
+ DWORD e32_dircnt;
+ DWORD e32_fpagetab;
+ DWORD e32_frectab;
+ DWORD e32_impmod;
+ DWORD e32_impmodcnt;
+ DWORD e32_impproc;
+ DWORD e32_pagesum;
+ DWORD e32_datapage;
+ DWORD e32_preload;
+ DWORD e32_nrestab;
+ DWORD e32_cbnrestab;
+ DWORD e32_nressum;
+ DWORD e32_autodata;
+ DWORD e32_debuginfo;
+ DWORD e32_debuglen;
+ DWORD e32_instpreload;
+ DWORD e32_instdemand;
+ DWORD e32_heapsize;
+ BYTE e32_res3[12];
+ DWORD e32_winresoff;
+ DWORD e32_winreslen;
+ WORD e32_devid;
+ WORD e32_ddkver;
+ } IMAGE_VXD_HEADER, *PIMAGE_VXD_HEADER;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma warning(disable:4103)
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _IMAGE_FILE_HEADER {
+ WORD Machine;
+ WORD NumberOfSections;
+ DWORD TimeDateStamp;
+ DWORD PointerToSymbolTable;
+ DWORD NumberOfSymbols;
+ WORD SizeOfOptionalHeader;
+ WORD Characteristics;
+} IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _IMAGE_DATA_DIRECTORY {
+ DWORD VirtualAddress;
+ DWORD Size;
+} IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY;
+
+
+
+
+
+
+
+typedef struct _IMAGE_OPTIONAL_HEADER {
+
+
+
+
+ WORD Magic;
+ BYTE MajorLinkerVersion;
+ BYTE MinorLinkerVersion;
+ DWORD SizeOfCode;
+ DWORD SizeOfInitializedData;
+ DWORD SizeOfUninitializedData;
+ DWORD AddressOfEntryPoint;
+ DWORD BaseOfCode;
+ DWORD BaseOfData;
+
+
+
+
+
+ DWORD ImageBase;
+ DWORD SectionAlignment;
+ DWORD FileAlignment;
+ WORD MajorOperatingSystemVersion;
+ WORD MinorOperatingSystemVersion;
+ WORD MajorImageVersion;
+ WORD MinorImageVersion;
+ WORD MajorSubsystemVersion;
+ WORD MinorSubsystemVersion;
+ DWORD Win32VersionValue;
+ DWORD SizeOfImage;
+ DWORD SizeOfHeaders;
+ DWORD CheckSum;
+ WORD Subsystem;
+ WORD DllCharacteristics;
+ DWORD SizeOfStackReserve;
+ DWORD SizeOfStackCommit;
+ DWORD SizeOfHeapReserve;
+ DWORD SizeOfHeapCommit;
+ DWORD LoaderFlags;
+ DWORD NumberOfRvaAndSizes;
+ IMAGE_DATA_DIRECTORY DataDirectory[16];
+} IMAGE_OPTIONAL_HEADER32, *PIMAGE_OPTIONAL_HEADER32;
+
+typedef struct _IMAGE_ROM_OPTIONAL_HEADER {
+ WORD Magic;
+ BYTE MajorLinkerVersion;
+ BYTE MinorLinkerVersion;
+ DWORD SizeOfCode;
+ DWORD SizeOfInitializedData;
+ DWORD SizeOfUninitializedData;
+ DWORD AddressOfEntryPoint;
+ DWORD BaseOfCode;
+ DWORD BaseOfData;
+ DWORD BaseOfBss;
+ DWORD GprMask;
+ DWORD CprMask[4];
+ DWORD GpValue;
+} IMAGE_ROM_OPTIONAL_HEADER, *PIMAGE_ROM_OPTIONAL_HEADER;
+
+typedef struct _IMAGE_OPTIONAL_HEADER64 {
+ WORD Magic;
+ BYTE MajorLinkerVersion;
+ BYTE MinorLinkerVersion;
+ DWORD SizeOfCode;
+ DWORD SizeOfInitializedData;
+ DWORD SizeOfUninitializedData;
+ DWORD AddressOfEntryPoint;
+ DWORD BaseOfCode;
+ ULONGLONG ImageBase;
+ DWORD SectionAlignment;
+ DWORD FileAlignment;
+ WORD MajorOperatingSystemVersion;
+ WORD MinorOperatingSystemVersion;
+ WORD MajorImageVersion;
+ WORD MinorImageVersion;
+ WORD MajorSubsystemVersion;
+ WORD MinorSubsystemVersion;
+ DWORD Win32VersionValue;
+ DWORD SizeOfImage;
+ DWORD SizeOfHeaders;
+ DWORD CheckSum;
+ WORD Subsystem;
+ WORD DllCharacteristics;
+ ULONGLONG SizeOfStackReserve;
+ ULONGLONG SizeOfStackCommit;
+ ULONGLONG SizeOfHeapReserve;
+ ULONGLONG SizeOfHeapCommit;
+ DWORD LoaderFlags;
+ DWORD NumberOfRvaAndSizes;
+ IMAGE_DATA_DIRECTORY DataDirectory[16];
+} IMAGE_OPTIONAL_HEADER64, *PIMAGE_OPTIONAL_HEADER64;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef IMAGE_OPTIONAL_HEADER32 IMAGE_OPTIONAL_HEADER;
+typedef PIMAGE_OPTIONAL_HEADER32 PIMAGE_OPTIONAL_HEADER;
+
+
+
+
+typedef struct _IMAGE_NT_HEADERS64 {
+ DWORD Signature;
+ IMAGE_FILE_HEADER FileHeader;
+ IMAGE_OPTIONAL_HEADER64 OptionalHeader;
+} IMAGE_NT_HEADERS64, *PIMAGE_NT_HEADERS64;
+
+typedef struct _IMAGE_NT_HEADERS {
+ DWORD Signature;
+ IMAGE_FILE_HEADER FileHeader;
+ IMAGE_OPTIONAL_HEADER32 OptionalHeader;
+} IMAGE_NT_HEADERS32, *PIMAGE_NT_HEADERS32;
+
+typedef struct _IMAGE_ROM_HEADERS {
+ IMAGE_FILE_HEADER FileHeader;
+ IMAGE_ROM_OPTIONAL_HEADER OptionalHeader;
+} IMAGE_ROM_HEADERS, *PIMAGE_ROM_HEADERS;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef IMAGE_NT_HEADERS32 IMAGE_NT_HEADERS;
+typedef PIMAGE_NT_HEADERS32 PIMAGE_NT_HEADERS;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _IMAGE_SECTION_HEADER {
+ BYTE Name[8];
+ union {
+ DWORD PhysicalAddress;
+ DWORD VirtualSize;
+ } Misc;
+ DWORD VirtualAddress;
+ DWORD SizeOfRawData;
+ DWORD PointerToRawData;
+ DWORD PointerToRelocations;
+ DWORD PointerToLinenumbers;
+ WORD NumberOfRelocations;
+ WORD NumberOfLinenumbers;
+ DWORD Characteristics;
+} IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma warning(disable:4103)
+
+#pragma pack(push)
+
+#pragma pack(2)
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _IMAGE_SYMBOL {
+ union {
+ BYTE ShortName[8];
+ struct {
+ DWORD Short;
+ DWORD Long;
+ } Name;
+ PBYTE LongName[2];
+ } N;
+ DWORD Value;
+ SHORT SectionNumber;
+ WORD Type;
+ BYTE StorageClass;
+ BYTE NumberOfAuxSymbols;
+} IMAGE_SYMBOL;
+typedef IMAGE_SYMBOL *PIMAGE_SYMBOL;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef union _IMAGE_AUX_SYMBOL {
+ struct {
+ DWORD TagIndex;
+ union {
+ struct {
+ WORD Linenumber;
+ WORD Size;
+ } LnSz;
+ DWORD TotalSize;
+ } Misc;
+ union {
+ struct {
+ DWORD PointerToLinenumber;
+ DWORD PointerToNextFunction;
+ } Function;
+ struct {
+ WORD Dimension[4];
+ } Array;
+ } FcnAry;
+ WORD TvIndex;
+ } Sym;
+ struct {
+ BYTE Name[18];
+ } File;
+ struct {
+ DWORD Length;
+ WORD NumberOfRelocations;
+ WORD NumberOfLinenumbers;
+ DWORD CheckSum;
+ SHORT Number;
+ BYTE Selection;
+ } Section;
+} IMAGE_AUX_SYMBOL;
+typedef IMAGE_AUX_SYMBOL *PIMAGE_AUX_SYMBOL;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _IMAGE_RELOCATION {
+ union {
+ DWORD VirtualAddress;
+ DWORD RelocCount;
+ };
+ DWORD SymbolTableIndex;
+ WORD Type;
+} IMAGE_RELOCATION;
+typedef IMAGE_RELOCATION *PIMAGE_RELOCATION;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _IMAGE_LINENUMBER {
+ union {
+ DWORD SymbolTableIndex;
+ DWORD VirtualAddress;
+ } Type;
+ WORD Linenumber;
+} IMAGE_LINENUMBER;
+typedef IMAGE_LINENUMBER *PIMAGE_LINENUMBER;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma warning(disable:4103)
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _IMAGE_BASE_RELOCATION {
+ DWORD VirtualAddress;
+ DWORD SizeOfBlock;
+
+} IMAGE_BASE_RELOCATION;
+typedef IMAGE_BASE_RELOCATION * PIMAGE_BASE_RELOCATION;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _IMAGE_ARCHIVE_MEMBER_HEADER {
+ BYTE Name[16];
+ BYTE Date[12];
+ BYTE UserID[6];
+ BYTE GroupID[6];
+ BYTE Mode[8];
+ BYTE Size[10];
+ BYTE EndHeader[2];
+} IMAGE_ARCHIVE_MEMBER_HEADER, *PIMAGE_ARCHIVE_MEMBER_HEADER;
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _IMAGE_EXPORT_DIRECTORY {
+ DWORD Characteristics;
+ DWORD TimeDateStamp;
+ WORD MajorVersion;
+ WORD MinorVersion;
+ DWORD Name;
+ DWORD Base;
+ DWORD NumberOfFunctions;
+ DWORD NumberOfNames;
+ DWORD AddressOfFunctions;
+ DWORD AddressOfNames;
+ DWORD AddressOfNameOrdinals;
+} IMAGE_EXPORT_DIRECTORY, *PIMAGE_EXPORT_DIRECTORY;
+
+
+
+
+
+typedef struct _IMAGE_IMPORT_BY_NAME {
+ WORD Hint;
+ BYTE Name[1];
+} IMAGE_IMPORT_BY_NAME, *PIMAGE_IMPORT_BY_NAME;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma warning(disable:4103)
+
+#pragma pack(push)
+
+#pragma pack(8)
+
+
+
+
+
+
+typedef struct _IMAGE_THUNK_DATA64 {
+ union {
+ PBYTE ForwarderString;
+ PDWORD Function;
+ ULONGLONG Ordinal;
+ PIMAGE_IMPORT_BY_NAME AddressOfData;
+ } u1;
+} IMAGE_THUNK_DATA64;
+typedef IMAGE_THUNK_DATA64 * PIMAGE_THUNK_DATA64;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma warning(disable:4103)
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+typedef struct _IMAGE_THUNK_DATA32 {
+ union {
+ PBYTE ForwarderString;
+ PDWORD Function;
+ DWORD Ordinal;
+ PIMAGE_IMPORT_BY_NAME AddressOfData;
+ } u1;
+} IMAGE_THUNK_DATA32;
+typedef IMAGE_THUNK_DATA32 * PIMAGE_THUNK_DATA32;
+
+
+
+
+
+
+
+
+
+
+
+
+typedef void
+(__stdcall *PIMAGE_TLS_CALLBACK) (
+ PVOID DllHandle,
+ DWORD Reason,
+ PVOID Reserved
+ );
+
+typedef struct _IMAGE_TLS_DIRECTORY64 {
+ ULONGLONG StartAddressOfRawData;
+ ULONGLONG EndAddressOfRawData;
+ PDWORD AddressOfIndex;
+ PIMAGE_TLS_CALLBACK *AddressOfCallBacks;
+ DWORD SizeOfZeroFill;
+ DWORD Characteristics;
+} IMAGE_TLS_DIRECTORY64;
+typedef IMAGE_TLS_DIRECTORY64 * PIMAGE_TLS_DIRECTORY64;
+
+typedef struct _IMAGE_TLS_DIRECTORY32 {
+ DWORD StartAddressOfRawData;
+ DWORD EndAddressOfRawData;
+ PDWORD AddressOfIndex;
+ PIMAGE_TLS_CALLBACK *AddressOfCallBacks;
+ DWORD SizeOfZeroFill;
+ DWORD Characteristics;
+} IMAGE_TLS_DIRECTORY32;
+typedef IMAGE_TLS_DIRECTORY32 * PIMAGE_TLS_DIRECTORY32;
+
+
+
+
+
+
+
+
+
+
+
+
+typedef IMAGE_THUNK_DATA32 IMAGE_THUNK_DATA;
+typedef PIMAGE_THUNK_DATA32 PIMAGE_THUNK_DATA;
+
+typedef IMAGE_TLS_DIRECTORY32 IMAGE_TLS_DIRECTORY;
+typedef PIMAGE_TLS_DIRECTORY32 PIMAGE_TLS_DIRECTORY;
+
+
+typedef struct _IMAGE_IMPORT_DESCRIPTOR {
+ union {
+ DWORD Characteristics;
+ DWORD OriginalFirstThunk;
+ };
+ DWORD TimeDateStamp;
+
+
+
+
+ DWORD ForwarderChain;
+ DWORD Name;
+ DWORD FirstThunk;
+} IMAGE_IMPORT_DESCRIPTOR;
+typedef IMAGE_IMPORT_DESCRIPTOR *PIMAGE_IMPORT_DESCRIPTOR;
+
+
+
+
+
+typedef struct _IMAGE_BOUND_IMPORT_DESCRIPTOR {
+ DWORD TimeDateStamp;
+ WORD OffsetModuleName;
+ WORD NumberOfModuleForwarderRefs;
+
+} IMAGE_BOUND_IMPORT_DESCRIPTOR, *PIMAGE_BOUND_IMPORT_DESCRIPTOR;
+
+typedef struct _IMAGE_BOUND_FORWARDER_REF {
+ DWORD TimeDateStamp;
+ WORD OffsetModuleName;
+ WORD Reserved;
+} IMAGE_BOUND_FORWARDER_REF, *PIMAGE_BOUND_FORWARDER_REF;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _IMAGE_RESOURCE_DIRECTORY {
+ DWORD Characteristics;
+ DWORD TimeDateStamp;
+ WORD MajorVersion;
+ WORD MinorVersion;
+ WORD NumberOfNamedEntries;
+ WORD NumberOfIdEntries;
+
+} IMAGE_RESOURCE_DIRECTORY, *PIMAGE_RESOURCE_DIRECTORY;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY {
+ union {
+ struct {
+ DWORD NameOffset:31;
+ DWORD NameIsString:1;
+ };
+ DWORD Name;
+ WORD Id;
+ };
+ union {
+ DWORD OffsetToData;
+ struct {
+ DWORD OffsetToDirectory:31;
+ DWORD DataIsDirectory:1;
+ };
+ };
+} IMAGE_RESOURCE_DIRECTORY_ENTRY, *PIMAGE_RESOURCE_DIRECTORY_ENTRY;
+
+
+
+
+
+
+
+
+
+
+typedef struct _IMAGE_RESOURCE_DIRECTORY_STRING {
+ WORD Length;
+ CHAR NameString[ 1 ];
+} IMAGE_RESOURCE_DIRECTORY_STRING, *PIMAGE_RESOURCE_DIRECTORY_STRING;
+
+
+typedef struct _IMAGE_RESOURCE_DIR_STRING_U {
+ WORD Length;
+ WCHAR NameString[ 1 ];
+} IMAGE_RESOURCE_DIR_STRING_U, *PIMAGE_RESOURCE_DIR_STRING_U;
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _IMAGE_RESOURCE_DATA_ENTRY {
+ DWORD OffsetToData;
+ DWORD Size;
+ DWORD CodePage;
+ DWORD Reserved;
+} IMAGE_RESOURCE_DATA_ENTRY, *PIMAGE_RESOURCE_DATA_ENTRY;
+
+
+
+
+
+typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY {
+ DWORD Characteristics;
+ DWORD TimeDateStamp;
+ WORD MajorVersion;
+ WORD MinorVersion;
+ DWORD GlobalFlagsClear;
+ DWORD GlobalFlagsSet;
+ DWORD CriticalSectionDefaultTimeout;
+ DWORD DeCommitFreeBlockThreshold;
+ DWORD DeCommitTotalFreeThreshold;
+ PVOID LockPrefixTable;
+ DWORD MaximumAllocationSize;
+ DWORD VirtualMemoryThreshold;
+ DWORD ProcessHeapFlags;
+ DWORD ProcessAffinityMask;
+ WORD CSDVersion;
+ WORD Reserved1;
+ PVOID EditList;
+ DWORD Reserved[ 1 ];
+} IMAGE_LOAD_CONFIG_DIRECTORY, *PIMAGE_LOAD_CONFIG_DIRECTORY;
+
+
+
+
+
+
+
+
+
+typedef struct _IMAGE_IA64_RUNTIME_FUNCTION_ENTRY {
+ DWORD BeginAddress;
+ DWORD EndAddress;
+ DWORD UnwindInfoAddress;
+} IMAGE_IA64_RUNTIME_FUNCTION_ENTRY, *PIMAGE_IA64_RUNTIME_FUNCTION_ENTRY;
+
+
+
+
+
+
+
+
+typedef struct _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY {
+ DWORD BeginAddress;
+ DWORD EndAddress;
+ DWORD ExceptionHandler;
+ DWORD HandlerData;
+ DWORD PrologEndAddress;
+} IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY, *PIMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY;
+
+typedef struct _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY {
+ ULONGLONG BeginAddress;
+ ULONGLONG EndAddress;
+ ULONGLONG ExceptionHandler;
+ ULONGLONG HandlerData;
+ ULONGLONG PrologEndAddress;
+} IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY, *PIMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY;
+
+typedef IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY IMAGE_AXP64_RUNTIME_FUNCTION_ENTRY;
+typedef PIMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY PIMAGE_AXP64_RUNTIME_FUNCTION_ENTRY;
+
+
+
+
+
+typedef struct _IMAGE_CE_RUNTIME_FUNCTION_ENTRY {
+ DWORD FuncStart;
+ DWORD PrologLen : 8;
+ DWORD FuncLen : 22;
+ DWORD ThirtyTwoBit : 1;
+ DWORD ExceptionFlag : 1;
+} IMAGE_CE_RUNTIME_FUNCTION_ENTRY, * PIMAGE_CE_RUNTIME_FUNCTION_ENTRY;
+
+
+
+
+
+
+
+
+typedef IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY IMAGE_RUNTIME_FUNCTION_ENTRY;
+typedef PIMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY PIMAGE_RUNTIME_FUNCTION_ENTRY;
+
+
+
+
+
+
+
+typedef struct _IMAGE_DEBUG_DIRECTORY {
+ DWORD Characteristics;
+ DWORD TimeDateStamp;
+ WORD MajorVersion;
+ WORD MinorVersion;
+ DWORD Type;
+ DWORD SizeOfData;
+ DWORD AddressOfRawData;
+ DWORD PointerToRawData;
+} IMAGE_DEBUG_DIRECTORY, *PIMAGE_DEBUG_DIRECTORY;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _IMAGE_COFF_SYMBOLS_HEADER {
+ DWORD NumberOfSymbols;
+ DWORD LvaToFirstSymbol;
+ DWORD NumberOfLinenumbers;
+ DWORD LvaToFirstLinenumber;
+ DWORD RvaToFirstByteOfCode;
+ DWORD RvaToLastByteOfCode;
+ DWORD RvaToFirstByteOfData;
+ DWORD RvaToLastByteOfData;
+} IMAGE_COFF_SYMBOLS_HEADER, *PIMAGE_COFF_SYMBOLS_HEADER;
+
+
+
+
+
+
+typedef struct _FPO_DATA {
+ DWORD ulOffStart;
+ DWORD cbProcSize;
+ DWORD cdwLocals;
+ WORD cdwParams;
+ WORD cbProlog : 8;
+ WORD cbRegs : 3;
+ WORD fHasSEH : 1;
+ WORD fUseBP : 1;
+ WORD reserved : 1;
+ WORD cbFrame : 2;
+} FPO_DATA, *PFPO_DATA;
+
+
+
+
+
+typedef struct _IMAGE_DEBUG_MISC {
+ DWORD DataType;
+ DWORD Length;
+
+ BOOLEAN Unicode;
+ BYTE Reserved[ 3 ];
+ BYTE Data[ 1 ];
+} IMAGE_DEBUG_MISC, *PIMAGE_DEBUG_MISC;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _IMAGE_FUNCTION_ENTRY {
+ DWORD StartingAddress;
+ DWORD EndingAddress;
+ DWORD EndOfPrologue;
+} IMAGE_FUNCTION_ENTRY, *PIMAGE_FUNCTION_ENTRY;
+
+
+typedef struct _IMAGE_FUNCTION_ENTRY64 {
+ ULONGLONG StartingAddress;
+ ULONGLONG EndingAddress;
+ ULONGLONG EndOfPrologue;
+} IMAGE_FUNCTION_ENTRY64, *PIMAGE_FUNCTION_ENTRY64;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _IMAGE_SEPARATE_DEBUG_HEADER {
+ WORD Signature;
+ WORD Flags;
+ WORD Machine;
+ WORD Characteristics;
+ DWORD TimeDateStamp;
+ DWORD CheckSum;
+ DWORD ImageBase;
+ DWORD SizeOfImage;
+ DWORD NumberOfSections;
+ DWORD ExportedNamesSize;
+ DWORD DebugDirectorySize;
+ DWORD SectionAlignment;
+ DWORD Reserved[2];
+} IMAGE_SEPARATE_DEBUG_HEADER, *PIMAGE_SEPARATE_DEBUG_HEADER;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _ImageArchitectureHeader {
+ unsigned int AmaskValue: 1;
+
+ int :7;
+ unsigned int AmaskShift: 8;
+ int :16;
+ DWORD FirstEntryRVA;
+} IMAGE_ARCHITECTURE_HEADER, *PIMAGE_ARCHITECTURE_HEADER;
+
+typedef struct _ImageArchitectureEntry {
+ DWORD FixupInstRVA;
+ DWORD NewInst;
+} IMAGE_ARCHITECTURE_ENTRY, *PIMAGE_ARCHITECTURE_ENTRY;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma warning(disable:4103)
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct IMPORT_OBJECT_HEADER {
+ WORD Sig1;
+ WORD Sig2;
+ WORD Version;
+ WORD Machine;
+ DWORD TimeDateStamp;
+ DWORD SizeOfData;
+
+ union {
+ WORD Ordinal;
+ WORD Hint;
+ };
+
+ WORD Type : 2;
+ WORD NameType : 3;
+ WORD Reserved : 11;
+} IMPORT_OBJECT_HEADER;
+
+typedef enum IMPORT_OBJECT_TYPE
+{
+ IMPORT_OBJECT_CODE = 0,
+ IMPORT_OBJECT_DATA = 1,
+ IMPORT_OBJECT_CONST = 2,
+} IMPORT_OBJECT_TYPE;
+
+typedef enum IMPORT_OBJECT_NAME_TYPE
+{
+ IMPORT_OBJECT_ORDINAL = 0,
+ IMPORT_OBJECT_NAME = 1,
+ IMPORT_OBJECT_NAME_NO_PREFIX = 2,
+ IMPORT_OBJECT_NAME_UNDECORATE = 3,
+
+} IMPORT_OBJECT_NAME_TYPE;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef unsigned int size_t;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ void * __cdecl memcpy(void *, const void *, size_t);
+ int __cdecl memcmp(const void *, const void *, size_t);
+ void * __cdecl memset(void *, int, size_t);
+ char * __cdecl _strset(char *, int);
+ char * __cdecl strcpy(char *, const char *);
+ char * __cdecl strcat(char *, const char *);
+ int __cdecl strcmp(const char *, const char *);
+ size_t __cdecl strlen(const char *);
+
+ void * __cdecl _memccpy(void *, const void *, int, unsigned int);
+ void * __cdecl memchr(const void *, int, size_t);
+ int __cdecl _memicmp(const void *, const void *, unsigned int);
+
+
+
+
+
+ void * __cdecl memmove(void *, const void *, size_t);
+
+
+
+ char * __cdecl strchr(const char *, int);
+ int __cdecl _strcmpi(const char *, const char *);
+ int __cdecl _stricmp(const char *, const char *);
+ int __cdecl strcoll(const char *, const char *);
+ int __cdecl _stricoll(const char *, const char *);
+ int __cdecl _strncoll(const char *, const char *, size_t);
+ int __cdecl _strnicoll(const char *, const char *, size_t);
+ size_t __cdecl strcspn(const char *, const char *);
+ char * __cdecl _strdup(const char *);
+ char * __cdecl _strerror(const char *);
+ char * __cdecl strerror(int);
+ char * __cdecl _strlwr(char *);
+ char * __cdecl strncat(char *, const char *, size_t);
+ int __cdecl strncmp(const char *, const char *, size_t);
+ int __cdecl _strnicmp(const char *, const char *, size_t);
+ char * __cdecl strncpy(char *, const char *, size_t);
+ char * __cdecl _strnset(char *, int, size_t);
+ char * __cdecl strpbrk(const char *, const char *);
+ char * __cdecl strrchr(const char *, int);
+ char * __cdecl _strrev(char *);
+ size_t __cdecl strspn(const char *, const char *);
+ char * __cdecl strstr(const char *, const char *);
+ char * __cdecl strtok(char *, const char *);
+ char * __cdecl _strupr(char *);
+ size_t __cdecl strxfrm (char *, const char *, size_t);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ void * __cdecl memccpy(void *, const void *, int, unsigned int);
+ int __cdecl memicmp(const void *, const void *, unsigned int);
+ int __cdecl strcmpi(const char *, const char *);
+ int __cdecl stricmp(const char *, const char *);
+ char * __cdecl strdup(const char *);
+ char * __cdecl strlwr(char *);
+ int __cdecl strnicmp(const char *, const char *, size_t);
+ char * __cdecl strnset(char *, int, size_t);
+ char * __cdecl strrev(char *);
+ char * __cdecl strset(char *, int);
+ char * __cdecl strupr(char *);
+
+
+
+
+
+
+
+
+
+ wchar_t * __cdecl wcscat(wchar_t *, const wchar_t *);
+ wchar_t * __cdecl wcschr(const wchar_t *, wchar_t);
+ int __cdecl wcscmp(const wchar_t *, const wchar_t *);
+ wchar_t * __cdecl wcscpy(wchar_t *, const wchar_t *);
+ size_t __cdecl wcscspn(const wchar_t *, const wchar_t *);
+ size_t __cdecl wcslen(const wchar_t *);
+ wchar_t * __cdecl wcsncat(wchar_t *, const wchar_t *, size_t);
+ int __cdecl wcsncmp(const wchar_t *, const wchar_t *, size_t);
+ wchar_t * __cdecl wcsncpy(wchar_t *, const wchar_t *, size_t);
+ wchar_t * __cdecl wcspbrk(const wchar_t *, const wchar_t *);
+ wchar_t * __cdecl wcsrchr(const wchar_t *, wchar_t);
+ size_t __cdecl wcsspn(const wchar_t *, const wchar_t *);
+ wchar_t * __cdecl wcsstr(const wchar_t *, const wchar_t *);
+ wchar_t * __cdecl wcstok(wchar_t *, const wchar_t *);
+
+ wchar_t * __cdecl _wcsdup(const wchar_t *);
+ int __cdecl _wcsicmp(const wchar_t *, const wchar_t *);
+ int __cdecl _wcsnicmp(const wchar_t *, const wchar_t *, size_t);
+ wchar_t * __cdecl _wcsnset(wchar_t *, wchar_t, size_t);
+ wchar_t * __cdecl _wcsrev(wchar_t *);
+ wchar_t * __cdecl _wcsset(wchar_t *, wchar_t);
+
+ wchar_t * __cdecl _wcslwr(wchar_t *);
+ wchar_t * __cdecl _wcsupr(wchar_t *);
+ size_t __cdecl wcsxfrm(wchar_t *, const wchar_t *, size_t);
+ int __cdecl wcscoll(const wchar_t *, const wchar_t *);
+ int __cdecl _wcsicoll(const wchar_t *, const wchar_t *);
+ int __cdecl _wcsncoll(const wchar_t *, const wchar_t *, size_t);
+ int __cdecl _wcsnicoll(const wchar_t *, const wchar_t *, size_t);
+
+
+
+
+
+
+
+ wchar_t * __cdecl wcsdup(const wchar_t *);
+ int __cdecl wcsicmp(const wchar_t *, const wchar_t *);
+ int __cdecl wcsnicmp(const wchar_t *, const wchar_t *, size_t);
+ wchar_t * __cdecl wcsnset(wchar_t *, wchar_t, size_t);
+ wchar_t * __cdecl wcsrev(wchar_t *);
+ wchar_t * __cdecl wcsset(wchar_t *, wchar_t);
+ wchar_t * __cdecl wcslwr(wchar_t *);
+ wchar_t * __cdecl wcsupr(wchar_t *);
+ int __cdecl wcsicoll(const wchar_t *, const wchar_t *);
+
+
+
+
+
+
+
+
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+SIZE_T
+__stdcall
+RtlCompareMemory (
+ const void *Source1,
+ const void *Source2,
+ SIZE_T Length
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _MESSAGE_RESOURCE_ENTRY {
+ WORD Length;
+ WORD Flags;
+ BYTE Text[ 1 ];
+} MESSAGE_RESOURCE_ENTRY, *PMESSAGE_RESOURCE_ENTRY;
+
+
+
+typedef struct _MESSAGE_RESOURCE_BLOCK {
+ DWORD LowId;
+ DWORD HighId;
+ DWORD OffsetToEntries;
+} MESSAGE_RESOURCE_BLOCK, *PMESSAGE_RESOURCE_BLOCK;
+
+typedef struct _MESSAGE_RESOURCE_DATA {
+ DWORD NumberOfBlocks;
+ MESSAGE_RESOURCE_BLOCK Blocks[ 1 ];
+} MESSAGE_RESOURCE_DATA, *PMESSAGE_RESOURCE_DATA;
+
+
+typedef struct _RTL_CRITICAL_SECTION_DEBUG {
+ WORD Type;
+ WORD CreatorBackTraceIndex;
+ struct _RTL_CRITICAL_SECTION *CriticalSection;
+ LIST_ENTRY ProcessLocksList;
+ DWORD EntryCount;
+ DWORD ContentionCount;
+ DWORD Spare[ 2 ];
+} RTL_CRITICAL_SECTION_DEBUG, *PRTL_CRITICAL_SECTION_DEBUG, RTL_RESOURCE_DEBUG, *PRTL_RESOURCE_DEBUG;
+
+
+
+
+typedef struct _RTL_CRITICAL_SECTION {
+ PRTL_CRITICAL_SECTION_DEBUG DebugInfo;
+
+
+
+
+
+
+ LONG LockCount;
+ LONG RecursionCount;
+ HANDLE OwningThread;
+ HANDLE LockSemaphore;
+ DWORD SpinCount;
+} RTL_CRITICAL_SECTION, *PRTL_CRITICAL_SECTION;
+
+
+
+
+
+
+
+
+
+
+typedef void (__stdcall * WAITORTIMERCALLBACKFUNC) (PVOID, BOOLEAN );
+typedef void (__stdcall * WORKERCALLBACKFUNC) (PVOID );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _EVENTLOGRECORD {
+ DWORD Length;
+ DWORD Reserved;
+ DWORD RecordNumber;
+ DWORD TimeGenerated;
+ DWORD TimeWritten;
+ DWORD EventID;
+ WORD EventType;
+ WORD NumStrings;
+ WORD EventCategory;
+ WORD ReservedFlags;
+ DWORD ClosingRecordNumber;
+ DWORD StringOffset;
+ DWORD UserSidLength;
+ DWORD UserSidOffset;
+ DWORD DataLength;
+ DWORD DataOffset;
+
+
+
+
+
+
+
+
+
+
+
+} EVENTLOGRECORD, *PEVENTLOGRECORD;
+
+
+
+
+
+#pragma warning(disable : 4200)
+typedef struct _EVENTSFORLOGFILE{
+ DWORD ulSize;
+ WCHAR szLogicalLogFile[256];
+ DWORD ulNumRecords;
+ EVENTLOGRECORD pEventLogRecords[];
+}EVENTSFORLOGFILE, *PEVENTSFORLOGFILE;
+
+typedef struct _PACKEDEVENTINFO{
+ DWORD ulSize;
+ DWORD ulNumEventsForLogFile;
+ DWORD ulOffsets[];
+}PACKEDEVENTINFO, *PPACKEDEVENTINFO;
+
+#pragma warning(default : 4200)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+\f
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef enum _CM_SERVICE_NODE_TYPE {
+ DriverType = 0x00000001,
+ FileSystemType = 0x00000002,
+ Win32ServiceOwnProcess = 0x00000010,
+ Win32ServiceShareProcess = 0x00000020,
+ AdapterType = 0x00000004,
+ RecognizerType = 0x00000008
+} SERVICE_NODE_TYPE;
+
+typedef enum _CM_SERVICE_LOAD_TYPE {
+ BootLoad = 0x00000000,
+ SystemLoad = 0x00000001,
+ AutoLoad = 0x00000002,
+ DemandLoad = 0x00000003,
+ DisableLoad = 0x00000004
+} SERVICE_LOAD_TYPE;
+
+typedef enum _CM_ERROR_CONTROL_TYPE {
+ IgnoreError = 0x00000000,
+ NormalError = 0x00000001,
+ SevereError = 0x00000002,
+ CriticalError = 0x00000003
+} SERVICE_ERROR_TYPE;
+
+
+
+
+
+
+
+
+
+
+typedef struct _TAPE_ERASE {
+ DWORD Type;
+ BOOLEAN Immediate;
+} TAPE_ERASE, *PTAPE_ERASE;
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _TAPE_PREPARE {
+ DWORD Operation;
+ BOOLEAN Immediate;
+} TAPE_PREPARE, *PTAPE_PREPARE;
+
+
+
+
+
+
+
+
+
+
+typedef struct _TAPE_WRITE_MARKS {
+ DWORD Type;
+ DWORD Count;
+ BOOLEAN Immediate;
+} TAPE_WRITE_MARKS, *PTAPE_WRITE_MARKS;
+
+
+
+
+
+
+
+
+
+typedef struct _TAPE_GET_POSITION {
+ DWORD Type;
+ DWORD Partition;
+ LARGE_INTEGER Offset;
+} TAPE_GET_POSITION, *PTAPE_GET_POSITION;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _TAPE_SET_POSITION {
+ DWORD Method;
+ DWORD Partition;
+ LARGE_INTEGER Offset;
+ BOOLEAN Immediate;
+} TAPE_SET_POSITION, *PTAPE_SET_POSITION;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _TAPE_GET_DRIVE_PARAMETERS {
+ BOOLEAN ECC;
+ BOOLEAN Compression;
+ BOOLEAN DataPadding;
+ BOOLEAN ReportSetmarks;
+ DWORD DefaultBlockSize;
+ DWORD MaximumBlockSize;
+ DWORD MinimumBlockSize;
+ DWORD MaximumPartitionCount;
+ DWORD FeaturesLow;
+ DWORD FeaturesHigh;
+ DWORD EOTWarningZoneSize;
+} TAPE_GET_DRIVE_PARAMETERS, *PTAPE_GET_DRIVE_PARAMETERS;
+
+
+
+
+
+typedef struct _TAPE_SET_DRIVE_PARAMETERS {
+ BOOLEAN ECC;
+ BOOLEAN Compression;
+ BOOLEAN DataPadding;
+ BOOLEAN ReportSetmarks;
+ DWORD EOTWarningZoneSize;
+} TAPE_SET_DRIVE_PARAMETERS, *PTAPE_SET_DRIVE_PARAMETERS;
+
+
+
+
+
+typedef struct _TAPE_GET_MEDIA_PARAMETERS {
+ LARGE_INTEGER Capacity;
+ LARGE_INTEGER Remaining;
+ DWORD BlockSize;
+ DWORD PartitionCount;
+ BOOLEAN WriteProtected;
+} TAPE_GET_MEDIA_PARAMETERS, *PTAPE_GET_MEDIA_PARAMETERS;
+
+
+
+
+
+typedef struct _TAPE_SET_MEDIA_PARAMETERS {
+ DWORD BlockSize;
+} TAPE_SET_MEDIA_PARAMETERS, *PTAPE_SET_MEDIA_PARAMETERS;
+
+
+
+
+
+
+
+
+
+typedef struct _TAPE_CREATE_PARTITION {
+ DWORD Method;
+ DWORD Count;
+ DWORD Size;
+} TAPE_CREATE_PARTITION, *PTAPE_CREATE_PARTITION;
+
+
+
+}
+
+
+
+
+
+
+
+typedef UINT WPARAM;
+typedef LONG LPARAM;
+typedef LONG LRESULT;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+struct HWND__ { int unused; }; typedef struct HWND__ *HWND;
+struct HHOOK__ { int unused; }; typedef struct HHOOK__ *HHOOK;
+
+
+
+
+
+typedef WORD ATOM;
+
+typedef HANDLE *SPHANDLE;
+typedef HANDLE *LPHANDLE;
+typedef HANDLE HGLOBAL;
+typedef HANDLE HLOCAL;
+typedef HANDLE GLOBALHANDLE;
+typedef HANDLE LOCALHANDLE;
+
+typedef int ( __stdcall *FARPROC)();
+typedef int ( __stdcall *NEARPROC)();
+typedef int (__stdcall *PROC)();
+
+
+
+
+
+
+
+
+typedef void * HGDIOBJ;
+
+
+
+
+
+
+struct HACCEL__ { int unused; }; typedef struct HACCEL__ *HACCEL;
+
+
+struct HBITMAP__ { int unused; }; typedef struct HBITMAP__ *HBITMAP;
+struct HBRUSH__ { int unused; }; typedef struct HBRUSH__ *HBRUSH;
+
+
+struct HCOLORSPACE__ { int unused; }; typedef struct HCOLORSPACE__ *HCOLORSPACE;
+
+
+struct HDC__ { int unused; }; typedef struct HDC__ *HDC;
+
+struct HGLRC__ { int unused; }; typedef struct HGLRC__ *HGLRC;
+struct HDESK__ { int unused; }; typedef struct HDESK__ *HDESK;
+struct HENHMETAFILE__ { int unused; }; typedef struct HENHMETAFILE__ *HENHMETAFILE;
+
+struct HFONT__ { int unused; }; typedef struct HFONT__ *HFONT;
+
+struct HICON__ { int unused; }; typedef struct HICON__ *HICON;
+
+struct HMENU__ { int unused; }; typedef struct HMENU__ *HMENU;
+
+struct HMETAFILE__ { int unused; }; typedef struct HMETAFILE__ *HMETAFILE;
+struct HINSTANCE__ { int unused; }; typedef struct HINSTANCE__ *HINSTANCE;
+typedef HINSTANCE HMODULE;
+
+struct HPALETTE__ { int unused; }; typedef struct HPALETTE__ *HPALETTE;
+struct HPEN__ { int unused; }; typedef struct HPEN__ *HPEN;
+
+struct HRGN__ { int unused; }; typedef struct HRGN__ *HRGN;
+struct HRSRC__ { int unused; }; typedef struct HRSRC__ *HRSRC;
+struct HSTR__ { int unused; }; typedef struct HSTR__ *HSTR;
+struct HTASK__ { int unused; }; typedef struct HTASK__ *HTASK;
+struct HWINSTA__ { int unused; }; typedef struct HWINSTA__ *HWINSTA;
+struct HKL__ { int unused; }; typedef struct HKL__ *HKL;
+
+
+
+
+
+
+
+
+
+
+typedef int HFILE;
+typedef HICON HCURSOR;
+
+
+
+
+
+typedef DWORD COLORREF;
+typedef DWORD *LPCOLORREF;
+
+
+
+typedef struct tagRECT
+{
+ LONG left;
+ LONG top;
+ LONG right;
+ LONG bottom;
+} RECT, *PRECT, *NPRECT, *LPRECT;
+
+typedef const RECT * LPCRECT;
+
+typedef struct _RECTL
+{
+ LONG left;
+ LONG top;
+ LONG right;
+ LONG bottom;
+} RECTL, *PRECTL, *LPRECTL;
+
+typedef const RECTL * LPCRECTL;
+
+typedef struct tagPOINT
+{
+ LONG x;
+ LONG y;
+} POINT, *PPOINT, *NPPOINT, *LPPOINT;
+
+typedef struct _POINTL
+{
+ LONG x;
+ LONG y;
+} POINTL, *PPOINTL;
+
+typedef struct tagSIZE
+{
+ LONG cx;
+ LONG cy;
+} SIZE, *PSIZE, *LPSIZE;
+
+typedef SIZE SIZEL;
+typedef SIZE *PSIZEL, *LPSIZEL;
+
+typedef struct tagPOINTS
+{
+
+ SHORT x;
+ SHORT y;
+
+
+
+
+} POINTS, *PPOINTS, *LPPOINTS;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _OVERLAPPED {
+ DWORD Internal;
+ DWORD InternalHigh;
+ DWORD Offset;
+ DWORD OffsetHigh;
+ HANDLE hEvent;
+} OVERLAPPED, *LPOVERLAPPED;
+
+typedef struct _SECURITY_ATTRIBUTES {
+ DWORD nLength;
+ LPVOID lpSecurityDescriptor;
+ BOOL bInheritHandle;
+} SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
+
+typedef struct _PROCESS_INFORMATION {
+ HANDLE hProcess;
+ HANDLE hThread;
+ DWORD dwProcessId;
+ DWORD dwThreadId;
+} PROCESS_INFORMATION, *PPROCESS_INFORMATION, *LPPROCESS_INFORMATION;
+
+
+
+
+
+typedef struct _FILETIME {
+ DWORD dwLowDateTime;
+ DWORD dwHighDateTime;
+} FILETIME, *PFILETIME, *LPFILETIME;
+
+
+
+
+
+typedef struct _SYSTEMTIME {
+ WORD wYear;
+ WORD wMonth;
+ WORD wDayOfWeek;
+ WORD wDay;
+ WORD wHour;
+ WORD wMinute;
+ WORD wSecond;
+ WORD wMilliseconds;
+} SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;
+
+typedef DWORD (__stdcall *PTHREAD_START_ROUTINE)(
+ LPVOID lpThreadParameter
+ );
+typedef PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE;
+
+
+
+
+
+
+
+
+typedef RTL_CRITICAL_SECTION CRITICAL_SECTION;
+typedef PRTL_CRITICAL_SECTION PCRITICAL_SECTION;
+typedef PRTL_CRITICAL_SECTION LPCRITICAL_SECTION;
+
+typedef RTL_CRITICAL_SECTION_DEBUG CRITICAL_SECTION_DEBUG;
+typedef PRTL_CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG;
+typedef PRTL_CRITICAL_SECTION_DEBUG LPCRITICAL_SECTION_DEBUG;
+
+
+typedef PLDT_ENTRY LPLDT_ENTRY;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _COMMPROP {
+ WORD wPacketLength;
+ WORD wPacketVersion;
+ DWORD dwServiceMask;
+ DWORD dwReserved1;
+ DWORD dwMaxTxQueue;
+ DWORD dwMaxRxQueue;
+ DWORD dwMaxBaud;
+ DWORD dwProvSubType;
+ DWORD dwProvCapabilities;
+ DWORD dwSettableParams;
+ DWORD dwSettableBaud;
+ WORD wSettableData;
+ WORD wSettableStopParity;
+ DWORD dwCurrentTxQueue;
+ DWORD dwCurrentRxQueue;
+ DWORD dwProvSpec1;
+ DWORD dwProvSpec2;
+ WCHAR wcProvChar[1];
+} COMMPROP,*LPCOMMPROP;
+
+
+
+
+
+
+
+typedef struct _COMSTAT {
+ DWORD fCtsHold : 1;
+ DWORD fDsrHold : 1;
+ DWORD fRlsdHold : 1;
+ DWORD fXoffHold : 1;
+ DWORD fXoffSent : 1;
+ DWORD fEof : 1;
+ DWORD fTxim : 1;
+ DWORD fReserved : 25;
+ DWORD cbInQue;
+ DWORD cbOutQue;
+} COMSTAT, *LPCOMSTAT;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _DCB {
+ DWORD DCBlength;
+ DWORD BaudRate;
+ DWORD fBinary: 1;
+ DWORD fParity: 1;
+ DWORD fOutxCtsFlow:1;
+ DWORD fOutxDsrFlow:1;
+ DWORD fDtrControl:2;
+ DWORD fDsrSensitivity:1;
+ DWORD fTXContinueOnXoff: 1;
+ DWORD fOutX: 1;
+ DWORD fInX: 1;
+ DWORD fErrorChar: 1;
+ DWORD fNull: 1;
+ DWORD fRtsControl:2;
+ DWORD fAbortOnError:1;
+ DWORD fDummy2:17;
+ WORD wReserved;
+ WORD XonLim;
+ WORD XoffLim;
+ BYTE ByteSize;
+ BYTE Parity;
+ BYTE StopBits;
+ char XonChar;
+ char XoffChar;
+ char ErrorChar;
+ char EofChar;
+ char EvtChar;
+ WORD wReserved1;
+} DCB, *LPDCB;
+
+typedef struct _COMMTIMEOUTS {
+ DWORD ReadIntervalTimeout;
+ DWORD ReadTotalTimeoutMultiplier;
+ DWORD ReadTotalTimeoutConstant;
+ DWORD WriteTotalTimeoutMultiplier;
+ DWORD WriteTotalTimeoutConstant;
+} COMMTIMEOUTS,*LPCOMMTIMEOUTS;
+
+typedef struct _COMMCONFIG {
+ DWORD dwSize;
+ WORD wVersion;
+ WORD wReserved;
+ DCB dcb;
+ DWORD dwProviderSubType;
+
+ DWORD dwProviderOffset;
+
+ DWORD dwProviderSize;
+ WCHAR wcProviderData[1];
+} COMMCONFIG,*LPCOMMCONFIG;
+
+typedef struct _SYSTEM_INFO {
+ union {
+ DWORD dwOemId;
+ struct {
+ WORD wProcessorArchitecture;
+ WORD wReserved;
+ };
+ };
+ DWORD dwPageSize;
+ LPVOID lpMinimumApplicationAddress;
+ LPVOID lpMaximumApplicationAddress;
+ DWORD dwActiveProcessorMask;
+ DWORD dwNumberOfProcessors;
+ DWORD dwProcessorType;
+ DWORD dwAllocationGranularity;
+ WORD wProcessorLevel;
+ WORD wProcessorRevision;
+} SYSTEM_INFO, *LPSYSTEM_INFO;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _MEMORYSTATUS {
+ DWORD dwLength;
+ DWORD dwMemoryLoad;
+ DWORD dwTotalPhys;
+ DWORD dwAvailPhys;
+ DWORD dwTotalPageFile;
+ DWORD dwAvailPageFile;
+ DWORD dwTotalVirtual;
+ DWORD dwAvailVirtual;
+} MEMORYSTATUS, *LPMEMORYSTATUS;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _EXCEPTION_DEBUG_INFO {
+ EXCEPTION_RECORD ExceptionRecord;
+ DWORD dwFirstChance;
+} EXCEPTION_DEBUG_INFO, *LPEXCEPTION_DEBUG_INFO;
+
+typedef struct _CREATE_THREAD_DEBUG_INFO {
+ HANDLE hThread;
+ LPVOID lpThreadLocalBase;
+ LPTHREAD_START_ROUTINE lpStartAddress;
+} CREATE_THREAD_DEBUG_INFO, *LPCREATE_THREAD_DEBUG_INFO;
+
+typedef struct _CREATE_PROCESS_DEBUG_INFO {
+ HANDLE hFile;
+ HANDLE hProcess;
+ HANDLE hThread;
+ LPVOID lpBaseOfImage;
+ DWORD dwDebugInfoFileOffset;
+ DWORD nDebugInfoSize;
+ LPVOID lpThreadLocalBase;
+ LPTHREAD_START_ROUTINE lpStartAddress;
+ LPVOID lpImageName;
+ WORD fUnicode;
+} CREATE_PROCESS_DEBUG_INFO, *LPCREATE_PROCESS_DEBUG_INFO;
+
+typedef struct _EXIT_THREAD_DEBUG_INFO {
+ DWORD dwExitCode;
+} EXIT_THREAD_DEBUG_INFO, *LPEXIT_THREAD_DEBUG_INFO;
+
+typedef struct _EXIT_PROCESS_DEBUG_INFO {
+ DWORD dwExitCode;
+} EXIT_PROCESS_DEBUG_INFO, *LPEXIT_PROCESS_DEBUG_INFO;
+
+typedef struct _LOAD_DLL_DEBUG_INFO {
+ HANDLE hFile;
+ LPVOID lpBaseOfDll;
+ DWORD dwDebugInfoFileOffset;
+ DWORD nDebugInfoSize;
+ LPVOID lpImageName;
+ WORD fUnicode;
+} LOAD_DLL_DEBUG_INFO, *LPLOAD_DLL_DEBUG_INFO;
+
+typedef struct _UNLOAD_DLL_DEBUG_INFO {
+ LPVOID lpBaseOfDll;
+} UNLOAD_DLL_DEBUG_INFO, *LPUNLOAD_DLL_DEBUG_INFO;
+
+typedef struct _OUTPUT_DEBUG_STRING_INFO {
+ LPSTR lpDebugStringData;
+ WORD fUnicode;
+ WORD nDebugStringLength;
+} OUTPUT_DEBUG_STRING_INFO, *LPOUTPUT_DEBUG_STRING_INFO;
+
+typedef struct _RIP_INFO {
+ DWORD dwError;
+ DWORD dwType;
+} RIP_INFO, *LPRIP_INFO;
+
+
+typedef struct _DEBUG_EVENT {
+ DWORD dwDebugEventCode;
+ DWORD dwProcessId;
+ DWORD dwThreadId;
+ union {
+ EXCEPTION_DEBUG_INFO Exception;
+ CREATE_THREAD_DEBUG_INFO CreateThread;
+ CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
+ EXIT_THREAD_DEBUG_INFO ExitThread;
+ EXIT_PROCESS_DEBUG_INFO ExitProcess;
+ LOAD_DLL_DEBUG_INFO LoadDll;
+ UNLOAD_DLL_DEBUG_INFO UnloadDll;
+ OUTPUT_DEBUG_STRING_INFO DebugString;
+ RIP_INFO RipInfo;
+ } u;
+} DEBUG_EVENT, *LPDEBUG_EVENT;
+
+
+typedef PCONTEXT LPCONTEXT;
+typedef PEXCEPTION_RECORD LPEXCEPTION_RECORD;
+typedef PEXCEPTION_POINTERS LPEXCEPTION_POINTERS;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _OFSTRUCT {
+ BYTE cBytes;
+ BYTE fFixedDisk;
+ WORD nErrCode;
+ WORD Reserved1;
+ WORD Reserved2;
+ CHAR szPathName[128];
+} OFSTRUCT, *LPOFSTRUCT, *POFSTRUCT;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+InterlockedIncrement(
+ LPLONG lpAddend
+ );
+
+__declspec(dllimport)
+LONG
+__stdcall
+InterlockedDecrement(
+ LPLONG lpAddend
+ );
+
+__declspec(dllimport)
+LONG
+__stdcall
+InterlockedExchange(
+ LPLONG Target,
+ LONG Value
+ );
+
+__declspec(dllimport)
+LONG
+__stdcall
+InterlockedExchangeAdd(
+ LPLONG Addend,
+ LONG Value
+ );
+
+__declspec(dllimport)
+PVOID
+__stdcall
+InterlockedCompareExchange (
+ PVOID *Destination,
+ PVOID Exchange,
+ PVOID Comperand
+ );
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+FreeResource(
+ HGLOBAL hResData
+ );
+
+__declspec(dllimport)
+LPVOID
+__stdcall
+LockResource(
+ HGLOBAL hResData
+ );
+
+
+
+
+
+
+
+int
+__stdcall
+
+
+
+
+WinMain(
+ HINSTANCE hInstance,
+ HINSTANCE hPrevInstance,
+ LPSTR lpCmdLine,
+ int nShowCmd
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+FreeLibrary(
+ HMODULE hLibModule
+ );
+
+
+__declspec(dllimport)
+void
+__stdcall
+FreeLibraryAndExitThread(
+ HMODULE hLibModule,
+ DWORD dwExitCode
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DisableThreadLibraryCalls(
+ HMODULE hLibModule
+ );
+
+__declspec(dllimport)
+FARPROC
+__stdcall
+GetProcAddress(
+ HMODULE hModule,
+ LPCSTR lpProcName
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetVersion( void );
+
+__declspec(dllimport)
+HGLOBAL
+__stdcall
+GlobalAlloc(
+ UINT uFlags,
+ DWORD dwBytes
+ );
+
+__declspec(dllimport)
+HGLOBAL
+__stdcall
+GlobalReAlloc(
+ HGLOBAL hMem,
+ DWORD dwBytes,
+ UINT uFlags
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GlobalSize(
+ HGLOBAL hMem
+ );
+
+__declspec(dllimport)
+UINT
+__stdcall
+GlobalFlags(
+ HGLOBAL hMem
+ );
+
+
+__declspec(dllimport)
+LPVOID
+__stdcall
+GlobalLock(
+ HGLOBAL hMem
+ );
+
+
+__declspec(dllimport)
+HGLOBAL
+__stdcall
+GlobalHandle(
+ LPCVOID pMem
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GlobalUnlock(
+ HGLOBAL hMem
+ );
+
+
+__declspec(dllimport)
+HGLOBAL
+__stdcall
+GlobalFree(
+ HGLOBAL hMem
+ );
+
+__declspec(dllimport)
+UINT
+__stdcall
+GlobalCompact(
+ DWORD dwMinFree
+ );
+
+__declspec(dllimport)
+void
+__stdcall
+GlobalFix(
+ HGLOBAL hMem
+ );
+
+__declspec(dllimport)
+void
+__stdcall
+GlobalUnfix(
+ HGLOBAL hMem
+ );
+
+__declspec(dllimport)
+LPVOID
+__stdcall
+GlobalWire(
+ HGLOBAL hMem
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GlobalUnWire(
+ HGLOBAL hMem
+ );
+
+__declspec(dllimport)
+void
+__stdcall
+GlobalMemoryStatus(
+ LPMEMORYSTATUS lpBuffer
+ );
+
+__declspec(dllimport)
+HLOCAL
+__stdcall
+LocalAlloc(
+ UINT uFlags,
+ UINT uBytes
+ );
+
+__declspec(dllimport)
+HLOCAL
+__stdcall
+LocalReAlloc(
+ HLOCAL hMem,
+ UINT uBytes,
+ UINT uFlags
+ );
+
+__declspec(dllimport)
+LPVOID
+__stdcall
+LocalLock(
+ HLOCAL hMem
+ );
+
+__declspec(dllimport)
+HLOCAL
+__stdcall
+LocalHandle(
+ LPCVOID pMem
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+LocalUnlock(
+ HLOCAL hMem
+ );
+
+__declspec(dllimport)
+UINT
+__stdcall
+LocalSize(
+ HLOCAL hMem
+ );
+
+__declspec(dllimport)
+UINT
+__stdcall
+LocalFlags(
+ HLOCAL hMem
+ );
+
+__declspec(dllimport)
+HLOCAL
+__stdcall
+LocalFree(
+ HLOCAL hMem
+ );
+
+__declspec(dllimport)
+UINT
+__stdcall
+LocalShrink(
+ HLOCAL hMem,
+ UINT cbNewSize
+ );
+
+__declspec(dllimport)
+UINT
+__stdcall
+LocalCompact(
+ UINT uMinFree
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+FlushInstructionCache(
+ HANDLE hProcess,
+ LPCVOID lpBaseAddress,
+ DWORD dwSize
+ );
+
+__declspec(dllimport)
+LPVOID
+__stdcall
+VirtualAlloc(
+ LPVOID lpAddress,
+ DWORD dwSize,
+ DWORD flAllocationType,
+ DWORD flProtect
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+VirtualFree(
+ LPVOID lpAddress,
+ DWORD dwSize,
+ DWORD dwFreeType
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+VirtualProtect(
+ LPVOID lpAddress,
+ DWORD dwSize,
+ DWORD flNewProtect,
+ PDWORD lpflOldProtect
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+VirtualQuery(
+ LPCVOID lpAddress,
+ PMEMORY_BASIC_INFORMATION lpBuffer,
+ DWORD dwLength
+ );
+
+__declspec(dllimport)
+LPVOID
+__stdcall
+VirtualAllocEx(
+ HANDLE hProcess,
+ LPVOID lpAddress,
+ DWORD dwSize,
+ DWORD flAllocationType,
+ DWORD flProtect
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+VirtualFreeEx(
+ HANDLE hProcess,
+ LPVOID lpAddress,
+ DWORD dwSize,
+ DWORD dwFreeType
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+VirtualProtectEx(
+ HANDLE hProcess,
+ LPVOID lpAddress,
+ DWORD dwSize,
+ DWORD flNewProtect,
+ PDWORD lpflOldProtect
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+VirtualQueryEx(
+ HANDLE hProcess,
+ LPCVOID lpAddress,
+ PMEMORY_BASIC_INFORMATION lpBuffer,
+ DWORD dwLength
+ );
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+HeapCreate(
+ DWORD flOptions,
+ DWORD dwInitialSize,
+ DWORD dwMaximumSize
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+HeapDestroy(
+ HANDLE hHeap
+ );
+
+
+__declspec(dllimport)
+LPVOID
+__stdcall
+HeapAlloc(
+ HANDLE hHeap,
+ DWORD dwFlags,
+ DWORD dwBytes
+ );
+
+__declspec(dllimport)
+LPVOID
+__stdcall
+HeapReAlloc(
+ HANDLE hHeap,
+ DWORD dwFlags,
+ LPVOID lpMem,
+ DWORD dwBytes
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+HeapFree(
+ HANDLE hHeap,
+ DWORD dwFlags,
+ LPVOID lpMem
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+HeapSize(
+ HANDLE hHeap,
+ DWORD dwFlags,
+ LPCVOID lpMem
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+HeapValidate(
+ HANDLE hHeap,
+ DWORD dwFlags,
+ LPCVOID lpMem
+ );
+
+__declspec(dllimport)
+UINT
+__stdcall
+HeapCompact(
+ HANDLE hHeap,
+ DWORD dwFlags
+ );
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+GetProcessHeap( void );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetProcessHeaps(
+ DWORD NumberOfHeaps,
+ PHANDLE ProcessHeaps
+ );
+
+typedef struct _PROCESS_HEAP_ENTRY {
+ PVOID lpData;
+ DWORD cbData;
+ BYTE cbOverhead;
+ BYTE iRegionIndex;
+ WORD wFlags;
+ union {
+ struct {
+ HANDLE hMem;
+ DWORD dwReserved[ 3 ];
+ } Block;
+ struct {
+ DWORD dwCommittedSize;
+ DWORD dwUnCommittedSize;
+ LPVOID lpFirstBlock;
+ LPVOID lpLastBlock;
+ } Region;
+ };
+} PROCESS_HEAP_ENTRY, *LPPROCESS_HEAP_ENTRY, *PPROCESS_HEAP_ENTRY;
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+HeapLock(
+ HANDLE hHeap
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+HeapUnlock(
+ HANDLE hHeap
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+HeapWalk(
+ HANDLE hHeap,
+ LPPROCESS_HEAP_ENTRY lpEntry
+ );
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetBinaryTypeA(
+ LPCSTR lpApplicationName,
+ LPDWORD lpBinaryType
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+GetBinaryTypeW(
+ LPCWSTR lpApplicationName,
+ LPDWORD lpBinaryType
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetShortPathNameA(
+ LPCSTR lpszLongPath,
+ LPSTR lpszShortPath,
+ DWORD cchBuffer
+ );
+__declspec(dllimport)
+DWORD
+__stdcall
+GetShortPathNameW(
+ LPCWSTR lpszLongPath,
+ LPWSTR lpszShortPath,
+ DWORD cchBuffer
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetLongPathNameA(
+ LPCSTR lpszShortPath,
+ LPSTR lpszLongPath,
+ DWORD cchBuffer
+ );
+__declspec(dllimport)
+DWORD
+__stdcall
+GetLongPathNameW(
+ LPCWSTR lpszShortPath,
+ LPWSTR lpszLongPath,
+ DWORD cchBuffer
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetProcessAffinityMask(
+ HANDLE hProcess,
+ LPDWORD lpProcessAffinityMask,
+ LPDWORD lpSystemAffinityMask
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetProcessAffinityMask(
+ HANDLE hProcess,
+ DWORD dwProcessAffinityMask
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetProcessTimes(
+ HANDLE hProcess,
+ LPFILETIME lpCreationTime,
+ LPFILETIME lpExitTime,
+ LPFILETIME lpKernelTime,
+ LPFILETIME lpUserTime
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetProcessWorkingSetSize(
+ HANDLE hProcess,
+ LPDWORD lpMinimumWorkingSetSize,
+ LPDWORD lpMaximumWorkingSetSize
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetProcessWorkingSetSize(
+ HANDLE hProcess,
+ DWORD dwMinimumWorkingSetSize,
+ DWORD dwMaximumWorkingSetSize
+ );
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+OpenProcess(
+ DWORD dwDesiredAccess,
+ BOOL bInheritHandle,
+ DWORD dwProcessId
+ );
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+GetCurrentProcess(
+ void
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetCurrentProcessId(
+ void
+ );
+
+__declspec(dllimport)
+void
+__stdcall
+ExitProcess(
+ UINT uExitCode
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+TerminateProcess(
+ HANDLE hProcess,
+ UINT uExitCode
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetExitCodeProcess(
+ HANDLE hProcess,
+ LPDWORD lpExitCode
+ );
+
+
+__declspec(dllimport)
+void
+__stdcall
+FatalExit(
+ int ExitCode
+ );
+
+__declspec(dllimport)
+LPSTR
+__stdcall
+GetEnvironmentStrings(
+ void
+ );
+
+__declspec(dllimport)
+LPWSTR
+__stdcall
+GetEnvironmentStringsW(
+ void
+ );
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+FreeEnvironmentStringsA(
+ LPSTR
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+FreeEnvironmentStringsW(
+ LPWSTR
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+void
+__stdcall
+RaiseException(
+ DWORD dwExceptionCode,
+ DWORD dwExceptionFlags,
+ DWORD nNumberOfArguments,
+ const DWORD *lpArguments
+ );
+
+__declspec(dllimport)
+LONG
+__stdcall
+UnhandledExceptionFilter(
+ struct _EXCEPTION_POINTERS *ExceptionInfo
+ );
+
+typedef LONG (__stdcall *PTOP_LEVEL_EXCEPTION_FILTER)(
+ struct _EXCEPTION_POINTERS *ExceptionInfo
+ );
+typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER;
+
+__declspec(dllimport)
+LPTOP_LEVEL_EXCEPTION_FILTER
+__stdcall
+SetUnhandledExceptionFilter(
+ LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+CreateThread(
+ LPSECURITY_ATTRIBUTES lpThreadAttributes,
+ DWORD dwStackSize,
+ LPTHREAD_START_ROUTINE lpStartAddress,
+ LPVOID lpParameter,
+ DWORD dwCreationFlags,
+ LPDWORD lpThreadId
+ );
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+CreateRemoteThread(
+ HANDLE hProcess,
+ LPSECURITY_ATTRIBUTES lpThreadAttributes,
+ DWORD dwStackSize,
+ LPTHREAD_START_ROUTINE lpStartAddress,
+ LPVOID lpParameter,
+ DWORD dwCreationFlags,
+ LPDWORD lpThreadId
+ );
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+GetCurrentThread(
+ void
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetCurrentThreadId(
+ void
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+SetThreadAffinityMask(
+ HANDLE hThread,
+ DWORD dwThreadAffinityMask
+ );
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetProcessPriorityBoost(
+ HANDLE hProcess,
+ BOOL bDisablePriorityBoost
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetProcessPriorityBoost(
+ HANDLE hProcess,
+ PBOOL pDisablePriorityBoost
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+RequestWakeupLatency(
+ LATENCY_TIME latency
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetThreadPriority(
+ HANDLE hThread,
+ int nPriority
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetThreadPriorityBoost(
+ HANDLE hThread,
+ BOOL bDisablePriorityBoost
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetThreadPriorityBoost(
+ HANDLE hThread,
+ PBOOL pDisablePriorityBoost
+ );
+
+__declspec(dllimport)
+int
+__stdcall
+GetThreadPriority(
+ HANDLE hThread
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetThreadTimes(
+ HANDLE hThread,
+ LPFILETIME lpCreationTime,
+ LPFILETIME lpExitTime,
+ LPFILETIME lpKernelTime,
+ LPFILETIME lpUserTime
+ );
+
+__declspec(dllimport)
+void
+__stdcall
+ExitThread(
+ DWORD dwExitCode
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+TerminateThread(
+ HANDLE hThread,
+ DWORD dwExitCode
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetExitCodeThread(
+ HANDLE hThread,
+ LPDWORD lpExitCode
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetThreadSelectorEntry(
+ HANDLE hThread,
+ DWORD dwSelector,
+ LPLDT_ENTRY lpSelectorEntry
+ );
+
+__declspec(dllimport)
+EXECUTION_STATE
+__stdcall
+SetThreadExecutionState(
+ EXECUTION_STATE esFlags
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetLastError(
+ void
+ );
+
+__declspec(dllimport)
+void
+__stdcall
+SetLastError(
+ DWORD dwErrCode
+ );
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetOverlappedResult(
+ HANDLE hFile,
+ LPOVERLAPPED lpOverlapped,
+ LPDWORD lpNumberOfBytesTransferred,
+ BOOL bWait
+ );
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+CreateIoCompletionPort(
+ HANDLE FileHandle,
+ HANDLE ExistingCompletionPort,
+ DWORD CompletionKey,
+ DWORD NumberOfConcurrentThreads
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetQueuedCompletionStatus(
+ HANDLE CompletionPort,
+ LPDWORD lpNumberOfBytesTransferred,
+ LPDWORD lpCompletionKey,
+ LPOVERLAPPED *lpOverlapped,
+ DWORD dwMilliseconds
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+PostQueuedCompletionStatus(
+ HANDLE CompletionPort,
+ DWORD dwNumberOfBytesTransferred,
+ DWORD dwCompletionKey,
+ LPOVERLAPPED lpOverlapped
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+UINT
+__stdcall
+SetErrorMode(
+ UINT uMode
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ReadProcessMemory(
+ HANDLE hProcess,
+ LPCVOID lpBaseAddress,
+ LPVOID lpBuffer,
+ DWORD nSize,
+ LPDWORD lpNumberOfBytesRead
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+WriteProcessMemory(
+ HANDLE hProcess,
+ LPVOID lpBaseAddress,
+ LPVOID lpBuffer,
+ DWORD nSize,
+ LPDWORD lpNumberOfBytesWritten
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetThreadContext(
+ HANDLE hThread,
+ LPCONTEXT lpContext
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetThreadContext(
+ HANDLE hThread,
+ const CONTEXT *lpContext
+ );
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+SuspendThread(
+ HANDLE hThread
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+ResumeThread(
+ HANDLE hThread
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+void
+__stdcall
+DebugBreak(
+ void
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+WaitForDebugEvent(
+ LPDEBUG_EVENT lpDebugEvent,
+ DWORD dwMilliseconds
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ContinueDebugEvent(
+ DWORD dwProcessId,
+ DWORD dwThreadId,
+ DWORD dwContinueStatus
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DebugActiveProcess(
+ DWORD dwProcessId
+ );
+
+__declspec(dllimport)
+void
+__stdcall
+InitializeCriticalSection(
+ LPCRITICAL_SECTION lpCriticalSection
+ );
+
+__declspec(dllimport)
+void
+__stdcall
+EnterCriticalSection(
+ LPCRITICAL_SECTION lpCriticalSection
+ );
+
+__declspec(dllimport)
+void
+__stdcall
+LeaveCriticalSection(
+ LPCRITICAL_SECTION lpCriticalSection
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+void
+__stdcall
+DeleteCriticalSection(
+ LPCRITICAL_SECTION lpCriticalSection
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetEvent(
+ HANDLE hEvent
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ResetEvent(
+ HANDLE hEvent
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+PulseEvent(
+ HANDLE hEvent
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ReleaseSemaphore(
+ HANDLE hSemaphore,
+ LONG lReleaseCount,
+ LPLONG lpPreviousCount
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ReleaseMutex(
+ HANDLE hMutex
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+WaitForSingleObject(
+ HANDLE hHandle,
+ DWORD dwMilliseconds
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+WaitForMultipleObjects(
+ DWORD nCount,
+ const HANDLE *lpHandles,
+ BOOL bWaitAll,
+ DWORD dwMilliseconds
+ );
+
+__declspec(dllimport)
+void
+__stdcall
+Sleep(
+ DWORD dwMilliseconds
+ );
+
+__declspec(dllimport)
+HGLOBAL
+__stdcall
+LoadResource(
+ HMODULE hModule,
+ HRSRC hResInfo
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+SizeofResource(
+ HMODULE hModule,
+ HRSRC hResInfo
+ );
+
+
+__declspec(dllimport)
+ATOM
+__stdcall
+GlobalDeleteAtom(
+ ATOM nAtom
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+InitAtomTable(
+ DWORD nSize
+ );
+
+__declspec(dllimport)
+ATOM
+__stdcall
+DeleteAtom(
+ ATOM nAtom
+ );
+
+__declspec(dllimport)
+UINT
+__stdcall
+SetHandleCount(
+ UINT uNumber
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetLogicalDrives(
+ void
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+LockFile(
+ HANDLE hFile,
+ DWORD dwFileOffsetLow,
+ DWORD dwFileOffsetHigh,
+ DWORD nNumberOfBytesToLockLow,
+ DWORD nNumberOfBytesToLockHigh
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+UnlockFile(
+ HANDLE hFile,
+ DWORD dwFileOffsetLow,
+ DWORD dwFileOffsetHigh,
+ DWORD nNumberOfBytesToUnlockLow,
+ DWORD nNumberOfBytesToUnlockHigh
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+LockFileEx(
+ HANDLE hFile,
+ DWORD dwFlags,
+ DWORD dwReserved,
+ DWORD nNumberOfBytesToLockLow,
+ DWORD nNumberOfBytesToLockHigh,
+ LPOVERLAPPED lpOverlapped
+ );
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+UnlockFileEx(
+ HANDLE hFile,
+ DWORD dwReserved,
+ DWORD nNumberOfBytesToUnlockLow,
+ DWORD nNumberOfBytesToUnlockHigh,
+ LPOVERLAPPED lpOverlapped
+ );
+
+typedef struct _BY_HANDLE_FILE_INFORMATION {
+ DWORD dwFileAttributes;
+ FILETIME ftCreationTime;
+ FILETIME ftLastAccessTime;
+ FILETIME ftLastWriteTime;
+ DWORD dwVolumeSerialNumber;
+ DWORD nFileSizeHigh;
+ DWORD nFileSizeLow;
+ DWORD nNumberOfLinks;
+ DWORD nFileIndexHigh;
+ DWORD nFileIndexLow;
+} BY_HANDLE_FILE_INFORMATION, *PBY_HANDLE_FILE_INFORMATION, *LPBY_HANDLE_FILE_INFORMATION;
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetFileInformationByHandle(
+ HANDLE hFile,
+ LPBY_HANDLE_FILE_INFORMATION lpFileInformation
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetFileType(
+ HANDLE hFile
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetFileSize(
+ HANDLE hFile,
+ LPDWORD lpFileSizeHigh
+ );
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+GetStdHandle(
+ DWORD nStdHandle
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetStdHandle(
+ DWORD nStdHandle,
+ HANDLE hHandle
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+WriteFile(
+ HANDLE hFile,
+ LPCVOID lpBuffer,
+ DWORD nNumberOfBytesToWrite,
+ LPDWORD lpNumberOfBytesWritten,
+ LPOVERLAPPED lpOverlapped
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ReadFile(
+ HANDLE hFile,
+ LPVOID lpBuffer,
+ DWORD nNumberOfBytesToRead,
+ LPDWORD lpNumberOfBytesRead,
+ LPOVERLAPPED lpOverlapped
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+FlushFileBuffers(
+ HANDLE hFile
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DeviceIoControl(
+ HANDLE hDevice,
+ DWORD dwIoControlCode,
+ LPVOID lpInBuffer,
+ DWORD nInBufferSize,
+ LPVOID lpOutBuffer,
+ DWORD nOutBufferSize,
+ LPDWORD lpBytesReturned,
+ LPOVERLAPPED lpOverlapped
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetDevicePowerState(
+ HANDLE hFile
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetEndOfFile(
+ HANDLE hFile
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+SetFilePointer(
+ HANDLE hFile,
+ LONG lDistanceToMove,
+ PLONG lpDistanceToMoveHigh,
+ DWORD dwMoveMethod
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+FindClose(
+ HANDLE hFindFile
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetFileTime(
+ HANDLE hFile,
+ LPFILETIME lpCreationTime,
+ LPFILETIME lpLastAccessTime,
+ LPFILETIME lpLastWriteTime
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetFileTime(
+ HANDLE hFile,
+ const FILETIME *lpCreationTime,
+ const FILETIME *lpLastAccessTime,
+ const FILETIME *lpLastWriteTime
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CloseHandle(
+ HANDLE hObject
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DuplicateHandle(
+ HANDLE hSourceProcessHandle,
+ HANDLE hSourceHandle,
+ HANDLE hTargetProcessHandle,
+ LPHANDLE lpTargetHandle,
+ DWORD dwDesiredAccess,
+ BOOL bInheritHandle,
+ DWORD dwOptions
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetHandleInformation(
+ HANDLE hObject,
+ LPDWORD lpdwFlags
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetHandleInformation(
+ HANDLE hObject,
+ DWORD dwMask,
+ DWORD dwFlags
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+LoadModule(
+ LPCSTR lpModuleName,
+ LPVOID lpParameterBlock
+ );
+
+__declspec(dllimport)
+UINT
+__stdcall
+WinExec(
+ LPCSTR lpCmdLine,
+ UINT uCmdShow
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ClearCommBreak(
+ HANDLE hFile
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ClearCommError(
+ HANDLE hFile,
+ LPDWORD lpErrors,
+ LPCOMSTAT lpStat
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetupComm(
+ HANDLE hFile,
+ DWORD dwInQueue,
+ DWORD dwOutQueue
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EscapeCommFunction(
+ HANDLE hFile,
+ DWORD dwFunc
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetCommConfig(
+ HANDLE hCommDev,
+ LPCOMMCONFIG lpCC,
+ LPDWORD lpdwSize
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetCommMask(
+ HANDLE hFile,
+ LPDWORD lpEvtMask
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetCommProperties(
+ HANDLE hFile,
+ LPCOMMPROP lpCommProp
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetCommModemStatus(
+ HANDLE hFile,
+ LPDWORD lpModemStat
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetCommState(
+ HANDLE hFile,
+ LPDCB lpDCB
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetCommTimeouts(
+ HANDLE hFile,
+ LPCOMMTIMEOUTS lpCommTimeouts
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+PurgeComm(
+ HANDLE hFile,
+ DWORD dwFlags
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetCommBreak(
+ HANDLE hFile
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetCommConfig(
+ HANDLE hCommDev,
+ LPCOMMCONFIG lpCC,
+ DWORD dwSize
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetCommMask(
+ HANDLE hFile,
+ DWORD dwEvtMask
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetCommState(
+ HANDLE hFile,
+ LPDCB lpDCB
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetCommTimeouts(
+ HANDLE hFile,
+ LPCOMMTIMEOUTS lpCommTimeouts
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+TransmitCommChar(
+ HANDLE hFile,
+ char cChar
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+WaitCommEvent(
+ HANDLE hFile,
+ LPDWORD lpEvtMask,
+ LPOVERLAPPED lpOverlapped
+ );
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+SetTapePosition(
+ HANDLE hDevice,
+ DWORD dwPositionMethod,
+ DWORD dwPartition,
+ DWORD dwOffsetLow,
+ DWORD dwOffsetHigh,
+ BOOL bImmediate
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetTapePosition(
+ HANDLE hDevice,
+ DWORD dwPositionType,
+ LPDWORD lpdwPartition,
+ LPDWORD lpdwOffsetLow,
+ LPDWORD lpdwOffsetHigh
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+PrepareTape(
+ HANDLE hDevice,
+ DWORD dwOperation,
+ BOOL bImmediate
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+EraseTape(
+ HANDLE hDevice,
+ DWORD dwEraseType,
+ BOOL bImmediate
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+CreateTapePartition(
+ HANDLE hDevice,
+ DWORD dwPartitionMethod,
+ DWORD dwCount,
+ DWORD dwSize
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+WriteTapemark(
+ HANDLE hDevice,
+ DWORD dwTapemarkType,
+ DWORD dwTapemarkCount,
+ BOOL bImmediate
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetTapeStatus(
+ HANDLE hDevice
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetTapeParameters(
+ HANDLE hDevice,
+ DWORD dwOperation,
+ LPDWORD lpdwSize,
+ LPVOID lpTapeInformation
+ );
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+SetTapeParameters(
+ HANDLE hDevice,
+ DWORD dwOperation,
+ LPVOID lpTapeInformation
+ );
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+Beep(
+ DWORD dwFreq,
+ DWORD dwDuration
+ );
+
+__declspec(dllimport)
+int
+__stdcall
+MulDiv(
+ int nNumber,
+ int nNumerator,
+ int nDenominator
+ );
+
+__declspec(dllimport)
+void
+__stdcall
+GetSystemTime(
+ LPSYSTEMTIME lpSystemTime
+ );
+
+__declspec(dllimport)
+void
+__stdcall
+GetSystemTimeAsFileTime(
+ LPFILETIME lpSystemTimeAsFileTime
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetSystemTime(
+ const SYSTEMTIME *lpSystemTime
+ );
+
+__declspec(dllimport)
+void
+__stdcall
+GetLocalTime(
+ LPSYSTEMTIME lpSystemTime
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetLocalTime(
+ const SYSTEMTIME *lpSystemTime
+ );
+
+__declspec(dllimport)
+void
+__stdcall
+GetSystemInfo(
+ LPSYSTEM_INFO lpSystemInfo
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsProcessorFeaturePresent(
+ DWORD ProcessorFeature
+ );
+
+typedef struct _TIME_ZONE_INFORMATION {
+ LONG Bias;
+ WCHAR StandardName[ 32 ];
+ SYSTEMTIME StandardDate;
+ LONG StandardBias;
+ WCHAR DaylightName[ 32 ];
+ SYSTEMTIME DaylightDate;
+ LONG DaylightBias;
+} TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SystemTimeToTzSpecificLocalTime(
+ LPTIME_ZONE_INFORMATION lpTimeZoneInformation,
+ LPSYSTEMTIME lpUniversalTime,
+ LPSYSTEMTIME lpLocalTime
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetTimeZoneInformation(
+ LPTIME_ZONE_INFORMATION lpTimeZoneInformation
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetTimeZoneInformation(
+ const TIME_ZONE_INFORMATION *lpTimeZoneInformation
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SystemTimeToFileTime(
+ const SYSTEMTIME *lpSystemTime,
+ LPFILETIME lpFileTime
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+FileTimeToLocalFileTime(
+ const FILETIME *lpFileTime,
+ LPFILETIME lpLocalFileTime
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+LocalFileTimeToFileTime(
+ const FILETIME *lpLocalFileTime,
+ LPFILETIME lpFileTime
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+FileTimeToSystemTime(
+ const FILETIME *lpFileTime,
+ LPSYSTEMTIME lpSystemTime
+ );
+
+__declspec(dllimport)
+LONG
+__stdcall
+CompareFileTime(
+ const FILETIME *lpFileTime1,
+ const FILETIME *lpFileTime2
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+FileTimeToDosDateTime(
+ const FILETIME *lpFileTime,
+ LPWORD lpFatDate,
+ LPWORD lpFatTime
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DosDateTimeToFileTime(
+ WORD wFatDate,
+ WORD wFatTime,
+ LPFILETIME lpFileTime
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetTickCount(
+ void
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetSystemTimeAdjustment(
+ DWORD dwTimeAdjustment,
+ BOOL bTimeAdjustmentDisabled
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetSystemTimeAdjustment(
+ PDWORD lpTimeAdjustment,
+ PDWORD lpTimeIncrement,
+ PBOOL lpTimeAdjustmentDisabled
+ );
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+FormatMessageA(
+ DWORD dwFlags,
+ LPCVOID lpSource,
+ DWORD dwMessageId,
+ DWORD dwLanguageId,
+ LPSTR lpBuffer,
+ DWORD nSize,
+ va_list *Arguments
+ );
+__declspec(dllimport)
+DWORD
+__stdcall
+FormatMessageW(
+ DWORD dwFlags,
+ LPCVOID lpSource,
+ DWORD dwMessageId,
+ DWORD dwLanguageId,
+ LPWSTR lpBuffer,
+ DWORD nSize,
+ va_list *Arguments
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CreatePipe(
+ PHANDLE hReadPipe,
+ PHANDLE hWritePipe,
+ LPSECURITY_ATTRIBUTES lpPipeAttributes,
+ DWORD nSize
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ConnectNamedPipe(
+ HANDLE hNamedPipe,
+ LPOVERLAPPED lpOverlapped
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DisconnectNamedPipe(
+ HANDLE hNamedPipe
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetNamedPipeHandleState(
+ HANDLE hNamedPipe,
+ LPDWORD lpMode,
+ LPDWORD lpMaxCollectionCount,
+ LPDWORD lpCollectDataTimeout
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetNamedPipeInfo(
+ HANDLE hNamedPipe,
+ LPDWORD lpFlags,
+ LPDWORD lpOutBufferSize,
+ LPDWORD lpInBufferSize,
+ LPDWORD lpMaxInstances
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+PeekNamedPipe(
+ HANDLE hNamedPipe,
+ LPVOID lpBuffer,
+ DWORD nBufferSize,
+ LPDWORD lpBytesRead,
+ LPDWORD lpTotalBytesAvail,
+ LPDWORD lpBytesLeftThisMessage
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+TransactNamedPipe(
+ HANDLE hNamedPipe,
+ LPVOID lpInBuffer,
+ DWORD nInBufferSize,
+ LPVOID lpOutBuffer,
+ DWORD nOutBufferSize,
+ LPDWORD lpBytesRead,
+ LPOVERLAPPED lpOverlapped
+ );
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+CreateMailslotA(
+ LPCSTR lpName,
+ DWORD nMaxMessageSize,
+ DWORD lReadTimeout,
+ LPSECURITY_ATTRIBUTES lpSecurityAttributes
+ );
+__declspec(dllimport)
+HANDLE
+__stdcall
+CreateMailslotW(
+ LPCWSTR lpName,
+ DWORD nMaxMessageSize,
+ DWORD lReadTimeout,
+ LPSECURITY_ATTRIBUTES lpSecurityAttributes
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetMailslotInfo(
+ HANDLE hMailslot,
+ LPDWORD lpMaxMessageSize,
+ LPDWORD lpNextSize,
+ LPDWORD lpMessageCount,
+ LPDWORD lpReadTimeout
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetMailslotInfo(
+ HANDLE hMailslot,
+ DWORD lReadTimeout
+ );
+
+__declspec(dllimport)
+LPVOID
+__stdcall
+MapViewOfFile(
+ HANDLE hFileMappingObject,
+ DWORD dwDesiredAccess,
+ DWORD dwFileOffsetHigh,
+ DWORD dwFileOffsetLow,
+ DWORD dwNumberOfBytesToMap
+ );
+
+
+__declspec(dllimport)
+PVOID64
+__stdcall
+MapViewOfFileVlm(
+ HANDLE hFileMappingObject,
+ DWORD dwDesiredAccess,
+ DWORDLONG ulOffset,
+ DWORDLONG ulNumberOfBytesToMap,
+ PVOID64 lpBaseAddress
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+FlushViewOfFile(
+ LPCVOID lpBaseAddress,
+ DWORD dwNumberOfBytesToFlush
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+UnmapViewOfFile(
+ LPCVOID lpBaseAddress
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+UnmapViewOfFileVlm(
+ PVOID64 lpBaseAddress
+ );
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EncryptFileA(
+ LPCSTR lpFileName
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+EncryptFileW(
+ LPCWSTR lpFileName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DecryptFileA(
+ LPCSTR lpFileName,
+ DWORD dwReserved
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+DecryptFileW(
+ LPCWSTR lpFileName,
+ DWORD dwReserved
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+typedef
+DWORD
+(*PFE_EXPORT_FUNC)(
+ PBYTE pbData,
+ PVOID pvCallbackContext,
+ ULONG ulLength
+ );
+
+typedef
+DWORD
+(*PFE_IMPORT_FUNC)(
+ PBYTE pbData,
+ PVOID pvCallbackContext,
+ PULONG ulLength
+ );
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+OpenRawA(
+ LPCSTR lpFileName,
+ ULONG ulFlags,
+ PVOID * pvContext
+ );
+__declspec(dllimport)
+DWORD
+__stdcall
+OpenRawW(
+ LPCWSTR lpFileName,
+ ULONG ulFlags,
+ PVOID * pvContext
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+ReadRaw(
+ PFE_EXPORT_FUNC pfExportCallback,
+ PVOID pvCallbackContext,
+ PVOID pvContext
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+WriteRaw(
+ PFE_IMPORT_FUNC pfImportCallback,
+ PVOID pvCallbackContext,
+ PVOID pvContext
+ );
+
+__declspec(dllimport)
+void
+__stdcall
+CloseRaw(
+ PVOID pvContext
+ );
+
+typedef struct _RECOVERY_AGENT_INFORMATIONA {
+ DWORD NextEntryOffset;
+ DWORD AgentNameLength;
+ CHAR AgentInformation[1];
+} RECOVERY_AGENT_INFORMATIONA, *LPRECOVERY_AGENT_INFORMATIONA;
+typedef struct _RECOVERY_AGENT_INFORMATIONW {
+ DWORD NextEntryOffset;
+ DWORD AgentNameLength;
+ WCHAR AgentInformation[1];
+} RECOVERY_AGENT_INFORMATIONW, *LPRECOVERY_AGENT_INFORMATIONW;
+
+
+
+
+typedef RECOVERY_AGENT_INFORMATIONA RECOVERY_AGENT_INFORMATION;
+typedef LPRECOVERY_AGENT_INFORMATIONA LPRECOVERY_AGENT_INFORMATION;
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+QueryRecoveryAgentsA(
+ LPCSTR lpFileName,
+ PDWORD AgentCount,
+ LPRECOVERY_AGENT_INFORMATIONA * RecoveryAgentInformation
+ );
+__declspec(dllimport)
+DWORD
+__stdcall
+QueryRecoveryAgentsW(
+ LPCWSTR lpFileName,
+ PDWORD AgentCount,
+ LPRECOVERY_AGENT_INFORMATIONW * RecoveryAgentInformation
+ );
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+lstrcmpA(
+ LPCSTR lpString1,
+ LPCSTR lpString2
+ );
+__declspec(dllimport)
+int
+__stdcall
+lstrcmpW(
+ LPCWSTR lpString1,
+ LPCWSTR lpString2
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+lstrcmpiA(
+ LPCSTR lpString1,
+ LPCSTR lpString2
+ );
+__declspec(dllimport)
+int
+__stdcall
+lstrcmpiW(
+ LPCWSTR lpString1,
+ LPCWSTR lpString2
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+LPSTR
+__stdcall
+lstrcpynA(
+ LPSTR lpString1,
+ LPCSTR lpString2,
+ int iMaxLength
+ );
+__declspec(dllimport)
+LPWSTR
+__stdcall
+lstrcpynW(
+ LPWSTR lpString1,
+ LPCWSTR lpString2,
+ int iMaxLength
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+LPSTR
+__stdcall
+lstrcpyA(
+ LPSTR lpString1,
+ LPCSTR lpString2
+ );
+__declspec(dllimport)
+LPWSTR
+__stdcall
+lstrcpyW(
+ LPWSTR lpString1,
+ LPCWSTR lpString2
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+LPSTR
+__stdcall
+lstrcatA(
+ LPSTR lpString1,
+ LPCSTR lpString2
+ );
+__declspec(dllimport)
+LPWSTR
+__stdcall
+lstrcatW(
+ LPWSTR lpString1,
+ LPCWSTR lpString2
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+lstrlenA(
+ LPCSTR lpString
+ );
+__declspec(dllimport)
+int
+__stdcall
+lstrlenW(
+ LPCWSTR lpString
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+HFILE
+__stdcall
+OpenFile(
+ LPCSTR lpFileName,
+ LPOFSTRUCT lpReOpenBuff,
+ UINT uStyle
+ );
+
+__declspec(dllimport)
+HFILE
+__stdcall
+_lopen(
+ LPCSTR lpPathName,
+ int iReadWrite
+ );
+
+__declspec(dllimport)
+HFILE
+__stdcall
+_lcreat(
+ LPCSTR lpPathName,
+ int iAttribute
+ );
+
+__declspec(dllimport)
+UINT
+__stdcall
+_lread(
+ HFILE hFile,
+ LPVOID lpBuffer,
+ UINT uBytes
+ );
+
+__declspec(dllimport)
+UINT
+__stdcall
+_lwrite(
+ HFILE hFile,
+ LPCSTR lpBuffer,
+ UINT uBytes
+ );
+
+__declspec(dllimport)
+long
+__stdcall
+_hread(
+ HFILE hFile,
+ LPVOID lpBuffer,
+ long lBytes
+ );
+
+__declspec(dllimport)
+long
+__stdcall
+_hwrite(
+ HFILE hFile,
+ LPCSTR lpBuffer,
+ long lBytes
+ );
+
+__declspec(dllimport)
+HFILE
+__stdcall
+_lclose(
+ HFILE hFile
+ );
+
+__declspec(dllimport)
+LONG
+__stdcall
+_llseek(
+ HFILE hFile,
+ LONG lOffset,
+ int iOrigin
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsTextUnicode(
+ const LPVOID lpBuffer,
+ int cb,
+ LPINT lpi
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+TlsAlloc(
+ void
+ );
+
+
+
+__declspec(dllimport)
+LPVOID
+__stdcall
+TlsGetValue(
+ DWORD dwTlsIndex
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+TlsSetValue(
+ DWORD dwTlsIndex,
+ LPVOID lpTlsValue
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+TlsFree(
+ DWORD dwTlsIndex
+ );
+
+typedef
+void
+(__stdcall *LPOVERLAPPED_COMPLETION_ROUTINE)(
+ DWORD dwErrorCode,
+ DWORD dwNumberOfBytesTransfered,
+ LPOVERLAPPED lpOverlapped
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+SleepEx(
+ DWORD dwMilliseconds,
+ BOOL bAlertable
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+WaitForSingleObjectEx(
+ HANDLE hHandle,
+ DWORD dwMilliseconds,
+ BOOL bAlertable
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+WaitForMultipleObjectsEx(
+ DWORD nCount,
+ const HANDLE *lpHandles,
+ BOOL bWaitAll,
+ DWORD dwMilliseconds,
+ BOOL bAlertable
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ReadFileEx(
+ HANDLE hFile,
+ LPVOID lpBuffer,
+ DWORD nNumberOfBytesToRead,
+ LPOVERLAPPED lpOverlapped,
+ LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+WriteFileEx(
+ HANDLE hFile,
+ LPCVOID lpBuffer,
+ DWORD nNumberOfBytesToWrite,
+ LPOVERLAPPED lpOverlapped,
+ LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+BackupRead(
+ HANDLE hFile,
+ LPBYTE lpBuffer,
+ DWORD nNumberOfBytesToRead,
+ LPDWORD lpNumberOfBytesRead,
+ BOOL bAbort,
+ BOOL bProcessSecurity,
+ LPVOID *lpContext
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+BackupSeek(
+ HANDLE hFile,
+ DWORD dwLowBytesToSeek,
+ DWORD dwHighBytesToSeek,
+ LPDWORD lpdwLowByteSeeked,
+ LPDWORD lpdwHighByteSeeked,
+ LPVOID *lpContext
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+BackupWrite(
+ HANDLE hFile,
+ LPBYTE lpBuffer,
+ DWORD nNumberOfBytesToWrite,
+ LPDWORD lpNumberOfBytesWritten,
+ BOOL bAbort,
+ BOOL bProcessSecurity,
+ LPVOID *lpContext
+ );
+
+
+
+
+typedef struct _WIN32_STREAM_ID {
+ DWORD dwStreamId ;
+ DWORD dwStreamAttributes ;
+ LARGE_INTEGER Size ;
+ DWORD dwStreamNameSize ;
+ WCHAR cStreamName[ 1 ] ;
+} WIN32_STREAM_ID, *LPWIN32_STREAM_ID ;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ReadFileScatter(
+ HANDLE hFile,
+ FILE_SEGMENT_ELEMENT aSegmentArray[],
+ DWORD nNumberOfBytesToRead,
+ LPDWORD lpReserved,
+ LPOVERLAPPED lpOverlapped
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+WriteFileGather(
+ HANDLE hFile,
+ FILE_SEGMENT_ELEMENT aSegmentArray[],
+ DWORD nNumberOfBytesToWrite,
+ LPDWORD lpReserved,
+ LPOVERLAPPED lpOverlapped
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _STARTUPINFOA {
+ DWORD cb;
+ LPSTR lpReserved;
+ LPSTR lpDesktop;
+ LPSTR lpTitle;
+ DWORD dwX;
+ DWORD dwY;
+ DWORD dwXSize;
+ DWORD dwYSize;
+ DWORD dwXCountChars;
+ DWORD dwYCountChars;
+ DWORD dwFillAttribute;
+ DWORD dwFlags;
+ WORD wShowWindow;
+ WORD cbReserved2;
+ LPBYTE lpReserved2;
+ HANDLE hStdInput;
+ HANDLE hStdOutput;
+ HANDLE hStdError;
+} STARTUPINFOA, *LPSTARTUPINFOA;
+typedef struct _STARTUPINFOW {
+ DWORD cb;
+ LPWSTR lpReserved;
+ LPWSTR lpDesktop;
+ LPWSTR lpTitle;
+ DWORD dwX;
+ DWORD dwY;
+ DWORD dwXSize;
+ DWORD dwYSize;
+ DWORD dwXCountChars;
+ DWORD dwYCountChars;
+ DWORD dwFillAttribute;
+ DWORD dwFlags;
+ WORD wShowWindow;
+ WORD cbReserved2;
+ LPBYTE lpReserved2;
+ HANDLE hStdInput;
+ HANDLE hStdOutput;
+ HANDLE hStdError;
+} STARTUPINFOW, *LPSTARTUPINFOW;
+
+
+
+
+typedef STARTUPINFOA STARTUPINFO;
+typedef LPSTARTUPINFOA LPSTARTUPINFO;
+
+
+
+
+typedef struct _WIN32_FIND_DATAA {
+ DWORD dwFileAttributes;
+ FILETIME ftCreationTime;
+ FILETIME ftLastAccessTime;
+ FILETIME ftLastWriteTime;
+ DWORD nFileSizeHigh;
+ DWORD nFileSizeLow;
+ DWORD dwReserved0;
+ DWORD dwReserved1;
+ CHAR cFileName[ 260 ];
+ CHAR cAlternateFileName[ 14 ];
+
+
+
+
+
+} WIN32_FIND_DATAA, *PWIN32_FIND_DATAA, *LPWIN32_FIND_DATAA;
+typedef struct _WIN32_FIND_DATAW {
+ DWORD dwFileAttributes;
+ FILETIME ftCreationTime;
+ FILETIME ftLastAccessTime;
+ FILETIME ftLastWriteTime;
+ DWORD nFileSizeHigh;
+ DWORD nFileSizeLow;
+ DWORD dwReserved0;
+ DWORD dwReserved1;
+ WCHAR cFileName[ 260 ];
+ WCHAR cAlternateFileName[ 14 ];
+
+
+
+
+
+} WIN32_FIND_DATAW, *PWIN32_FIND_DATAW, *LPWIN32_FIND_DATAW;
+
+
+
+
+
+typedef WIN32_FIND_DATAA WIN32_FIND_DATA;
+typedef PWIN32_FIND_DATAA PWIN32_FIND_DATA;
+typedef LPWIN32_FIND_DATAA LPWIN32_FIND_DATA;
+
+
+typedef struct _WIN32_FILE_ATTRIBUTE_DATA {
+ DWORD dwFileAttributes;
+ FILETIME ftCreationTime;
+ FILETIME ftLastAccessTime;
+ FILETIME ftLastWriteTime;
+ DWORD nFileSizeHigh;
+ DWORD nFileSizeLow;
+} WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+CreateMutexA(
+ LPSECURITY_ATTRIBUTES lpMutexAttributes,
+ BOOL bInitialOwner,
+ LPCSTR lpName
+ );
+__declspec(dllimport)
+HANDLE
+__stdcall
+CreateMutexW(
+ LPSECURITY_ATTRIBUTES lpMutexAttributes,
+ BOOL bInitialOwner,
+ LPCWSTR lpName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+OpenMutexA(
+ DWORD dwDesiredAccess,
+ BOOL bInheritHandle,
+ LPCSTR lpName
+ );
+__declspec(dllimport)
+HANDLE
+__stdcall
+OpenMutexW(
+ DWORD dwDesiredAccess,
+ BOOL bInheritHandle,
+ LPCWSTR lpName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+CreateEventA(
+ LPSECURITY_ATTRIBUTES lpEventAttributes,
+ BOOL bManualReset,
+ BOOL bInitialState,
+ LPCSTR lpName
+ );
+__declspec(dllimport)
+HANDLE
+__stdcall
+CreateEventW(
+ LPSECURITY_ATTRIBUTES lpEventAttributes,
+ BOOL bManualReset,
+ BOOL bInitialState,
+ LPCWSTR lpName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+OpenEventA(
+ DWORD dwDesiredAccess,
+ BOOL bInheritHandle,
+ LPCSTR lpName
+ );
+__declspec(dllimport)
+HANDLE
+__stdcall
+OpenEventW(
+ DWORD dwDesiredAccess,
+ BOOL bInheritHandle,
+ LPCWSTR lpName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+CreateSemaphoreA(
+ LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,
+ LONG lInitialCount,
+ LONG lMaximumCount,
+ LPCSTR lpName
+ );
+__declspec(dllimport)
+HANDLE
+__stdcall
+CreateSemaphoreW(
+ LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,
+ LONG lInitialCount,
+ LONG lMaximumCount,
+ LPCWSTR lpName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+OpenSemaphoreA(
+ DWORD dwDesiredAccess,
+ BOOL bInheritHandle,
+ LPCSTR lpName
+ );
+__declspec(dllimport)
+HANDLE
+__stdcall
+OpenSemaphoreW(
+ DWORD dwDesiredAccess,
+ BOOL bInheritHandle,
+ LPCWSTR lpName
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+CreateFileMappingA(
+ HANDLE hFile,
+ LPSECURITY_ATTRIBUTES lpFileMappingAttributes,
+ DWORD flProtect,
+ DWORD dwMaximumSizeHigh,
+ DWORD dwMaximumSizeLow,
+ LPCSTR lpName
+ );
+__declspec(dllimport)
+HANDLE
+__stdcall
+CreateFileMappingW(
+ HANDLE hFile,
+ LPSECURITY_ATTRIBUTES lpFileMappingAttributes,
+ DWORD flProtect,
+ DWORD dwMaximumSizeHigh,
+ DWORD dwMaximumSizeLow,
+ LPCWSTR lpName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+OpenFileMappingA(
+ DWORD dwDesiredAccess,
+ BOOL bInheritHandle,
+ LPCSTR lpName
+ );
+__declspec(dllimport)
+HANDLE
+__stdcall
+OpenFileMappingW(
+ DWORD dwDesiredAccess,
+ BOOL bInheritHandle,
+ LPCWSTR lpName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetLogicalDriveStringsA(
+ DWORD nBufferLength,
+ LPSTR lpBuffer
+ );
+__declspec(dllimport)
+DWORD
+__stdcall
+GetLogicalDriveStringsW(
+ DWORD nBufferLength,
+ LPWSTR lpBuffer
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+HMODULE
+__stdcall
+LoadLibraryA(
+ LPCSTR lpLibFileName
+ );
+__declspec(dllimport)
+HMODULE
+__stdcall
+LoadLibraryW(
+ LPCWSTR lpLibFileName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+HMODULE
+__stdcall
+LoadLibraryExA(
+ LPCSTR lpLibFileName,
+ HANDLE hFile,
+ DWORD dwFlags
+ );
+__declspec(dllimport)
+HMODULE
+__stdcall
+LoadLibraryExW(
+ LPCWSTR lpLibFileName,
+ HANDLE hFile,
+ DWORD dwFlags
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetModuleFileNameA(
+ HMODULE hModule,
+ LPSTR lpFilename,
+ DWORD nSize
+ );
+__declspec(dllimport)
+DWORD
+__stdcall
+GetModuleFileNameW(
+ HMODULE hModule,
+ LPWSTR lpFilename,
+ DWORD nSize
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+HMODULE
+__stdcall
+GetModuleHandleA(
+ LPCSTR lpModuleName
+ );
+__declspec(dllimport)
+HMODULE
+__stdcall
+GetModuleHandleW(
+ LPCWSTR lpModuleName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CreateProcessA(
+ LPCSTR lpApplicationName,
+ LPSTR lpCommandLine,
+ LPSECURITY_ATTRIBUTES lpProcessAttributes,
+ LPSECURITY_ATTRIBUTES lpThreadAttributes,
+ BOOL bInheritHandles,
+ DWORD dwCreationFlags,
+ LPVOID lpEnvironment,
+ LPCSTR lpCurrentDirectory,
+ LPSTARTUPINFOA lpStartupInfo,
+ LPPROCESS_INFORMATION lpProcessInformation
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+CreateProcessW(
+ LPCWSTR lpApplicationName,
+ LPWSTR lpCommandLine,
+ LPSECURITY_ATTRIBUTES lpProcessAttributes,
+ LPSECURITY_ATTRIBUTES lpThreadAttributes,
+ BOOL bInheritHandles,
+ DWORD dwCreationFlags,
+ LPVOID lpEnvironment,
+ LPCWSTR lpCurrentDirectory,
+ LPSTARTUPINFOW lpStartupInfo,
+ LPPROCESS_INFORMATION lpProcessInformation
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetProcessShutdownParameters(
+ DWORD dwLevel,
+ DWORD dwFlags
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetProcessShutdownParameters(
+ LPDWORD lpdwLevel,
+ LPDWORD lpdwFlags
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetProcessVersion(
+ DWORD ProcessId
+ );
+
+__declspec(dllimport)
+void
+__stdcall
+FatalAppExitA(
+ UINT uAction,
+ LPCSTR lpMessageText
+ );
+__declspec(dllimport)
+void
+__stdcall
+FatalAppExitW(
+ UINT uAction,
+ LPCWSTR lpMessageText
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+void
+__stdcall
+GetStartupInfoA(
+ LPSTARTUPINFOA lpStartupInfo
+ );
+__declspec(dllimport)
+void
+__stdcall
+GetStartupInfoW(
+ LPSTARTUPINFOW lpStartupInfo
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+LPSTR
+__stdcall
+GetCommandLineA(
+ void
+ );
+__declspec(dllimport)
+LPWSTR
+__stdcall
+GetCommandLineW(
+ void
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetEnvironmentVariableA(
+ LPCSTR lpName,
+ LPSTR lpBuffer,
+ DWORD nSize
+ );
+__declspec(dllimport)
+DWORD
+__stdcall
+GetEnvironmentVariableW(
+ LPCWSTR lpName,
+ LPWSTR lpBuffer,
+ DWORD nSize
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetEnvironmentVariableA(
+ LPCSTR lpName,
+ LPCSTR lpValue
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+SetEnvironmentVariableW(
+ LPCWSTR lpName,
+ LPCWSTR lpValue
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+ExpandEnvironmentStringsA(
+ LPCSTR lpSrc,
+ LPSTR lpDst,
+ DWORD nSize
+ );
+__declspec(dllimport)
+DWORD
+__stdcall
+ExpandEnvironmentStringsW(
+ LPCWSTR lpSrc,
+ LPWSTR lpDst,
+ DWORD nSize
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+void
+__stdcall
+OutputDebugStringA(
+ LPCSTR lpOutputString
+ );
+__declspec(dllimport)
+void
+__stdcall
+OutputDebugStringW(
+ LPCWSTR lpOutputString
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+HRSRC
+__stdcall
+FindResourceA(
+ HMODULE hModule,
+ LPCSTR lpName,
+ LPCSTR lpType
+ );
+__declspec(dllimport)
+HRSRC
+__stdcall
+FindResourceW(
+ HMODULE hModule,
+ LPCWSTR lpName,
+ LPCWSTR lpType
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+HRSRC
+__stdcall
+FindResourceExA(
+ HMODULE hModule,
+ LPCSTR lpType,
+ LPCSTR lpName,
+ WORD wLanguage
+ );
+__declspec(dllimport)
+HRSRC
+__stdcall
+FindResourceExW(
+ HMODULE hModule,
+ LPCWSTR lpType,
+ LPCWSTR lpName,
+ WORD wLanguage
+ );
+
+
+
+
+
+
+
+typedef BOOL (__stdcall* ENUMRESTYPEPROC)(HMODULE hModule, LPTSTR lpType,
+ LONG lParam);
+typedef BOOL (__stdcall* ENUMRESNAMEPROC)(HMODULE hModule, LPCTSTR lpType,
+ LPTSTR lpName, LONG lParam);
+typedef BOOL (__stdcall* ENUMRESLANGPROC)(HMODULE hModule, LPCTSTR lpType,
+ LPCTSTR lpName, WORD wLanguage, LONG lParam);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumResourceTypesA(
+ HMODULE hModule,
+ ENUMRESTYPEPROC lpEnumFunc,
+ LONG lParam
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumResourceTypesW(
+ HMODULE hModule,
+ ENUMRESTYPEPROC lpEnumFunc,
+ LONG lParam
+ );
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumResourceNamesA(
+ HMODULE hModule,
+ LPCSTR lpType,
+ ENUMRESNAMEPROC lpEnumFunc,
+ LONG lParam
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumResourceNamesW(
+ HMODULE hModule,
+ LPCWSTR lpType,
+ ENUMRESNAMEPROC lpEnumFunc,
+ LONG lParam
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumResourceLanguagesA(
+ HMODULE hModule,
+ LPCSTR lpType,
+ LPCSTR lpName,
+ ENUMRESLANGPROC lpEnumFunc,
+ LONG lParam
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumResourceLanguagesW(
+ HMODULE hModule,
+ LPCWSTR lpType,
+ LPCWSTR lpName,
+ ENUMRESLANGPROC lpEnumFunc,
+ LONG lParam
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+BeginUpdateResourceA(
+ LPCSTR pFileName,
+ BOOL bDeleteExistingResources
+ );
+__declspec(dllimport)
+HANDLE
+__stdcall
+BeginUpdateResourceW(
+ LPCWSTR pFileName,
+ BOOL bDeleteExistingResources
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+UpdateResourceA(
+ HANDLE hUpdate,
+ LPCSTR lpType,
+ LPCSTR lpName,
+ WORD wLanguage,
+ LPVOID lpData,
+ DWORD cbData
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+UpdateResourceW(
+ HANDLE hUpdate,
+ LPCWSTR lpType,
+ LPCWSTR lpName,
+ WORD wLanguage,
+ LPVOID lpData,
+ DWORD cbData
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EndUpdateResourceA(
+ HANDLE hUpdate,
+ BOOL fDiscard
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+EndUpdateResourceW(
+ HANDLE hUpdate,
+ BOOL fDiscard
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+ATOM
+__stdcall
+GlobalAddAtomA(
+ LPCSTR lpString
+ );
+__declspec(dllimport)
+ATOM
+__stdcall
+GlobalAddAtomW(
+ LPCWSTR lpString
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+ATOM
+__stdcall
+GlobalFindAtomA(
+ LPCSTR lpString
+ );
+__declspec(dllimport)
+ATOM
+__stdcall
+GlobalFindAtomW(
+ LPCWSTR lpString
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+UINT
+__stdcall
+GlobalGetAtomNameA(
+ ATOM nAtom,
+ LPSTR lpBuffer,
+ int nSize
+ );
+__declspec(dllimport)
+UINT
+__stdcall
+GlobalGetAtomNameW(
+ ATOM nAtom,
+ LPWSTR lpBuffer,
+ int nSize
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+ATOM
+__stdcall
+AddAtomA(
+ LPCSTR lpString
+ );
+__declspec(dllimport)
+ATOM
+__stdcall
+AddAtomW(
+ LPCWSTR lpString
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+ATOM
+__stdcall
+FindAtomA(
+ LPCSTR lpString
+ );
+__declspec(dllimport)
+ATOM
+__stdcall
+FindAtomW(
+ LPCWSTR lpString
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+UINT
+__stdcall
+GetAtomNameA(
+ ATOM nAtom,
+ LPSTR lpBuffer,
+ int nSize
+ );
+__declspec(dllimport)
+UINT
+__stdcall
+GetAtomNameW(
+ ATOM nAtom,
+ LPWSTR lpBuffer,
+ int nSize
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+UINT
+__stdcall
+GetProfileIntA(
+ LPCSTR lpAppName,
+ LPCSTR lpKeyName,
+ INT nDefault
+ );
+__declspec(dllimport)
+UINT
+__stdcall
+GetProfileIntW(
+ LPCWSTR lpAppName,
+ LPCWSTR lpKeyName,
+ INT nDefault
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetProfileStringA(
+ LPCSTR lpAppName,
+ LPCSTR lpKeyName,
+ LPCSTR lpDefault,
+ LPSTR lpReturnedString,
+ DWORD nSize
+ );
+__declspec(dllimport)
+DWORD
+__stdcall
+GetProfileStringW(
+ LPCWSTR lpAppName,
+ LPCWSTR lpKeyName,
+ LPCWSTR lpDefault,
+ LPWSTR lpReturnedString,
+ DWORD nSize
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+WriteProfileStringA(
+ LPCSTR lpAppName,
+ LPCSTR lpKeyName,
+ LPCSTR lpString
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+WriteProfileStringW(
+ LPCWSTR lpAppName,
+ LPCWSTR lpKeyName,
+ LPCWSTR lpString
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetProfileSectionA(
+ LPCSTR lpAppName,
+ LPSTR lpReturnedString,
+ DWORD nSize
+ );
+__declspec(dllimport)
+DWORD
+__stdcall
+GetProfileSectionW(
+ LPCWSTR lpAppName,
+ LPWSTR lpReturnedString,
+ DWORD nSize
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+WriteProfileSectionA(
+ LPCSTR lpAppName,
+ LPCSTR lpString
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+WriteProfileSectionW(
+ LPCWSTR lpAppName,
+ LPCWSTR lpString
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+UINT
+__stdcall
+GetPrivateProfileIntA(
+ LPCSTR lpAppName,
+ LPCSTR lpKeyName,
+ INT nDefault,
+ LPCSTR lpFileName
+ );
+__declspec(dllimport)
+UINT
+__stdcall
+GetPrivateProfileIntW(
+ LPCWSTR lpAppName,
+ LPCWSTR lpKeyName,
+ INT nDefault,
+ LPCWSTR lpFileName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetPrivateProfileStringA(
+ LPCSTR lpAppName,
+ LPCSTR lpKeyName,
+ LPCSTR lpDefault,
+ LPSTR lpReturnedString,
+ DWORD nSize,
+ LPCSTR lpFileName
+ );
+__declspec(dllimport)
+DWORD
+__stdcall
+GetPrivateProfileStringW(
+ LPCWSTR lpAppName,
+ LPCWSTR lpKeyName,
+ LPCWSTR lpDefault,
+ LPWSTR lpReturnedString,
+ DWORD nSize,
+ LPCWSTR lpFileName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+WritePrivateProfileStringA(
+ LPCSTR lpAppName,
+ LPCSTR lpKeyName,
+ LPCSTR lpString,
+ LPCSTR lpFileName
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+WritePrivateProfileStringW(
+ LPCWSTR lpAppName,
+ LPCWSTR lpKeyName,
+ LPCWSTR lpString,
+ LPCWSTR lpFileName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetPrivateProfileSectionA(
+ LPCSTR lpAppName,
+ LPSTR lpReturnedString,
+ DWORD nSize,
+ LPCSTR lpFileName
+ );
+__declspec(dllimport)
+DWORD
+__stdcall
+GetPrivateProfileSectionW(
+ LPCWSTR lpAppName,
+ LPWSTR lpReturnedString,
+ DWORD nSize,
+ LPCWSTR lpFileName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+WritePrivateProfileSectionA(
+ LPCSTR lpAppName,
+ LPCSTR lpString,
+ LPCSTR lpFileName
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+WritePrivateProfileSectionW(
+ LPCWSTR lpAppName,
+ LPCWSTR lpString,
+ LPCWSTR lpFileName
+ );
+
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetPrivateProfileSectionNamesA(
+ LPSTR lpszReturnBuffer,
+ DWORD nSize,
+ LPCSTR lpFileName
+ );
+__declspec(dllimport)
+DWORD
+__stdcall
+GetPrivateProfileSectionNamesW(
+ LPWSTR lpszReturnBuffer,
+ DWORD nSize,
+ LPCWSTR lpFileName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetPrivateProfileStructA(
+ LPCSTR lpszSection,
+ LPCSTR lpszKey,
+ LPVOID lpStruct,
+ UINT uSizeStruct,
+ LPCSTR szFile
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+GetPrivateProfileStructW(
+ LPCWSTR lpszSection,
+ LPCWSTR lpszKey,
+ LPVOID lpStruct,
+ UINT uSizeStruct,
+ LPCWSTR szFile
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+WritePrivateProfileStructA(
+ LPCSTR lpszSection,
+ LPCSTR lpszKey,
+ LPVOID lpStruct,
+ UINT uSizeStruct,
+ LPCSTR szFile
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+WritePrivateProfileStructW(
+ LPCWSTR lpszSection,
+ LPCWSTR lpszKey,
+ LPVOID lpStruct,
+ UINT uSizeStruct,
+ LPCWSTR szFile
+ );
+
+
+
+
+
+
+
+__declspec(dllimport)
+UINT
+__stdcall
+GetDriveTypeA(
+ LPCSTR lpRootPathName
+ );
+__declspec(dllimport)
+UINT
+__stdcall
+GetDriveTypeW(
+ LPCWSTR lpRootPathName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+UINT
+__stdcall
+GetSystemDirectoryA(
+ LPSTR lpBuffer,
+ UINT uSize
+ );
+__declspec(dllimport)
+UINT
+__stdcall
+GetSystemDirectoryW(
+ LPWSTR lpBuffer,
+ UINT uSize
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetTempPathA(
+ DWORD nBufferLength,
+ LPSTR lpBuffer
+ );
+__declspec(dllimport)
+DWORD
+__stdcall
+GetTempPathW(
+ DWORD nBufferLength,
+ LPWSTR lpBuffer
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+UINT
+__stdcall
+GetTempFileNameA(
+ LPCSTR lpPathName,
+ LPCSTR lpPrefixString,
+ UINT uUnique,
+ LPSTR lpTempFileName
+ );
+__declspec(dllimport)
+UINT
+__stdcall
+GetTempFileNameW(
+ LPCWSTR lpPathName,
+ LPCWSTR lpPrefixString,
+ UINT uUnique,
+ LPWSTR lpTempFileName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+UINT
+__stdcall
+GetWindowsDirectoryA(
+ LPSTR lpBuffer,
+ UINT uSize
+ );
+__declspec(dllimport)
+UINT
+__stdcall
+GetWindowsDirectoryW(
+ LPWSTR lpBuffer,
+ UINT uSize
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetCurrentDirectoryA(
+ LPCSTR lpPathName
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+SetCurrentDirectoryW(
+ LPCWSTR lpPathName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetCurrentDirectoryA(
+ DWORD nBufferLength,
+ LPSTR lpBuffer
+ );
+__declspec(dllimport)
+DWORD
+__stdcall
+GetCurrentDirectoryW(
+ DWORD nBufferLength,
+ LPWSTR lpBuffer
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetDiskFreeSpaceA(
+ LPCSTR lpRootPathName,
+ LPDWORD lpSectorsPerCluster,
+ LPDWORD lpBytesPerSector,
+ LPDWORD lpNumberOfFreeClusters,
+ LPDWORD lpTotalNumberOfClusters
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+GetDiskFreeSpaceW(
+ LPCWSTR lpRootPathName,
+ LPDWORD lpSectorsPerCluster,
+ LPDWORD lpBytesPerSector,
+ LPDWORD lpNumberOfFreeClusters,
+ LPDWORD lpTotalNumberOfClusters
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetDiskFreeSpaceExA(
+ LPCSTR lpDirectoryName,
+ PULARGE_INTEGER lpFreeBytesAvailableToCaller,
+ PULARGE_INTEGER lpTotalNumberOfBytes,
+ PULARGE_INTEGER lpTotalNumberOfFreeBytes
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+GetDiskFreeSpaceExW(
+ LPCWSTR lpDirectoryName,
+ PULARGE_INTEGER lpFreeBytesAvailableToCaller,
+ PULARGE_INTEGER lpTotalNumberOfBytes,
+ PULARGE_INTEGER lpTotalNumberOfFreeBytes
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CreateDirectoryA(
+ LPCSTR lpPathName,
+ LPSECURITY_ATTRIBUTES lpSecurityAttributes
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+CreateDirectoryW(
+ LPCWSTR lpPathName,
+ LPSECURITY_ATTRIBUTES lpSecurityAttributes
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CreateDirectoryExA(
+ LPCSTR lpTemplateDirectory,
+ LPCSTR lpNewDirectory,
+ LPSECURITY_ATTRIBUTES lpSecurityAttributes
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+CreateDirectoryExW(
+ LPCWSTR lpTemplateDirectory,
+ LPCWSTR lpNewDirectory,
+ LPSECURITY_ATTRIBUTES lpSecurityAttributes
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+RemoveDirectoryA(
+ LPCSTR lpPathName
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+RemoveDirectoryW(
+ LPCWSTR lpPathName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetFullPathNameA(
+ LPCSTR lpFileName,
+ DWORD nBufferLength,
+ LPSTR lpBuffer,
+ LPSTR *lpFilePart
+ );
+__declspec(dllimport)
+DWORD
+__stdcall
+GetFullPathNameW(
+ LPCWSTR lpFileName,
+ DWORD nBufferLength,
+ LPWSTR lpBuffer,
+ LPWSTR *lpFilePart
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DefineDosDeviceA(
+ DWORD dwFlags,
+ LPCSTR lpDeviceName,
+ LPCSTR lpTargetPath
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+DefineDosDeviceW(
+ DWORD dwFlags,
+ LPCWSTR lpDeviceName,
+ LPCWSTR lpTargetPath
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+QueryDosDeviceA(
+ LPCSTR lpDeviceName,
+ LPSTR lpTargetPath,
+ DWORD ucchMax
+ );
+__declspec(dllimport)
+DWORD
+__stdcall
+QueryDosDeviceW(
+ LPCWSTR lpDeviceName,
+ LPWSTR lpTargetPath,
+ DWORD ucchMax
+ );
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+CreateFileA(
+ LPCSTR lpFileName,
+ DWORD dwDesiredAccess,
+ DWORD dwShareMode,
+ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
+ DWORD dwCreationDisposition,
+ DWORD dwFlagsAndAttributes,
+ HANDLE hTemplateFile
+ );
+__declspec(dllimport)
+HANDLE
+__stdcall
+CreateFileW(
+ LPCWSTR lpFileName,
+ DWORD dwDesiredAccess,
+ DWORD dwShareMode,
+ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
+ DWORD dwCreationDisposition,
+ DWORD dwFlagsAndAttributes,
+ HANDLE hTemplateFile
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetFileAttributesA(
+ LPCSTR lpFileName,
+ DWORD dwFileAttributes
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+SetFileAttributesW(
+ LPCWSTR lpFileName,
+ DWORD dwFileAttributes
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetFileAttributesA(
+ LPCSTR lpFileName
+ );
+__declspec(dllimport)
+DWORD
+__stdcall
+GetFileAttributesW(
+ LPCWSTR lpFileName
+ );
+
+
+
+
+
+
+typedef enum _GET_FILEEX_INFO_LEVELS {
+ GetFileExInfoStandard,
+ GetFileExMaxInfoLevel
+} GET_FILEEX_INFO_LEVELS;
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetFileAttributesExA(
+ LPCSTR lpFileName,
+ GET_FILEEX_INFO_LEVELS fInfoLevelId,
+ LPVOID lpFileInformation
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+GetFileAttributesExW(
+ LPCWSTR lpFileName,
+ GET_FILEEX_INFO_LEVELS fInfoLevelId,
+ LPVOID lpFileInformation
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetCompressedFileSizeA(
+ LPCSTR lpFileName,
+ LPDWORD lpFileSizeHigh
+ );
+__declspec(dllimport)
+DWORD
+__stdcall
+GetCompressedFileSizeW(
+ LPCWSTR lpFileName,
+ LPDWORD lpFileSizeHigh
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DeleteFileA(
+ LPCSTR lpFileName
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+DeleteFileW(
+ LPCWSTR lpFileName
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+FindFirstFileA(
+ LPCSTR lpFileName,
+ LPWIN32_FIND_DATAA lpFindFileData
+ );
+__declspec(dllimport)
+HANDLE
+__stdcall
+FindFirstFileW(
+ LPCWSTR lpFileName,
+ LPWIN32_FIND_DATAW lpFindFileData
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+FindNextFileA(
+ HANDLE hFindFile,
+ LPWIN32_FIND_DATAA lpFindFileData
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+FindNextFileW(
+ HANDLE hFindFile,
+ LPWIN32_FIND_DATAW lpFindFileData
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+SearchPathA(
+ LPCSTR lpPath,
+ LPCSTR lpFileName,
+ LPCSTR lpExtension,
+ DWORD nBufferLength,
+ LPSTR lpBuffer,
+ LPSTR *lpFilePart
+ );
+__declspec(dllimport)
+DWORD
+__stdcall
+SearchPathW(
+ LPCWSTR lpPath,
+ LPCWSTR lpFileName,
+ LPCWSTR lpExtension,
+ DWORD nBufferLength,
+ LPWSTR lpBuffer,
+ LPWSTR *lpFilePart
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CopyFileA(
+ LPCSTR lpExistingFileName,
+ LPCSTR lpNewFileName,
+ BOOL bFailIfExists
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+CopyFileW(
+ LPCWSTR lpExistingFileName,
+ LPCWSTR lpNewFileName,
+ BOOL bFailIfExists
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+MoveFileA(
+ LPCSTR lpExistingFileName,
+ LPCSTR lpNewFileName
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+MoveFileW(
+ LPCWSTR lpExistingFileName,
+ LPCWSTR lpNewFileName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+MoveFileExA(
+ LPCSTR lpExistingFileName,
+ LPCSTR lpNewFileName,
+ DWORD dwFlags
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+MoveFileExW(
+ LPCWSTR lpExistingFileName,
+ LPCWSTR lpNewFileName,
+ DWORD dwFlags
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+CreateNamedPipeA(
+ LPCSTR lpName,
+ DWORD dwOpenMode,
+ DWORD dwPipeMode,
+ DWORD nMaxInstances,
+ DWORD nOutBufferSize,
+ DWORD nInBufferSize,
+ DWORD nDefaultTimeOut,
+ LPSECURITY_ATTRIBUTES lpSecurityAttributes
+ );
+__declspec(dllimport)
+HANDLE
+__stdcall
+CreateNamedPipeW(
+ LPCWSTR lpName,
+ DWORD dwOpenMode,
+ DWORD dwPipeMode,
+ DWORD nMaxInstances,
+ DWORD nOutBufferSize,
+ DWORD nInBufferSize,
+ DWORD nDefaultTimeOut,
+ LPSECURITY_ATTRIBUTES lpSecurityAttributes
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetNamedPipeHandleStateA(
+ HANDLE hNamedPipe,
+ LPDWORD lpState,
+ LPDWORD lpCurInstances,
+ LPDWORD lpMaxCollectionCount,
+ LPDWORD lpCollectDataTimeout,
+ LPSTR lpUserName,
+ DWORD nMaxUserNameSize
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+GetNamedPipeHandleStateW(
+ HANDLE hNamedPipe,
+ LPDWORD lpState,
+ LPDWORD lpCurInstances,
+ LPDWORD lpMaxCollectionCount,
+ LPDWORD lpCollectDataTimeout,
+ LPWSTR lpUserName,
+ DWORD nMaxUserNameSize
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CallNamedPipeA(
+ LPCSTR lpNamedPipeName,
+ LPVOID lpInBuffer,
+ DWORD nInBufferSize,
+ LPVOID lpOutBuffer,
+ DWORD nOutBufferSize,
+ LPDWORD lpBytesRead,
+ DWORD nTimeOut
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+CallNamedPipeW(
+ LPCWSTR lpNamedPipeName,
+ LPVOID lpInBuffer,
+ DWORD nInBufferSize,
+ LPVOID lpOutBuffer,
+ DWORD nOutBufferSize,
+ LPDWORD lpBytesRead,
+ DWORD nTimeOut
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+WaitNamedPipeA(
+ LPCSTR lpNamedPipeName,
+ DWORD nTimeOut
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+WaitNamedPipeW(
+ LPCWSTR lpNamedPipeName,
+ DWORD nTimeOut
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetVolumeLabelA(
+ LPCSTR lpRootPathName,
+ LPCSTR lpVolumeName
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+SetVolumeLabelW(
+ LPCWSTR lpRootPathName,
+ LPCWSTR lpVolumeName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+void
+__stdcall
+SetFileApisToOEM( void );
+
+__declspec(dllimport)
+void
+__stdcall
+SetFileApisToANSI( void );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+AreFileApisANSI( void );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetVolumeInformationA(
+ LPCSTR lpRootPathName,
+ LPSTR lpVolumeNameBuffer,
+ DWORD nVolumeNameSize,
+ LPDWORD lpVolumeSerialNumber,
+ LPDWORD lpMaximumComponentLength,
+ LPDWORD lpFileSystemFlags,
+ LPSTR lpFileSystemNameBuffer,
+ DWORD nFileSystemNameSize
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+GetVolumeInformationW(
+ LPCWSTR lpRootPathName,
+ LPWSTR lpVolumeNameBuffer,
+ DWORD nVolumeNameSize,
+ LPDWORD lpVolumeSerialNumber,
+ LPDWORD lpMaximumComponentLength,
+ LPDWORD lpFileSystemFlags,
+ LPWSTR lpFileSystemNameBuffer,
+ DWORD nFileSystemNameSize
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CancelIo(
+ HANDLE hFile
+ );
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ClearEventLogA (
+ HANDLE hEventLog,
+ LPCSTR lpBackupFileName
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+ClearEventLogW (
+ HANDLE hEventLog,
+ LPCWSTR lpBackupFileName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+BackupEventLogA (
+ HANDLE hEventLog,
+ LPCSTR lpBackupFileName
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+BackupEventLogW (
+ HANDLE hEventLog,
+ LPCWSTR lpBackupFileName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CloseEventLog (
+ HANDLE hEventLog
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DeregisterEventSource (
+ HANDLE hEventLog
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+NotifyChangeEventLog(
+ HANDLE hEventLog,
+ HANDLE hEvent
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetNumberOfEventLogRecords (
+ HANDLE hEventLog,
+ PDWORD NumberOfRecords
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetOldestEventLogRecord (
+ HANDLE hEventLog,
+ PDWORD OldestRecord
+ );
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+OpenEventLogA (
+ LPCSTR lpUNCServerName,
+ LPCSTR lpSourceName
+ );
+__declspec(dllimport)
+HANDLE
+__stdcall
+OpenEventLogW (
+ LPCWSTR lpUNCServerName,
+ LPCWSTR lpSourceName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+RegisterEventSourceA (
+ LPCSTR lpUNCServerName,
+ LPCSTR lpSourceName
+ );
+__declspec(dllimport)
+HANDLE
+__stdcall
+RegisterEventSourceW (
+ LPCWSTR lpUNCServerName,
+ LPCWSTR lpSourceName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+OpenBackupEventLogA (
+ LPCSTR lpUNCServerName,
+ LPCSTR lpFileName
+ );
+__declspec(dllimport)
+HANDLE
+__stdcall
+OpenBackupEventLogW (
+ LPCWSTR lpUNCServerName,
+ LPCWSTR lpFileName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ReadEventLogA (
+ HANDLE hEventLog,
+ DWORD dwReadFlags,
+ DWORD dwRecordOffset,
+ LPVOID lpBuffer,
+ DWORD nNumberOfBytesToRead,
+ DWORD *pnBytesRead,
+ DWORD *pnMinNumberOfBytesNeeded
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+ReadEventLogW (
+ HANDLE hEventLog,
+ DWORD dwReadFlags,
+ DWORD dwRecordOffset,
+ LPVOID lpBuffer,
+ DWORD nNumberOfBytesToRead,
+ DWORD *pnBytesRead,
+ DWORD *pnMinNumberOfBytesNeeded
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ReportEventA (
+ HANDLE hEventLog,
+ WORD wType,
+ WORD wCategory,
+ DWORD dwEventID,
+ PSID lpUserSid,
+ WORD wNumStrings,
+ DWORD dwDataSize,
+ LPCSTR *lpStrings,
+ LPVOID lpRawData
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+ReportEventW (
+ HANDLE hEventLog,
+ WORD wType,
+ WORD wCategory,
+ DWORD dwEventID,
+ PSID lpUserSid,
+ WORD wNumStrings,
+ DWORD dwDataSize,
+ LPCWSTR *lpStrings,
+ LPVOID lpRawData
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DuplicateToken(
+ HANDLE ExistingTokenHandle,
+ SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
+ PHANDLE DuplicateTokenHandle
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetKernelObjectSecurity (
+ HANDLE Handle,
+ SECURITY_INFORMATION RequestedInformation,
+ PSECURITY_DESCRIPTOR pSecurityDescriptor,
+ DWORD nLength,
+ LPDWORD lpnLengthNeeded
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ImpersonateNamedPipeClient(
+ HANDLE hNamedPipe
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ImpersonateSelf(
+ SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+RevertToSelf (
+ void
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetThreadToken (
+ PHANDLE Thread,
+ HANDLE Token
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+AccessCheck (
+ PSECURITY_DESCRIPTOR pSecurityDescriptor,
+ HANDLE ClientToken,
+ DWORD DesiredAccess,
+ PGENERIC_MAPPING GenericMapping,
+ PPRIVILEGE_SET PrivilegeSet,
+ LPDWORD PrivilegeSetLength,
+ LPDWORD GrantedAccess,
+ LPBOOL AccessStatus
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+OpenProcessToken (
+ HANDLE ProcessHandle,
+ DWORD DesiredAccess,
+ PHANDLE TokenHandle
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+OpenThreadToken (
+ HANDLE ThreadHandle,
+ DWORD DesiredAccess,
+ BOOL OpenAsSelf,
+ PHANDLE TokenHandle
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetTokenInformation (
+ HANDLE TokenHandle,
+ TOKEN_INFORMATION_CLASS TokenInformationClass,
+ LPVOID TokenInformation,
+ DWORD TokenInformationLength,
+ PDWORD ReturnLength
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetTokenInformation (
+ HANDLE TokenHandle,
+ TOKEN_INFORMATION_CLASS TokenInformationClass,
+ LPVOID TokenInformation,
+ DWORD TokenInformationLength
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+AdjustTokenPrivileges (
+ HANDLE TokenHandle,
+ BOOL DisableAllPrivileges,
+ PTOKEN_PRIVILEGES NewState,
+ DWORD BufferLength,
+ PTOKEN_PRIVILEGES PreviousState,
+ PDWORD ReturnLength
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+AdjustTokenGroups (
+ HANDLE TokenHandle,
+ BOOL ResetToDefault,
+ PTOKEN_GROUPS NewState,
+ DWORD BufferLength,
+ PTOKEN_GROUPS PreviousState,
+ PDWORD ReturnLength
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+PrivilegeCheck (
+ HANDLE ClientToken,
+ PPRIVILEGE_SET RequiredPrivileges,
+ LPBOOL pfResult
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+AccessCheckAndAuditAlarmA (
+ LPCSTR SubsystemName,
+ LPVOID HandleId,
+ LPSTR ObjectTypeName,
+ LPSTR ObjectName,
+ PSECURITY_DESCRIPTOR SecurityDescriptor,
+ DWORD DesiredAccess,
+ PGENERIC_MAPPING GenericMapping,
+ BOOL ObjectCreation,
+ LPDWORD GrantedAccess,
+ LPBOOL AccessStatus,
+ LPBOOL pfGenerateOnClose
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+AccessCheckAndAuditAlarmW (
+ LPCWSTR SubsystemName,
+ LPVOID HandleId,
+ LPWSTR ObjectTypeName,
+ LPWSTR ObjectName,
+ PSECURITY_DESCRIPTOR SecurityDescriptor,
+ DWORD DesiredAccess,
+ PGENERIC_MAPPING GenericMapping,
+ BOOL ObjectCreation,
+ LPDWORD GrantedAccess,
+ LPBOOL AccessStatus,
+ LPBOOL pfGenerateOnClose
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ObjectOpenAuditAlarmA (
+ LPCSTR SubsystemName,
+ LPVOID HandleId,
+ LPSTR ObjectTypeName,
+ LPSTR ObjectName,
+ PSECURITY_DESCRIPTOR pSecurityDescriptor,
+ HANDLE ClientToken,
+ DWORD DesiredAccess,
+ DWORD GrantedAccess,
+ PPRIVILEGE_SET Privileges,
+ BOOL ObjectCreation,
+ BOOL AccessGranted,
+ LPBOOL GenerateOnClose
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+ObjectOpenAuditAlarmW (
+ LPCWSTR SubsystemName,
+ LPVOID HandleId,
+ LPWSTR ObjectTypeName,
+ LPWSTR ObjectName,
+ PSECURITY_DESCRIPTOR pSecurityDescriptor,
+ HANDLE ClientToken,
+ DWORD DesiredAccess,
+ DWORD GrantedAccess,
+ PPRIVILEGE_SET Privileges,
+ BOOL ObjectCreation,
+ BOOL AccessGranted,
+ LPBOOL GenerateOnClose
+ );
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ObjectPrivilegeAuditAlarmA (
+ LPCSTR SubsystemName,
+ LPVOID HandleId,
+ HANDLE ClientToken,
+ DWORD DesiredAccess,
+ PPRIVILEGE_SET Privileges,
+ BOOL AccessGranted
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+ObjectPrivilegeAuditAlarmW (
+ LPCWSTR SubsystemName,
+ LPVOID HandleId,
+ HANDLE ClientToken,
+ DWORD DesiredAccess,
+ PPRIVILEGE_SET Privileges,
+ BOOL AccessGranted
+ );
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ObjectCloseAuditAlarmA (
+ LPCSTR SubsystemName,
+ LPVOID HandleId,
+ BOOL GenerateOnClose
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+ObjectCloseAuditAlarmW (
+ LPCWSTR SubsystemName,
+ LPVOID HandleId,
+ BOOL GenerateOnClose
+ );
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ObjectDeleteAuditAlarmA (
+ LPCSTR SubsystemName,
+ LPVOID HandleId,
+ BOOL GenerateOnClose
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+ObjectDeleteAuditAlarmW (
+ LPCWSTR SubsystemName,
+ LPVOID HandleId,
+ BOOL GenerateOnClose
+ );
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+PrivilegedServiceAuditAlarmA (
+ LPCSTR SubsystemName,
+ LPCSTR ServiceName,
+ HANDLE ClientToken,
+ PPRIVILEGE_SET Privileges,
+ BOOL AccessGranted
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+PrivilegedServiceAuditAlarmW (
+ LPCWSTR SubsystemName,
+ LPCWSTR ServiceName,
+ HANDLE ClientToken,
+ PPRIVILEGE_SET Privileges,
+ BOOL AccessGranted
+ );
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsValidSid (
+ PSID pSid
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EqualSid (
+ PSID pSid1,
+ PSID pSid2
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EqualPrefixSid (
+ PSID pSid1,
+ PSID pSid2
+ );
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetSidLengthRequired (
+ UCHAR nSubAuthorityCount
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+AllocateAndInitializeSid (
+ PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority,
+ BYTE nSubAuthorityCount,
+ DWORD nSubAuthority0,
+ DWORD nSubAuthority1,
+ DWORD nSubAuthority2,
+ DWORD nSubAuthority3,
+ DWORD nSubAuthority4,
+ DWORD nSubAuthority5,
+ DWORD nSubAuthority6,
+ DWORD nSubAuthority7,
+ PSID *pSid
+ );
+
+__declspec(dllimport)
+PVOID
+__stdcall
+FreeSid(
+ PSID pSid
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+InitializeSid (
+ PSID Sid,
+ PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority,
+ BYTE nSubAuthorityCount
+ );
+
+
+__declspec(dllimport)
+PSID_IDENTIFIER_AUTHORITY
+__stdcall
+GetSidIdentifierAuthority (
+ PSID pSid
+ );
+
+
+__declspec(dllimport)
+PDWORD
+__stdcall
+GetSidSubAuthority (
+ PSID pSid,
+ DWORD nSubAuthority
+ );
+
+
+__declspec(dllimport)
+PUCHAR
+__stdcall
+GetSidSubAuthorityCount (
+ PSID pSid
+ );
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetLengthSid (
+ PSID pSid
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CopySid (
+ DWORD nDestinationSidLength,
+ PSID pDestinationSid,
+ PSID pSourceSid
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+AreAllAccessesGranted (
+ DWORD GrantedAccess,
+ DWORD DesiredAccess
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+AreAnyAccessesGranted (
+ DWORD GrantedAccess,
+ DWORD DesiredAccess
+ );
+
+
+__declspec(dllimport)
+void
+__stdcall
+MapGenericMask (
+ PDWORD AccessMask,
+ PGENERIC_MAPPING GenericMapping
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsValidAcl (
+ PACL pAcl
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+InitializeAcl (
+ PACL pAcl,
+ DWORD nAclLength,
+ DWORD dwAclRevision
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetAclInformation (
+ PACL pAcl,
+ LPVOID pAclInformation,
+ DWORD nAclInformationLength,
+ ACL_INFORMATION_CLASS dwAclInformationClass
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetAclInformation (
+ PACL pAcl,
+ LPVOID pAclInformation,
+ DWORD nAclInformationLength,
+ ACL_INFORMATION_CLASS dwAclInformationClass
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+AddAce (
+ PACL pAcl,
+ DWORD dwAceRevision,
+ DWORD dwStartingAceIndex,
+ LPVOID pAceList,
+ DWORD nAceListLength
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DeleteAce (
+ PACL pAcl,
+ DWORD dwAceIndex
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetAce (
+ PACL pAcl,
+ DWORD dwAceIndex,
+ LPVOID *pAce
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+AddAccessAllowedAce (
+ PACL pAcl,
+ DWORD dwAceRevision,
+ DWORD AccessMask,
+ PSID pSid
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+AddAccessDeniedAce (
+ PACL pAcl,
+ DWORD dwAceRevision,
+ DWORD AccessMask,
+ PSID pSid
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+AddAuditAccessAce(
+ PACL pAcl,
+ DWORD dwAceRevision,
+ DWORD dwAccessMask,
+ PSID pSid,
+ BOOL bAuditSuccess,
+ BOOL bAuditFailure
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+FindFirstFreeAce (
+ PACL pAcl,
+ LPVOID *pAce
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+InitializeSecurityDescriptor (
+ PSECURITY_DESCRIPTOR pSecurityDescriptor,
+ DWORD dwRevision
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsValidSecurityDescriptor (
+ PSECURITY_DESCRIPTOR pSecurityDescriptor
+ );
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetSecurityDescriptorLength (
+ PSECURITY_DESCRIPTOR pSecurityDescriptor
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetSecurityDescriptorControl (
+ PSECURITY_DESCRIPTOR pSecurityDescriptor,
+ PSECURITY_DESCRIPTOR_CONTROL pControl,
+ LPDWORD lpdwRevision
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetSecurityDescriptorDacl (
+ PSECURITY_DESCRIPTOR pSecurityDescriptor,
+ BOOL bDaclPresent,
+ PACL pDacl,
+ BOOL bDaclDefaulted
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetSecurityDescriptorDacl (
+ PSECURITY_DESCRIPTOR pSecurityDescriptor,
+ LPBOOL lpbDaclPresent,
+ PACL *pDacl,
+ LPBOOL lpbDaclDefaulted
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetSecurityDescriptorSacl (
+ PSECURITY_DESCRIPTOR pSecurityDescriptor,
+ BOOL bSaclPresent,
+ PACL pSacl,
+ BOOL bSaclDefaulted
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetSecurityDescriptorSacl (
+ PSECURITY_DESCRIPTOR pSecurityDescriptor,
+ LPBOOL lpbSaclPresent,
+ PACL *pSacl,
+ LPBOOL lpbSaclDefaulted
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetSecurityDescriptorOwner (
+ PSECURITY_DESCRIPTOR pSecurityDescriptor,
+ PSID pOwner,
+ BOOL bOwnerDefaulted
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetSecurityDescriptorOwner (
+ PSECURITY_DESCRIPTOR pSecurityDescriptor,
+ PSID *pOwner,
+ LPBOOL lpbOwnerDefaulted
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetSecurityDescriptorGroup (
+ PSECURITY_DESCRIPTOR pSecurityDescriptor,
+ PSID pGroup,
+ BOOL bGroupDefaulted
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetSecurityDescriptorGroup (
+ PSECURITY_DESCRIPTOR pSecurityDescriptor,
+ PSID *pGroup,
+ LPBOOL lpbGroupDefaulted
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CreatePrivateObjectSecurity (
+ PSECURITY_DESCRIPTOR ParentDescriptor,
+ PSECURITY_DESCRIPTOR CreatorDescriptor,
+ PSECURITY_DESCRIPTOR * NewDescriptor,
+ BOOL IsDirectoryObject,
+ HANDLE Token,
+ PGENERIC_MAPPING GenericMapping
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetPrivateObjectSecurity (
+ SECURITY_INFORMATION SecurityInformation,
+ PSECURITY_DESCRIPTOR ModificationDescriptor,
+ PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
+ PGENERIC_MAPPING GenericMapping,
+ HANDLE Token
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetPrivateObjectSecurity (
+ PSECURITY_DESCRIPTOR ObjectDescriptor,
+ SECURITY_INFORMATION SecurityInformation,
+ PSECURITY_DESCRIPTOR ResultantDescriptor,
+ DWORD DescriptorLength,
+ PDWORD ReturnLength
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DestroyPrivateObjectSecurity (
+ PSECURITY_DESCRIPTOR * ObjectDescriptor
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+MakeSelfRelativeSD (
+ PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor,
+ PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,
+ LPDWORD lpdwBufferLength
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+MakeAbsoluteSD (
+ PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,
+ PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor,
+ LPDWORD lpdwAbsoluteSecurityDescriptorSize,
+ PACL pDacl,
+ LPDWORD lpdwDaclSize,
+ PACL pSacl,
+ LPDWORD lpdwSaclSize,
+ PSID pOwner,
+ LPDWORD lpdwOwnerSize,
+ PSID pPrimaryGroup,
+ LPDWORD lpdwPrimaryGroupSize
+ );
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetFileSecurityA (
+ LPCSTR lpFileName,
+ SECURITY_INFORMATION SecurityInformation,
+ PSECURITY_DESCRIPTOR pSecurityDescriptor
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+SetFileSecurityW (
+ LPCWSTR lpFileName,
+ SECURITY_INFORMATION SecurityInformation,
+ PSECURITY_DESCRIPTOR pSecurityDescriptor
+ );
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetFileSecurityA (
+ LPCSTR lpFileName,
+ SECURITY_INFORMATION RequestedInformation,
+ PSECURITY_DESCRIPTOR pSecurityDescriptor,
+ DWORD nLength,
+ LPDWORD lpnLengthNeeded
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+GetFileSecurityW (
+ LPCWSTR lpFileName,
+ SECURITY_INFORMATION RequestedInformation,
+ PSECURITY_DESCRIPTOR pSecurityDescriptor,
+ DWORD nLength,
+ LPDWORD lpnLengthNeeded
+ );
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetKernelObjectSecurity (
+ HANDLE Handle,
+ SECURITY_INFORMATION SecurityInformation,
+ PSECURITY_DESCRIPTOR SecurityDescriptor
+ );
+
+
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+FindFirstChangeNotificationA(
+ LPCSTR lpPathName,
+ BOOL bWatchSubtree,
+ DWORD dwNotifyFilter
+ );
+__declspec(dllimport)
+HANDLE
+__stdcall
+FindFirstChangeNotificationW(
+ LPCWSTR lpPathName,
+ BOOL bWatchSubtree,
+ DWORD dwNotifyFilter
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+FindNextChangeNotification(
+ HANDLE hChangeHandle
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+FindCloseChangeNotification(
+ HANDLE hChangeHandle
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+VirtualLock(
+ LPVOID lpAddress,
+ DWORD dwSize
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+VirtualUnlock(
+ LPVOID lpAddress,
+ DWORD dwSize
+ );
+
+__declspec(dllimport)
+LPVOID
+__stdcall
+MapViewOfFileEx(
+ HANDLE hFileMappingObject,
+ DWORD dwDesiredAccess,
+ DWORD dwFileOffsetHigh,
+ DWORD dwFileOffsetLow,
+ DWORD dwNumberOfBytesToMap,
+ LPVOID lpBaseAddress
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetPriorityClass(
+ HANDLE hProcess,
+ DWORD dwPriorityClass
+ );
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetPriorityClass(
+ HANDLE hProcess
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsBadReadPtr(
+ const void *lp,
+ UINT ucb
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsBadWritePtr(
+ LPVOID lp,
+ UINT ucb
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsBadHugeReadPtr(
+ const void *lp,
+ UINT ucb
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsBadHugeWritePtr(
+ LPVOID lp,
+ UINT ucb
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsBadCodePtr(
+ FARPROC lpfn
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsBadStringPtrA(
+ LPCSTR lpsz,
+ UINT ucchMax
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+IsBadStringPtrW(
+ LPCWSTR lpsz,
+ UINT ucchMax
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+LookupAccountSidA(
+ LPCSTR lpSystemName,
+ PSID Sid,
+ LPSTR Name,
+ LPDWORD cbName,
+ LPSTR ReferencedDomainName,
+ LPDWORD cbReferencedDomainName,
+ PSID_NAME_USE peUse
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+LookupAccountSidW(
+ LPCWSTR lpSystemName,
+ PSID Sid,
+ LPWSTR Name,
+ LPDWORD cbName,
+ LPWSTR ReferencedDomainName,
+ LPDWORD cbReferencedDomainName,
+ PSID_NAME_USE peUse
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+LookupAccountNameA(
+ LPCSTR lpSystemName,
+ LPCSTR lpAccountName,
+ PSID Sid,
+ LPDWORD cbSid,
+ LPSTR ReferencedDomainName,
+ LPDWORD cbReferencedDomainName,
+ PSID_NAME_USE peUse
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+LookupAccountNameW(
+ LPCWSTR lpSystemName,
+ LPCWSTR lpAccountName,
+ PSID Sid,
+ LPDWORD cbSid,
+ LPWSTR ReferencedDomainName,
+ LPDWORD cbReferencedDomainName,
+ PSID_NAME_USE peUse
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+LookupPrivilegeValueA(
+ LPCSTR lpSystemName,
+ LPCSTR lpName,
+ PLUID lpLuid
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+LookupPrivilegeValueW(
+ LPCWSTR lpSystemName,
+ LPCWSTR lpName,
+ PLUID lpLuid
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+LookupPrivilegeNameA(
+ LPCSTR lpSystemName,
+ PLUID lpLuid,
+ LPSTR lpName,
+ LPDWORD cbName
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+LookupPrivilegeNameW(
+ LPCWSTR lpSystemName,
+ PLUID lpLuid,
+ LPWSTR lpName,
+ LPDWORD cbName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+LookupPrivilegeDisplayNameA(
+ LPCSTR lpSystemName,
+ LPCSTR lpName,
+ LPSTR lpDisplayName,
+ LPDWORD cbDisplayName,
+ LPDWORD lpLanguageId
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+LookupPrivilegeDisplayNameW(
+ LPCWSTR lpSystemName,
+ LPCWSTR lpName,
+ LPWSTR lpDisplayName,
+ LPDWORD cbDisplayName,
+ LPDWORD lpLanguageId
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+AllocateLocallyUniqueId(
+ PLUID Luid
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+BuildCommDCBA(
+ LPCSTR lpDef,
+ LPDCB lpDCB
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+BuildCommDCBW(
+ LPCWSTR lpDef,
+ LPDCB lpDCB
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+BuildCommDCBAndTimeoutsA(
+ LPCSTR lpDef,
+ LPDCB lpDCB,
+ LPCOMMTIMEOUTS lpCommTimeouts
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+BuildCommDCBAndTimeoutsW(
+ LPCWSTR lpDef,
+ LPDCB lpDCB,
+ LPCOMMTIMEOUTS lpCommTimeouts
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CommConfigDialogA(
+ LPCSTR lpszName,
+ HWND hWnd,
+ LPCOMMCONFIG lpCC
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+CommConfigDialogW(
+ LPCWSTR lpszName,
+ HWND hWnd,
+ LPCOMMCONFIG lpCC
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetDefaultCommConfigA(
+ LPCSTR lpszName,
+ LPCOMMCONFIG lpCC,
+ LPDWORD lpdwSize
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+GetDefaultCommConfigW(
+ LPCWSTR lpszName,
+ LPCOMMCONFIG lpCC,
+ LPDWORD lpdwSize
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetDefaultCommConfigA(
+ LPCSTR lpszName,
+ LPCOMMCONFIG lpCC,
+ DWORD dwSize
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+SetDefaultCommConfigW(
+ LPCWSTR lpszName,
+ LPCOMMCONFIG lpCC,
+ DWORD dwSize
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetComputerNameA (
+ LPSTR lpBuffer,
+ LPDWORD nSize
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+GetComputerNameW (
+ LPWSTR lpBuffer,
+ LPDWORD nSize
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetComputerNameA (
+ LPCSTR lpComputerName
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+SetComputerNameW (
+ LPCWSTR lpComputerName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetUserNameA (
+ LPSTR lpBuffer,
+ LPDWORD nSize
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+GetUserNameW (
+ LPWSTR lpBuffer,
+ LPDWORD nSize
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+LogonUserA (
+ LPSTR lpszUsername,
+ LPSTR lpszDomain,
+ LPSTR lpszPassword,
+ DWORD dwLogonType,
+ DWORD dwLogonProvider,
+ PHANDLE phToken
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+LogonUserW (
+ LPWSTR lpszUsername,
+ LPWSTR lpszDomain,
+ LPWSTR lpszPassword,
+ DWORD dwLogonType,
+ DWORD dwLogonProvider,
+ PHANDLE phToken
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ImpersonateLoggedOnUser(
+ HANDLE hToken
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CreateProcessAsUserA (
+ HANDLE hToken,
+ LPCSTR lpApplicationName,
+ LPSTR lpCommandLine,
+ LPSECURITY_ATTRIBUTES lpProcessAttributes,
+ LPSECURITY_ATTRIBUTES lpThreadAttributes,
+ BOOL bInheritHandles,
+ DWORD dwCreationFlags,
+ LPVOID lpEnvironment,
+ LPCSTR lpCurrentDirectory,
+ LPSTARTUPINFOA lpStartupInfo,
+ LPPROCESS_INFORMATION lpProcessInformation
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+CreateProcessAsUserW (
+ HANDLE hToken,
+ LPCWSTR lpApplicationName,
+ LPWSTR lpCommandLine,
+ LPSECURITY_ATTRIBUTES lpProcessAttributes,
+ LPSECURITY_ATTRIBUTES lpThreadAttributes,
+ BOOL bInheritHandles,
+ DWORD dwCreationFlags,
+ LPVOID lpEnvironment,
+ LPCWSTR lpCurrentDirectory,
+ LPSTARTUPINFOW lpStartupInfo,
+ LPPROCESS_INFORMATION lpProcessInformation
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DuplicateTokenEx(
+ HANDLE hExistingToken,
+ DWORD dwDesiredAccess,
+ LPSECURITY_ATTRIBUTES lpTokenAttributes,
+ SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
+ TOKEN_TYPE TokenType,
+ PHANDLE phNewToken);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CreateRestrictedToken(
+ HANDLE ExistingTokenHandle,
+ DWORD Flags,
+ DWORD DisableSidCount,
+ PSID_AND_ATTRIBUTES SidsToDisable ,
+ DWORD DeletePrivilegeCount,
+ PLUID_AND_ATTRIBUTES PrivilegesToDelete ,
+ DWORD RestrictedSidCount,
+ PSID_AND_ATTRIBUTES SidsToRestrict ,
+ PHANDLE NewTokenHandle
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsTokenRestricted(
+ HANDLE TokenHandle
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+QueryPerformanceCounter(
+ LARGE_INTEGER *lpPerformanceCount
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+QueryPerformanceFrequency(
+ LARGE_INTEGER *lpFrequency
+ );
+
+typedef struct _OSVERSIONINFOA {
+ DWORD dwOSVersionInfoSize;
+ DWORD dwMajorVersion;
+ DWORD dwMinorVersion;
+ DWORD dwBuildNumber;
+ DWORD dwPlatformId;
+ CHAR szCSDVersion[ 128 ];
+} OSVERSIONINFOA, *POSVERSIONINFOA, *LPOSVERSIONINFOA;
+typedef struct _OSVERSIONINFOW {
+ DWORD dwOSVersionInfoSize;
+ DWORD dwMajorVersion;
+ DWORD dwMinorVersion;
+ DWORD dwBuildNumber;
+ DWORD dwPlatformId;
+ WCHAR szCSDVersion[ 128 ];
+} OSVERSIONINFOW, *POSVERSIONINFOW, *LPOSVERSIONINFOW;
+
+
+
+
+
+typedef OSVERSIONINFOA OSVERSIONINFO;
+typedef POSVERSIONINFOA POSVERSIONINFO;
+typedef LPOSVERSIONINFOA LPOSVERSIONINFO;
+
+
+typedef struct _OSVERSIONINFOEXA {
+ DWORD dwOSVersionInfoSize;
+ DWORD dwMajorVersion;
+ DWORD dwMinorVersion;
+ DWORD dwBuildNumber;
+ DWORD dwPlatformId;
+ CHAR szCSDVersion[ 128 ];
+ WORD wServicePackMajor;
+ WORD wServicePackMinor;
+ WORD wReserved[2];
+} OSVERSIONINFOEXA, *POSVERSIONINFOEXA, *LPOSVERSIONINFOEXA;
+typedef struct _OSVERSIONINFOEXW {
+ DWORD dwOSVersionInfoSize;
+ DWORD dwMajorVersion;
+ DWORD dwMinorVersion;
+ DWORD dwBuildNumber;
+ DWORD dwPlatformId;
+ WCHAR szCSDVersion[ 128 ];
+ WORD wServicePackMajor;
+ WORD wServicePackMinor;
+ WORD wReserved[2];
+} OSVERSIONINFOEXW, *POSVERSIONINFOEXW, *LPOSVERSIONINFOEXW;
+
+
+
+
+
+typedef OSVERSIONINFOEXA OSVERSIONINFOEX;
+typedef POSVERSIONINFOEXA POSVERSIONINFOEX;
+typedef LPOSVERSIONINFOEXA LPOSVERSIONINFOEX;
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetVersionExA(
+ LPOSVERSIONINFOA lpVersionInformation
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+GetVersionExW(
+ LPOSVERSIONINFOW lpVersionInformation
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _SYSTEM_POWER_STATUS {
+ BYTE ACLineStatus;
+ BYTE BatteryFlag;
+ BYTE BatteryLifePercent;
+ BYTE Reserved1;
+ DWORD BatteryLifeTime;
+ DWORD BatteryFullLifeTime;
+} SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;
+
+BOOL
+__stdcall
+GetSystemPowerStatus(
+ LPSYSTEM_POWER_STATUS lpSystemPowerStatus
+ );
+
+BOOL
+__stdcall
+SetSystemPowerState(
+ BOOL fSuspend,
+ BOOL fForce
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _WIN_CERTIFICATE {
+ DWORD dwLength;
+ WORD wRevision;
+ WORD wCertificateType;
+ BYTE bCertificate[1];
+} WIN_CERTIFICATE, *LPWIN_CERTIFICATE;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+BOOL
+__stdcall
+WinSubmitCertificate(
+ LPWIN_CERTIFICATE lpCertificate
+ );
+
+
+
+
+
+
+
+
+
+LONG
+__stdcall
+WinVerifyTrust(
+ HWND hwnd,
+ GUID * ActionID,
+ LPVOID ActionData
+ );
+
+
+BOOL
+__stdcall
+WinLoadTrustProvider(
+ GUID * ActionID
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+typedef LPVOID WIN_TRUST_SUBJECT;
+
+
+
+
+
+typedef struct _WIN_TRUST_ACTDATA_CONTEXT_WITH_SUBJECT {
+
+ HANDLE hClientToken;
+ GUID * SubjectType;
+ WIN_TRUST_SUBJECT Subject;
+
+} WIN_TRUST_ACTDATA_CONTEXT_WITH_SUBJECT, *LPWIN_TRUST_ACTDATA_CONTEXT_WITH_SUBJECT ;
+
+
+typedef struct _WIN_TRUST_ACTDATA_SUBJECT_ONLY {
+
+ GUID * SubjectType;
+ WIN_TRUST_SUBJECT Subject;
+
+} WIN_TRUST_ACTDATA_SUBJECT_ONLY, *LPWIN_TRUST_ACTDATA_SUBJECT_ONLY;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _WIN_TRUST_SUBJECT_FILE {
+
+ HANDLE hFile;
+ LPCWSTR lpPath;
+
+} WIN_TRUST_SUBJECT_FILE, *LPWIN_TRUST_SUBJECT_FILE;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _WIN_TRUST_SUBJECT_FILE_AND_DISPLAY {
+
+ HANDLE hFile;
+ LPCWSTR lpPath;
+ LPCWSTR lpDisplayName;
+
+
+} WIN_TRUST_SUBJECT_FILE_AND_DISPLAY, *LPWIN_TRUST_SUBJECT_FILE_AND_DISPLAY;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _WIN_SPUB_TRUSTED_PUBLISHER_DATA {
+
+ HANDLE hClientToken;
+ LPWIN_CERTIFICATE lpCertificate;
+
+} WIN_SPUB_TRUSTED_PUBLISHER_DATA, *LPWIN_SPUB_TRUSTED_PUBLISHER_DATA;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _DRAWPATRECT {
+ POINT ptPosition;
+ POINT ptSize;
+ WORD wStyle;
+ WORD wPattern;
+} DRAWPATRECT, *PDRAWPATRECT;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _PSINJECTDATA {
+
+ DWORD DataBytes;
+ DWORD InjectionPoint;
+ DWORD Flags;
+ DWORD Reserved;
+
+
+
+} PSINJECTDATA, *PPSINJECTDATA;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagXFORM
+ {
+ FLOAT eM11;
+ FLOAT eM12;
+ FLOAT eM21;
+ FLOAT eM22;
+ FLOAT eDx;
+ FLOAT eDy;
+ } XFORM, *PXFORM, *LPXFORM;
+
+
+typedef struct tagBITMAP
+ {
+ LONG bmType;
+ LONG bmWidth;
+ LONG bmHeight;
+ LONG bmWidthBytes;
+ WORD bmPlanes;
+ WORD bmBitsPixel;
+ LPVOID bmBits;
+ } BITMAP, *PBITMAP, *NPBITMAP, *LPBITMAP;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma warning(disable:4103)
+
+#pragma pack(push)
+
+#pragma pack(1)
+
+
+
+
+
+typedef struct tagRGBTRIPLE {
+ BYTE rgbtBlue;
+ BYTE rgbtGreen;
+ BYTE rgbtRed;
+} RGBTRIPLE;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma warning(disable:4103)
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+typedef struct tagRGBQUAD {
+ BYTE rgbBlue;
+ BYTE rgbGreen;
+ BYTE rgbRed;
+ BYTE rgbReserved;
+} RGBQUAD;
+typedef RGBQUAD * LPRGBQUAD;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef LONG LCSCSTYPE;
+
+
+
+
+typedef LONG LCSGAMUTMATCH;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef long FXPT16DOT16, *LPFXPT16DOT16;
+typedef long FXPT2DOT30, *LPFXPT2DOT30;
+
+
+
+
+typedef struct tagCIEXYZ
+{
+ FXPT2DOT30 ciexyzX;
+ FXPT2DOT30 ciexyzY;
+ FXPT2DOT30 ciexyzZ;
+} CIEXYZ;
+typedef CIEXYZ *LPCIEXYZ;
+
+typedef struct tagICEXYZTRIPLE
+{
+ CIEXYZ ciexyzRed;
+ CIEXYZ ciexyzGreen;
+ CIEXYZ ciexyzBlue;
+} CIEXYZTRIPLE;
+typedef CIEXYZTRIPLE *LPCIEXYZTRIPLE;
+
+
+
+
+
+
+typedef struct tagLOGCOLORSPACEA {
+ DWORD lcsSignature;
+ DWORD lcsVersion;
+ DWORD lcsSize;
+ LCSCSTYPE lcsCSType;
+ LCSGAMUTMATCH lcsIntent;
+ CIEXYZTRIPLE lcsEndpoints;
+ DWORD lcsGammaRed;
+ DWORD lcsGammaGreen;
+ DWORD lcsGammaBlue;
+ CHAR lcsFilename[260];
+} LOGCOLORSPACEA, *LPLOGCOLORSPACEA;
+typedef struct tagLOGCOLORSPACEW {
+ DWORD lcsSignature;
+ DWORD lcsVersion;
+ DWORD lcsSize;
+ LCSCSTYPE lcsCSType;
+ LCSGAMUTMATCH lcsIntent;
+ CIEXYZTRIPLE lcsEndpoints;
+ DWORD lcsGammaRed;
+ DWORD lcsGammaGreen;
+ DWORD lcsGammaBlue;
+ WCHAR lcsFilename[260];
+} LOGCOLORSPACEW, *LPLOGCOLORSPACEW;
+
+
+
+
+typedef LOGCOLORSPACEA LOGCOLORSPACE;
+typedef LPLOGCOLORSPACEA LPLOGCOLORSPACE;
+
+
+
+
+
+typedef struct tagBITMAPCOREHEADER {
+ DWORD bcSize;
+ WORD bcWidth;
+ WORD bcHeight;
+ WORD bcPlanes;
+ WORD bcBitCount;
+} BITMAPCOREHEADER, *LPBITMAPCOREHEADER, *PBITMAPCOREHEADER;
+
+typedef struct tagBITMAPINFOHEADER{
+ DWORD biSize;
+ LONG biWidth;
+ LONG biHeight;
+ WORD biPlanes;
+ WORD biBitCount;
+ DWORD biCompression;
+ DWORD biSizeImage;
+ LONG biXPelsPerMeter;
+ LONG biYPelsPerMeter;
+ DWORD biClrUsed;
+ DWORD biClrImportant;
+} BITMAPINFOHEADER, *LPBITMAPINFOHEADER, *PBITMAPINFOHEADER;
+
+
+typedef struct {
+ DWORD bV4Size;
+ LONG bV4Width;
+ LONG bV4Height;
+ WORD bV4Planes;
+ WORD bV4BitCount;
+ DWORD bV4V4Compression;
+ DWORD bV4SizeImage;
+ LONG bV4XPelsPerMeter;
+ LONG bV4YPelsPerMeter;
+ DWORD bV4ClrUsed;
+ DWORD bV4ClrImportant;
+ DWORD bV4RedMask;
+ DWORD bV4GreenMask;
+ DWORD bV4BlueMask;
+ DWORD bV4AlphaMask;
+ DWORD bV4CSType;
+ CIEXYZTRIPLE bV4Endpoints;
+ DWORD bV4GammaRed;
+ DWORD bV4GammaGreen;
+ DWORD bV4GammaBlue;
+} BITMAPV4HEADER, *LPBITMAPV4HEADER, *PBITMAPV4HEADER;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagBITMAPINFO {
+ BITMAPINFOHEADER bmiHeader;
+ RGBQUAD bmiColors[1];
+} BITMAPINFO, *LPBITMAPINFO, *PBITMAPINFO;
+
+typedef struct tagBITMAPCOREINFO {
+ BITMAPCOREHEADER bmciHeader;
+ RGBTRIPLE bmciColors[1];
+} BITMAPCOREINFO, *LPBITMAPCOREINFO, *PBITMAPCOREINFO;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma warning(disable:4103)
+
+#pragma pack(push)
+
+#pragma pack(2)
+
+
+
+
+
+typedef struct tagBITMAPFILEHEADER {
+ WORD bfType;
+ DWORD bfSize;
+ WORD bfReserved1;
+ WORD bfReserved2;
+ DWORD bfOffBits;
+} BITMAPFILEHEADER, *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma warning(disable:4103)
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagFONTSIGNATURE
+{
+ DWORD fsUsb[4];
+ DWORD fsCsb[2];
+} FONTSIGNATURE, *PFONTSIGNATURE, *LPFONTSIGNATURE;
+
+typedef struct tagCHARSETINFO
+{
+ UINT ciCharset;
+ UINT ciACP;
+ FONTSIGNATURE fs;
+} CHARSETINFO, *PCHARSETINFO, *NPCHARSETINFO, *LPCHARSETINFO;
+
+
+
+
+
+typedef struct tagLOCALESIGNATURE
+{
+ DWORD lsUsb[4];
+ DWORD lsCsbDefault[2];
+ DWORD lsCsbSupported[2];
+} LOCALESIGNATURE, *PLOCALESIGNATURE, *LPLOCALESIGNATURE;
+
+
+
+
+
+
+
+
+typedef struct tagHANDLETABLE
+ {
+ HGDIOBJ objectHandle[1];
+ } HANDLETABLE, *PHANDLETABLE, *LPHANDLETABLE;
+
+typedef struct tagMETARECORD
+ {
+ DWORD rdSize;
+ WORD rdFunction;
+ WORD rdParm[1];
+ } METARECORD;
+typedef struct tagMETARECORD *PMETARECORD;
+typedef struct tagMETARECORD *LPMETARECORD;
+
+typedef struct tagMETAFILEPICT
+ {
+ LONG mm;
+ LONG xExt;
+ LONG yExt;
+ HMETAFILE hMF;
+ } METAFILEPICT, *LPMETAFILEPICT;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma warning(disable:4103)
+
+#pragma pack(push)
+
+#pragma pack(2)
+
+
+
+
+
+typedef struct tagMETAHEADER
+{
+ WORD mtType;
+ WORD mtHeaderSize;
+ WORD mtVersion;
+ DWORD mtSize;
+ WORD mtNoObjects;
+ DWORD mtMaxRecord;
+ WORD mtNoParameters;
+} METAHEADER;
+typedef struct tagMETAHEADER *PMETAHEADER;
+typedef struct tagMETAHEADER *LPMETAHEADER;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma warning(disable:4103)
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+typedef struct tagENHMETARECORD
+{
+ DWORD iType;
+ DWORD nSize;
+ DWORD dParm[1];
+} ENHMETARECORD, *PENHMETARECORD, *LPENHMETARECORD;
+
+typedef struct tagENHMETAHEADER
+{
+ DWORD iType;
+ DWORD nSize;
+
+ RECTL rclBounds;
+ RECTL rclFrame;
+ DWORD dSignature;
+ DWORD nVersion;
+ DWORD nBytes;
+ DWORD nRecords;
+ WORD nHandles;
+
+ WORD sReserved;
+ DWORD nDescription;
+
+ DWORD offDescription;
+
+ DWORD nPalEntries;
+ SIZEL szlDevice;
+ SIZEL szlMillimeters;
+
+ DWORD cbPixelFormat;
+
+ DWORD offPixelFormat;
+
+ DWORD bOpenGL;
+
+
+} ENHMETAHEADER, *PENHMETAHEADER, *LPENHMETAHEADER;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ typedef BYTE BCHAR;
+
+
+typedef struct tagTEXTMETRICA
+{
+ LONG tmHeight;
+ LONG tmAscent;
+ LONG tmDescent;
+ LONG tmInternalLeading;
+ LONG tmExternalLeading;
+ LONG tmAveCharWidth;
+ LONG tmMaxCharWidth;
+ LONG tmWeight;
+ LONG tmOverhang;
+ LONG tmDigitizedAspectX;
+ LONG tmDigitizedAspectY;
+ BYTE tmFirstChar;
+ BYTE tmLastChar;
+ BYTE tmDefaultChar;
+ BYTE tmBreakChar;
+ BYTE tmItalic;
+ BYTE tmUnderlined;
+ BYTE tmStruckOut;
+ BYTE tmPitchAndFamily;
+ BYTE tmCharSet;
+} TEXTMETRICA, *PTEXTMETRICA, *NPTEXTMETRICA, *LPTEXTMETRICA;
+typedef struct tagTEXTMETRICW
+{
+ LONG tmHeight;
+ LONG tmAscent;
+ LONG tmDescent;
+ LONG tmInternalLeading;
+ LONG tmExternalLeading;
+ LONG tmAveCharWidth;
+ LONG tmMaxCharWidth;
+ LONG tmWeight;
+ LONG tmOverhang;
+ LONG tmDigitizedAspectX;
+ LONG tmDigitizedAspectY;
+ WCHAR tmFirstChar;
+ WCHAR tmLastChar;
+ WCHAR tmDefaultChar;
+ WCHAR tmBreakChar;
+ BYTE tmItalic;
+ BYTE tmUnderlined;
+ BYTE tmStruckOut;
+ BYTE tmPitchAndFamily;
+ BYTE tmCharSet;
+} TEXTMETRICW, *PTEXTMETRICW, *NPTEXTMETRICW, *LPTEXTMETRICW;
+
+
+
+
+
+
+typedef TEXTMETRICA TEXTMETRIC;
+typedef PTEXTMETRICA PTEXTMETRIC;
+typedef NPTEXTMETRICA NPTEXTMETRIC;
+typedef LPTEXTMETRICA LPTEXTMETRIC;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma warning(disable:4103)
+
+#pragma pack(push)
+
+#pragma pack(4)
+
+
+
+
+
+typedef struct tagNEWTEXTMETRICA
+{
+ LONG tmHeight;
+ LONG tmAscent;
+ LONG tmDescent;
+ LONG tmInternalLeading;
+ LONG tmExternalLeading;
+ LONG tmAveCharWidth;
+ LONG tmMaxCharWidth;
+ LONG tmWeight;
+ LONG tmOverhang;
+ LONG tmDigitizedAspectX;
+ LONG tmDigitizedAspectY;
+ BYTE tmFirstChar;
+ BYTE tmLastChar;
+ BYTE tmDefaultChar;
+ BYTE tmBreakChar;
+ BYTE tmItalic;
+ BYTE tmUnderlined;
+ BYTE tmStruckOut;
+ BYTE tmPitchAndFamily;
+ BYTE tmCharSet;
+ DWORD ntmFlags;
+ UINT ntmSizeEM;
+ UINT ntmCellHeight;
+ UINT ntmAvgWidth;
+} NEWTEXTMETRICA, *PNEWTEXTMETRICA, *NPNEWTEXTMETRICA, *LPNEWTEXTMETRICA;
+typedef struct tagNEWTEXTMETRICW
+{
+ LONG tmHeight;
+ LONG tmAscent;
+ LONG tmDescent;
+ LONG tmInternalLeading;
+ LONG tmExternalLeading;
+ LONG tmAveCharWidth;
+ LONG tmMaxCharWidth;
+ LONG tmWeight;
+ LONG tmOverhang;
+ LONG tmDigitizedAspectX;
+ LONG tmDigitizedAspectY;
+ WCHAR tmFirstChar;
+ WCHAR tmLastChar;
+ WCHAR tmDefaultChar;
+ WCHAR tmBreakChar;
+ BYTE tmItalic;
+ BYTE tmUnderlined;
+ BYTE tmStruckOut;
+ BYTE tmPitchAndFamily;
+ BYTE tmCharSet;
+ DWORD ntmFlags;
+ UINT ntmSizeEM;
+ UINT ntmCellHeight;
+ UINT ntmAvgWidth;
+} NEWTEXTMETRICW, *PNEWTEXTMETRICW, *NPNEWTEXTMETRICW, *LPNEWTEXTMETRICW;
+
+
+
+
+
+
+typedef NEWTEXTMETRICA NEWTEXTMETRIC;
+typedef PNEWTEXTMETRICA PNEWTEXTMETRIC;
+typedef NPNEWTEXTMETRICA NPNEWTEXTMETRIC;
+typedef LPNEWTEXTMETRICA LPNEWTEXTMETRIC;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma warning(disable:4103)
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+typedef struct tagNEWTEXTMETRICEXA
+{
+ NEWTEXTMETRICA ntmTm;
+ FONTSIGNATURE ntmFontSig;
+}NEWTEXTMETRICEXA;
+typedef struct tagNEWTEXTMETRICEXW
+{
+ NEWTEXTMETRICW ntmTm;
+ FONTSIGNATURE ntmFontSig;
+}NEWTEXTMETRICEXW;
+
+
+
+typedef NEWTEXTMETRICEXA NEWTEXTMETRICEX;
+
+
+
+
+
+
+
+typedef struct tagPELARRAY
+ {
+ LONG paXCount;
+ LONG paYCount;
+ LONG paXExt;
+ LONG paYExt;
+ BYTE paRGBs;
+ } PELARRAY, *PPELARRAY, *NPPELARRAY, *LPPELARRAY;
+
+
+typedef struct tagLOGBRUSH
+ {
+ UINT lbStyle;
+ COLORREF lbColor;
+ LONG lbHatch;
+ } LOGBRUSH, *PLOGBRUSH, *NPLOGBRUSH, *LPLOGBRUSH;
+
+typedef LOGBRUSH PATTERN;
+typedef PATTERN *PPATTERN;
+typedef PATTERN *NPPATTERN;
+typedef PATTERN *LPPATTERN;
+
+
+typedef struct tagLOGPEN
+ {
+ UINT lopnStyle;
+ POINT lopnWidth;
+ COLORREF lopnColor;
+ } LOGPEN, *PLOGPEN, *NPLOGPEN, *LPLOGPEN;
+
+typedef struct tagEXTLOGPEN {
+ DWORD elpPenStyle;
+ DWORD elpWidth;
+ UINT elpBrushStyle;
+ COLORREF elpColor;
+ LONG elpHatch;
+ DWORD elpNumEntries;
+ DWORD elpStyleEntry[1];
+} EXTLOGPEN, *PEXTLOGPEN, *NPEXTLOGPEN, *LPEXTLOGPEN;
+
+typedef struct tagPALETTEENTRY {
+ BYTE peRed;
+ BYTE peGreen;
+ BYTE peBlue;
+ BYTE peFlags;
+} PALETTEENTRY, *PPALETTEENTRY, *LPPALETTEENTRY;
+
+
+typedef struct tagLOGPALETTE {
+ WORD palVersion;
+ WORD palNumEntries;
+ PALETTEENTRY palPalEntry[1];
+} LOGPALETTE, *PLOGPALETTE, *NPLOGPALETTE, *LPLOGPALETTE;
+
+
+
+
+
+typedef struct tagLOGFONTA
+{
+ LONG lfHeight;
+ LONG lfWidth;
+ LONG lfEscapement;
+ LONG lfOrientation;
+ LONG lfWeight;
+ BYTE lfItalic;
+ BYTE lfUnderline;
+ BYTE lfStrikeOut;
+ BYTE lfCharSet;
+ BYTE lfOutPrecision;
+ BYTE lfClipPrecision;
+ BYTE lfQuality;
+ BYTE lfPitchAndFamily;
+ CHAR lfFaceName[32];
+} LOGFONTA, *PLOGFONTA, *NPLOGFONTA, *LPLOGFONTA;
+typedef struct tagLOGFONTW
+{
+ LONG lfHeight;
+ LONG lfWidth;
+ LONG lfEscapement;
+ LONG lfOrientation;
+ LONG lfWeight;
+ BYTE lfItalic;
+ BYTE lfUnderline;
+ BYTE lfStrikeOut;
+ BYTE lfCharSet;
+ BYTE lfOutPrecision;
+ BYTE lfClipPrecision;
+ BYTE lfQuality;
+ BYTE lfPitchAndFamily;
+ WCHAR lfFaceName[32];
+} LOGFONTW, *PLOGFONTW, *NPLOGFONTW, *LPLOGFONTW;
+
+
+
+
+
+
+typedef LOGFONTA LOGFONT;
+typedef PLOGFONTA PLOGFONT;
+typedef NPLOGFONTA NPLOGFONT;
+typedef LPLOGFONTA LPLOGFONT;
+
+
+
+
+
+typedef struct tagENUMLOGFONTA
+{
+ LOGFONTA elfLogFont;
+ BYTE elfFullName[64];
+ BYTE elfStyle[32];
+} ENUMLOGFONTA, * LPENUMLOGFONTA;
+
+typedef struct tagENUMLOGFONTW
+{
+ LOGFONTW elfLogFont;
+ WCHAR elfFullName[64];
+ WCHAR elfStyle[32];
+} ENUMLOGFONTW, * LPENUMLOGFONTW;
+
+
+
+
+typedef ENUMLOGFONTA ENUMLOGFONT;
+typedef LPENUMLOGFONTA LPENUMLOGFONT;
+
+
+
+typedef struct tagENUMLOGFONTEXA
+{
+ LOGFONTA elfLogFont;
+ BYTE elfFullName[64];
+ BYTE elfStyle[32];
+ BYTE elfScript[32];
+} ENUMLOGFONTEXA, *LPENUMLOGFONTEXA;
+typedef struct tagENUMLOGFONTEXW
+{
+ LOGFONTW elfLogFont;
+ WCHAR elfFullName[64];
+ WCHAR elfStyle[32];
+ WCHAR elfScript[32];
+} ENUMLOGFONTEXW, *LPENUMLOGFONTEXW;
+
+
+
+
+typedef ENUMLOGFONTEXA ENUMLOGFONTEX;
+typedef LPENUMLOGFONTEXA LPENUMLOGFONTEX;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagPANOSE
+{
+ BYTE bFamilyType;
+ BYTE bSerifStyle;
+ BYTE bWeight;
+ BYTE bProportion;
+ BYTE bContrast;
+ BYTE bStrokeVariation;
+ BYTE bArmStyle;
+ BYTE bLetterform;
+ BYTE bMidline;
+ BYTE bXHeight;
+} PANOSE, * LPPANOSE;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagEXTLOGFONTA {
+ LOGFONTA elfLogFont;
+ BYTE elfFullName[64];
+ BYTE elfStyle[32];
+ DWORD elfVersion;
+ DWORD elfStyleSize;
+ DWORD elfMatch;
+ DWORD elfReserved;
+ BYTE elfVendorId[4];
+ DWORD elfCulture;
+ PANOSE elfPanose;
+} EXTLOGFONTA, *PEXTLOGFONTA, *NPEXTLOGFONTA, *LPEXTLOGFONTA;
+typedef struct tagEXTLOGFONTW {
+ LOGFONTW elfLogFont;
+ WCHAR elfFullName[64];
+ WCHAR elfStyle[32];
+ DWORD elfVersion;
+ DWORD elfStyleSize;
+ DWORD elfMatch;
+ DWORD elfReserved;
+ BYTE elfVendorId[4];
+ DWORD elfCulture;
+ PANOSE elfPanose;
+} EXTLOGFONTW, *PEXTLOGFONTW, *NPEXTLOGFONTW, *LPEXTLOGFONTW;
+
+
+
+
+
+
+typedef EXTLOGFONTA EXTLOGFONT;
+typedef PEXTLOGFONTA PEXTLOGFONT;
+typedef NPEXTLOGFONTA NPEXTLOGFONT;
+typedef LPEXTLOGFONTA LPEXTLOGFONT;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _devicemodeA {
+ BYTE dmDeviceName[32];
+ WORD dmSpecVersion;
+ WORD dmDriverVersion;
+ WORD dmSize;
+ WORD dmDriverExtra;
+ DWORD dmFields;
+ union {
+ struct {
+ short dmOrientation;
+ short dmPaperSize;
+ short dmPaperLength;
+ short dmPaperWidth;
+ };
+ POINTL dmPosition;
+ };
+ short dmScale;
+ short dmCopies;
+ short dmDefaultSource;
+ short dmPrintQuality;
+ short dmColor;
+ short dmDuplex;
+ short dmYResolution;
+ short dmTTOption;
+ short dmCollate;
+ BYTE dmFormName[32];
+ WORD dmLogPixels;
+ DWORD dmBitsPerPel;
+ DWORD dmPelsWidth;
+ DWORD dmPelsHeight;
+ DWORD dmDisplayFlags;
+ DWORD dmDisplayFrequency;
+
+ DWORD dmICMMethod;
+ DWORD dmICMIntent;
+ DWORD dmMediaType;
+ DWORD dmDitherType;
+ DWORD dmReserved1;
+ DWORD dmReserved2;
+
+
+
+
+
+} DEVMODEA, *PDEVMODEA, *NPDEVMODEA, *LPDEVMODEA;
+typedef struct _devicemodeW {
+ WCHAR dmDeviceName[32];
+ WORD dmSpecVersion;
+ WORD dmDriverVersion;
+ WORD dmSize;
+ WORD dmDriverExtra;
+ DWORD dmFields;
+ union {
+ struct {
+ short dmOrientation;
+ short dmPaperSize;
+ short dmPaperLength;
+ short dmPaperWidth;
+ };
+ POINTL dmPosition;
+ };
+ short dmScale;
+ short dmCopies;
+ short dmDefaultSource;
+ short dmPrintQuality;
+ short dmColor;
+ short dmDuplex;
+ short dmYResolution;
+ short dmTTOption;
+ short dmCollate;
+ WCHAR dmFormName[32];
+ WORD dmLogPixels;
+ DWORD dmBitsPerPel;
+ DWORD dmPelsWidth;
+ DWORD dmPelsHeight;
+ DWORD dmDisplayFlags;
+ DWORD dmDisplayFrequency;
+
+ DWORD dmICMMethod;
+ DWORD dmICMIntent;
+ DWORD dmMediaType;
+ DWORD dmDitherType;
+ DWORD dmReserved1;
+ DWORD dmReserved2;
+
+
+
+
+
+} DEVMODEW, *PDEVMODEW, *NPDEVMODEW, *LPDEVMODEW;
+
+
+
+
+
+
+typedef DEVMODEA DEVMODE;
+typedef PDEVMODEA PDEVMODE;
+typedef NPDEVMODEA NPDEVMODE;
+typedef LPDEVMODEA LPDEVMODE;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _DISPLAY_DEVICEA {
+ DWORD cb;
+ BYTE DeviceName[32];
+ BYTE DeviceString[128];
+ DWORD StateFlags;
+} DISPLAY_DEVICEA, *PDISPLAY_DEVICEA, *LPDISPLAY_DEVICEA;
+typedef struct _DISPLAY_DEVICEW {
+ DWORD cb;
+ WCHAR DeviceName[32];
+ WCHAR DeviceString[128];
+ DWORD StateFlags;
+} DISPLAY_DEVICEW, *PDISPLAY_DEVICEW, *LPDISPLAY_DEVICEW;
+
+
+
+
+
+typedef DISPLAY_DEVICEA DISPLAY_DEVICE;
+typedef PDISPLAY_DEVICEA PDISPLAY_DEVICE;
+typedef LPDISPLAY_DEVICEA LPDISPLAY_DEVICE;
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _RGNDATAHEADER {
+ DWORD dwSize;
+ DWORD iType;
+ DWORD nCount;
+ DWORD nRgnSize;
+ RECT rcBound;
+} RGNDATAHEADER, *PRGNDATAHEADER;
+
+typedef struct _RGNDATA {
+ RGNDATAHEADER rdh;
+ char Buffer[1];
+} RGNDATA, *PRGNDATA, *NPRGNDATA, *LPRGNDATA;
+
+
+typedef struct _ABC {
+ int abcA;
+ UINT abcB;
+ int abcC;
+} ABC, *PABC, *NPABC, *LPABC;
+
+typedef struct _ABCFLOAT {
+ FLOAT abcfA;
+ FLOAT abcfB;
+ FLOAT abcfC;
+} ABCFLOAT, *PABCFLOAT, *NPABCFLOAT, *LPABCFLOAT;
+
+
+
+
+
+
+typedef struct _OUTLINETEXTMETRICA {
+ UINT otmSize;
+ TEXTMETRICA otmTextMetrics;
+ BYTE otmFiller;
+ PANOSE otmPanoseNumber;
+ UINT otmfsSelection;
+ UINT otmfsType;
+ int otmsCharSlopeRise;
+ int otmsCharSlopeRun;
+ int otmItalicAngle;
+ UINT otmEMSquare;
+ int otmAscent;
+ int otmDescent;
+ UINT otmLineGap;
+ UINT otmsCapEmHeight;
+ UINT otmsXHeight;
+ RECT otmrcFontBox;
+ int otmMacAscent;
+ int otmMacDescent;
+ UINT otmMacLineGap;
+ UINT otmusMinimumPPEM;
+ POINT otmptSubscriptSize;
+ POINT otmptSubscriptOffset;
+ POINT otmptSuperscriptSize;
+ POINT otmptSuperscriptOffset;
+ UINT otmsStrikeoutSize;
+ int otmsStrikeoutPosition;
+ int otmsUnderscoreSize;
+ int otmsUnderscorePosition;
+ PSTR otmpFamilyName;
+ PSTR otmpFaceName;
+ PSTR otmpStyleName;
+ PSTR otmpFullName;
+} OUTLINETEXTMETRICA, *POUTLINETEXTMETRICA, *NPOUTLINETEXTMETRICA, *LPOUTLINETEXTMETRICA;
+typedef struct _OUTLINETEXTMETRICW {
+ UINT otmSize;
+ TEXTMETRICW otmTextMetrics;
+ BYTE otmFiller;
+ PANOSE otmPanoseNumber;
+ UINT otmfsSelection;
+ UINT otmfsType;
+ int otmsCharSlopeRise;
+ int otmsCharSlopeRun;
+ int otmItalicAngle;
+ UINT otmEMSquare;
+ int otmAscent;
+ int otmDescent;
+ UINT otmLineGap;
+ UINT otmsCapEmHeight;
+ UINT otmsXHeight;
+ RECT otmrcFontBox;
+ int otmMacAscent;
+ int otmMacDescent;
+ UINT otmMacLineGap;
+ UINT otmusMinimumPPEM;
+ POINT otmptSubscriptSize;
+ POINT otmptSubscriptOffset;
+ POINT otmptSuperscriptSize;
+ POINT otmptSuperscriptOffset;
+ UINT otmsStrikeoutSize;
+ int otmsStrikeoutPosition;
+ int otmsUnderscoreSize;
+ int otmsUnderscorePosition;
+ PSTR otmpFamilyName;
+ PSTR otmpFaceName;
+ PSTR otmpStyleName;
+ PSTR otmpFullName;
+} OUTLINETEXTMETRICW, *POUTLINETEXTMETRICW, *NPOUTLINETEXTMETRICW, *LPOUTLINETEXTMETRICW;
+
+
+
+
+
+
+typedef OUTLINETEXTMETRICA OUTLINETEXTMETRIC;
+typedef POUTLINETEXTMETRICA POUTLINETEXTMETRIC;
+typedef NPOUTLINETEXTMETRICA NPOUTLINETEXTMETRIC;
+typedef LPOUTLINETEXTMETRICA LPOUTLINETEXTMETRIC;
+
+
+
+
+
+
+
+
+
+typedef struct tagPOLYTEXTA
+{
+ int x;
+ int y;
+ UINT n;
+ LPCSTR lpstr;
+ UINT uiFlags;
+ RECT rcl;
+ int *pdx;
+} POLYTEXTA, *PPOLYTEXTA, *NPPOLYTEXTA, *LPPOLYTEXTA;
+typedef struct tagPOLYTEXTW
+{
+ int x;
+ int y;
+ UINT n;
+ LPCWSTR lpstr;
+ UINT uiFlags;
+ RECT rcl;
+ int *pdx;
+} POLYTEXTW, *PPOLYTEXTW, *NPPOLYTEXTW, *LPPOLYTEXTW;
+
+
+
+
+
+
+typedef POLYTEXTA POLYTEXT;
+typedef PPOLYTEXTA PPOLYTEXT;
+typedef NPPOLYTEXTA NPPOLYTEXT;
+typedef LPPOLYTEXTA LPPOLYTEXT;
+
+
+typedef struct _FIXED {
+
+ WORD fract;
+ short value;
+
+
+
+
+} FIXED;
+
+
+typedef struct _MAT2 {
+ FIXED eM11;
+ FIXED eM12;
+ FIXED eM21;
+ FIXED eM22;
+} MAT2, *LPMAT2;
+
+
+
+typedef struct _GLYPHMETRICS {
+ UINT gmBlackBoxX;
+ UINT gmBlackBoxY;
+ POINT gmptGlyphOrigin;
+ short gmCellIncX;
+ short gmCellIncY;
+} GLYPHMETRICS, *LPGLYPHMETRICS;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagPOINTFX
+{
+ FIXED x;
+ FIXED y;
+} POINTFX, * LPPOINTFX;
+
+typedef struct tagTTPOLYCURVE
+{
+ WORD wType;
+ WORD cpfx;
+ POINTFX apfx[1];
+} TTPOLYCURVE, * LPTTPOLYCURVE;
+
+typedef struct tagTTPOLYGONHEADER
+{
+ DWORD cb;
+ DWORD dwType;
+ POINTFX pfxStart;
+} TTPOLYGONHEADER, * LPTTPOLYGONHEADER;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagGCP_RESULTSA
+ {
+ DWORD lStructSize;
+ LPSTR lpOutString;
+ UINT *lpOrder;
+ int *lpDx;
+ int *lpCaretPos;
+ LPSTR lpClass;
+ LPWSTR lpGlyphs;
+ UINT nGlyphs;
+ int nMaxFit;
+ } GCP_RESULTSA, * LPGCP_RESULTSA;
+typedef struct tagGCP_RESULTSW
+ {
+ DWORD lStructSize;
+ LPWSTR lpOutString;
+ UINT *lpOrder;
+ int *lpDx;
+ int *lpCaretPos;
+ LPSTR lpClass;
+ LPWSTR lpGlyphs;
+ UINT nGlyphs;
+ int nMaxFit;
+ } GCP_RESULTSW, * LPGCP_RESULTSW;
+
+
+
+
+typedef GCP_RESULTSA GCP_RESULTS;
+typedef LPGCP_RESULTSA LPGCP_RESULTS;
+
+
+
+typedef struct _RASTERIZER_STATUS {
+ short nSize;
+ short wFlags;
+ short nLanguageID;
+} RASTERIZER_STATUS, *LPRASTERIZER_STATUS;
+
+
+
+
+
+
+typedef struct tagPIXELFORMATDESCRIPTOR
+{
+ WORD nSize;
+ WORD nVersion;
+ DWORD dwFlags;
+ BYTE iPixelType;
+ BYTE cColorBits;
+ BYTE cRedBits;
+ BYTE cRedShift;
+ BYTE cGreenBits;
+ BYTE cGreenShift;
+ BYTE cBlueBits;
+ BYTE cBlueShift;
+ BYTE cAlphaBits;
+ BYTE cAlphaShift;
+ BYTE cAccumBits;
+ BYTE cAccumRedBits;
+ BYTE cAccumGreenBits;
+ BYTE cAccumBlueBits;
+ BYTE cAccumAlphaBits;
+ BYTE cDepthBits;
+ BYTE cStencilBits;
+ BYTE cAuxBuffers;
+ BYTE iLayerType;
+ BYTE bReserved;
+ DWORD dwLayerMask;
+ DWORD dwVisibleMask;
+ DWORD dwDamageMask;
+} PIXELFORMATDESCRIPTOR, *PPIXELFORMATDESCRIPTOR, *LPPIXELFORMATDESCRIPTOR;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef int (__stdcall* OLDFONTENUMPROCA)(const LOGFONTA *, const TEXTMETRICA *, DWORD, LPARAM);
+typedef int (__stdcall* OLDFONTENUMPROCW)(const LOGFONTW *, const TEXTMETRICW *, DWORD, LPARAM);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef OLDFONTENUMPROCA FONTENUMPROCA;
+typedef OLDFONTENUMPROCW FONTENUMPROCW;
+
+
+
+typedef FONTENUMPROCA FONTENUMPROC;
+
+
+typedef int (__stdcall* GOBJENUMPROC)(LPVOID, LPARAM);
+typedef void (__stdcall* LINEDDAPROC)(int, int, LPARAM);
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport) int __stdcall AddFontResourceA(LPCSTR);
+__declspec(dllimport) int __stdcall AddFontResourceW(LPCWSTR);
+
+
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall AnimatePalette(HPALETTE, UINT, UINT, const PALETTEENTRY *);
+__declspec(dllimport) BOOL __stdcall Arc(HDC, int, int, int, int, int, int, int, int);
+__declspec(dllimport) BOOL __stdcall BitBlt(HDC, int, int, int, int, HDC, int, int, DWORD);
+__declspec(dllimport) BOOL __stdcall CancelDC(HDC);
+__declspec(dllimport) BOOL __stdcall Chord(HDC, int, int, int, int, int, int, int, int);
+__declspec(dllimport) int __stdcall ChoosePixelFormat(HDC, const PIXELFORMATDESCRIPTOR *);
+__declspec(dllimport) HMETAFILE __stdcall CloseMetaFile(HDC);
+__declspec(dllimport) int __stdcall CombineRgn(HRGN, HRGN, HRGN, int);
+__declspec(dllimport) HMETAFILE __stdcall CopyMetaFileA(HMETAFILE, LPCSTR);
+__declspec(dllimport) HMETAFILE __stdcall CopyMetaFileW(HMETAFILE, LPCWSTR);
+
+
+
+
+
+__declspec(dllimport) HBITMAP __stdcall CreateBitmap(int, int, UINT, UINT, const void *);
+__declspec(dllimport) HBITMAP __stdcall CreateBitmapIndirect(const BITMAP *);
+__declspec(dllimport) HBRUSH __stdcall CreateBrushIndirect(const LOGBRUSH *);
+__declspec(dllimport) HBITMAP __stdcall CreateCompatibleBitmap(HDC, int, int);
+__declspec(dllimport) HBITMAP __stdcall CreateDiscardableBitmap(HDC, int, int);
+__declspec(dllimport) HDC __stdcall CreateCompatibleDC(HDC);
+__declspec(dllimport) HDC __stdcall CreateDCA(LPCSTR, LPCSTR , LPCSTR , const DEVMODEA *);
+__declspec(dllimport) HDC __stdcall CreateDCW(LPCWSTR, LPCWSTR , LPCWSTR , const DEVMODEW *);
+
+
+
+
+
+__declspec(dllimport) HBITMAP __stdcall CreateDIBitmap(HDC, const BITMAPINFOHEADER *, DWORD, const void *, const BITMAPINFO *, UINT);
+__declspec(dllimport) HBRUSH __stdcall CreateDIBPatternBrush(HGLOBAL, UINT);
+__declspec(dllimport) HBRUSH __stdcall CreateDIBPatternBrushPt(const void *, UINT);
+__declspec(dllimport) HRGN __stdcall CreateEllipticRgn(int, int, int, int);
+__declspec(dllimport) HRGN __stdcall CreateEllipticRgnIndirect(const RECT *);
+__declspec(dllimport) HFONT __stdcall CreateFontIndirectA(const LOGFONTA *);
+__declspec(dllimport) HFONT __stdcall CreateFontIndirectW(const LOGFONTW *);
+
+
+
+
+
+__declspec(dllimport) HFONT __stdcall CreateFontA(int, int, int, int, int, DWORD,
+ DWORD, DWORD, DWORD, DWORD, DWORD,
+ DWORD, DWORD, LPCSTR);
+__declspec(dllimport) HFONT __stdcall CreateFontW(int, int, int, int, int, DWORD,
+ DWORD, DWORD, DWORD, DWORD, DWORD,
+ DWORD, DWORD, LPCWSTR);
+
+
+
+
+
+
+__declspec(dllimport) HBRUSH __stdcall CreateHatchBrush(int, COLORREF);
+__declspec(dllimport) HDC __stdcall CreateICA(LPCSTR, LPCSTR , LPCSTR , const DEVMODEA *);
+__declspec(dllimport) HDC __stdcall CreateICW(LPCWSTR, LPCWSTR , LPCWSTR , const DEVMODEW *);
+
+
+
+
+
+__declspec(dllimport) HDC __stdcall CreateMetaFileA(LPCSTR);
+__declspec(dllimport) HDC __stdcall CreateMetaFileW(LPCWSTR);
+
+
+
+
+
+__declspec(dllimport) HPALETTE __stdcall CreatePalette(const LOGPALETTE *);
+__declspec(dllimport) HPEN __stdcall CreatePen(int, int, COLORREF);
+__declspec(dllimport) HPEN __stdcall CreatePenIndirect(const LOGPEN *);
+__declspec(dllimport) HRGN __stdcall CreatePolyPolygonRgn(const POINT *, const INT *, int, int);
+__declspec(dllimport) HBRUSH __stdcall CreatePatternBrush(HBITMAP);
+__declspec(dllimport) HRGN __stdcall CreateRectRgn(int, int, int, int);
+__declspec(dllimport) HRGN __stdcall CreateRectRgnIndirect(const RECT *);
+__declspec(dllimport) HRGN __stdcall CreateRoundRectRgn(int, int, int, int, int, int);
+__declspec(dllimport) BOOL __stdcall CreateScalableFontResourceA(DWORD, LPCSTR, LPCSTR, LPCSTR);
+__declspec(dllimport) BOOL __stdcall CreateScalableFontResourceW(DWORD, LPCWSTR, LPCWSTR, LPCWSTR);
+
+
+
+
+
+__declspec(dllimport) HBRUSH __stdcall CreateSolidBrush(COLORREF);
+
+__declspec(dllimport) BOOL __stdcall DeleteDC(HDC);
+__declspec(dllimport) BOOL __stdcall DeleteMetaFile(HMETAFILE);
+__declspec(dllimport) BOOL __stdcall DeleteObject(HGDIOBJ);
+__declspec(dllimport) int __stdcall DescribePixelFormat(HDC, int, UINT, LPPIXELFORMATDESCRIPTOR);
+
+
+
+
+
+typedef UINT (__stdcall* LPFNDEVMODE)(HWND, HMODULE, LPDEVMODE, LPSTR, LPSTR, LPDEVMODE, LPSTR, UINT);
+
+typedef DWORD (__stdcall* LPFNDEVCAPS)(LPSTR, LPSTR, UINT, LPSTR, LPDEVMODE);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport) int __stdcall DeviceCapabilitiesA(LPCSTR, LPCSTR, WORD,
+ LPSTR, const DEVMODEA *);
+__declspec(dllimport) int __stdcall DeviceCapabilitiesW(LPCWSTR, LPCWSTR, WORD,
+ LPWSTR, const DEVMODEW *);
+
+
+
+
+
+
+__declspec(dllimport) int __stdcall DrawEscape(HDC, int, int, LPCSTR);
+__declspec(dllimport) BOOL __stdcall Ellipse(HDC, int, int, int, int);
+
+
+__declspec(dllimport) int __stdcall EnumFontFamiliesExA(HDC, LPLOGFONTA,FONTENUMPROCA, LPARAM,DWORD);
+__declspec(dllimport) int __stdcall EnumFontFamiliesExW(HDC, LPLOGFONTW,FONTENUMPROCW, LPARAM,DWORD);
+
+
+
+
+
+
+
+__declspec(dllimport) int __stdcall EnumFontFamiliesA(HDC, LPCSTR, FONTENUMPROCA, LPARAM);
+__declspec(dllimport) int __stdcall EnumFontFamiliesW(HDC, LPCWSTR, FONTENUMPROCW, LPARAM);
+
+
+
+
+
+__declspec(dllimport) int __stdcall EnumFontsA(HDC, LPCSTR, FONTENUMPROCA, LPARAM);
+__declspec(dllimport) int __stdcall EnumFontsW(HDC, LPCWSTR, FONTENUMPROCW, LPARAM);
+
+
+
+
+
+
+
+__declspec(dllimport) int __stdcall EnumObjects(HDC, int, GOBJENUMPROC, LPARAM);
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall EqualRgn(HRGN, HRGN);
+__declspec(dllimport) int __stdcall Escape(HDC, int, int, LPCSTR, LPVOID);
+__declspec(dllimport) int __stdcall ExtEscape(HDC, int, int, LPCSTR, int, LPSTR);
+__declspec(dllimport) int __stdcall ExcludeClipRect(HDC, int, int, int, int);
+__declspec(dllimport) HRGN __stdcall ExtCreateRegion(const XFORM *, DWORD, const RGNDATA *);
+__declspec(dllimport) BOOL __stdcall ExtFloodFill(HDC, int, int, COLORREF, UINT);
+__declspec(dllimport) BOOL __stdcall FillRgn(HDC, HRGN, HBRUSH);
+__declspec(dllimport) BOOL __stdcall FloodFill(HDC, int, int, COLORREF);
+__declspec(dllimport) BOOL __stdcall FrameRgn(HDC, HRGN, HBRUSH, int, int);
+__declspec(dllimport) int __stdcall GetROP2(HDC);
+__declspec(dllimport) BOOL __stdcall GetAspectRatioFilterEx(HDC, LPSIZE);
+__declspec(dllimport) COLORREF __stdcall GetBkColor(HDC);
+
+
+
+
+
+
+__declspec(dllimport) int __stdcall GetBkMode(HDC);
+__declspec(dllimport) LONG __stdcall GetBitmapBits(HBITMAP, LONG, LPVOID);
+__declspec(dllimport) BOOL __stdcall GetBitmapDimensionEx(HBITMAP, LPSIZE);
+__declspec(dllimport) UINT __stdcall GetBoundsRect(HDC, LPRECT, UINT);
+
+__declspec(dllimport) BOOL __stdcall GetBrushOrgEx(HDC, LPPOINT);
+
+__declspec(dllimport) BOOL __stdcall GetCharWidthA(HDC, UINT, UINT, LPINT);
+__declspec(dllimport) BOOL __stdcall GetCharWidthW(HDC, UINT, UINT, LPINT);
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall GetCharWidth32A(HDC, UINT, UINT, LPINT);
+__declspec(dllimport) BOOL __stdcall GetCharWidth32W(HDC, UINT, UINT, LPINT);
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall GetCharWidthFloatA(HDC, UINT, UINT, PFLOAT);
+__declspec(dllimport) BOOL __stdcall GetCharWidthFloatW(HDC, UINT, UINT, PFLOAT);
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall GetCharABCWidthsA(HDC, UINT, UINT, LPABC);
+__declspec(dllimport) BOOL __stdcall GetCharABCWidthsW(HDC, UINT, UINT, LPABC);
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall GetCharABCWidthsFloatA(HDC, UINT, UINT, LPABCFLOAT);
+__declspec(dllimport) BOOL __stdcall GetCharABCWidthsFloatW(HDC, UINT, UINT, LPABCFLOAT);
+
+
+
+
+
+__declspec(dllimport) int __stdcall GetClipBox(HDC, LPRECT);
+__declspec(dllimport) int __stdcall GetClipRgn(HDC, HRGN);
+__declspec(dllimport) int __stdcall GetMetaRgn(HDC, HRGN);
+__declspec(dllimport) HGDIOBJ __stdcall GetCurrentObject(HDC, UINT);
+__declspec(dllimport) BOOL __stdcall GetCurrentPositionEx(HDC, LPPOINT);
+__declspec(dllimport) int __stdcall GetDeviceCaps(HDC, int);
+__declspec(dllimport) int __stdcall GetDIBits(HDC, HBITMAP, UINT, UINT, LPVOID, LPBITMAPINFO, UINT);
+__declspec(dllimport) DWORD __stdcall GetFontData(HDC, DWORD, DWORD, LPVOID, DWORD);
+__declspec(dllimport) DWORD __stdcall GetGlyphOutlineA(HDC, UINT, UINT, LPGLYPHMETRICS, DWORD, LPVOID, const MAT2 *);
+__declspec(dllimport) DWORD __stdcall GetGlyphOutlineW(HDC, UINT, UINT, LPGLYPHMETRICS, DWORD, LPVOID, const MAT2 *);
+
+
+
+
+
+__declspec(dllimport) int __stdcall GetGraphicsMode(HDC);
+__declspec(dllimport) int __stdcall GetMapMode(HDC);
+__declspec(dllimport) UINT __stdcall GetMetaFileBitsEx(HMETAFILE, UINT, LPVOID);
+__declspec(dllimport) HMETAFILE __stdcall GetMetaFileA(LPCSTR);
+__declspec(dllimport) HMETAFILE __stdcall GetMetaFileW(LPCWSTR);
+
+
+
+
+
+__declspec(dllimport) COLORREF __stdcall GetNearestColor(HDC, COLORREF);
+__declspec(dllimport) UINT __stdcall GetNearestPaletteIndex(HPALETTE, COLORREF);
+__declspec(dllimport) DWORD __stdcall GetObjectType(HGDIOBJ h);
+
+
+
+__declspec(dllimport) UINT __stdcall GetOutlineTextMetricsA(HDC, UINT, LPOUTLINETEXTMETRICA);
+__declspec(dllimport) UINT __stdcall GetOutlineTextMetricsW(HDC, UINT, LPOUTLINETEXTMETRICW);
+
+
+
+
+
+
+
+
+__declspec(dllimport) UINT __stdcall GetPaletteEntries(HPALETTE, UINT, UINT, LPPALETTEENTRY);
+__declspec(dllimport) COLORREF __stdcall GetPixel(HDC, int, int);
+__declspec(dllimport) int __stdcall GetPixelFormat(HDC);
+__declspec(dllimport) int __stdcall GetPolyFillMode(HDC);
+__declspec(dllimport) BOOL __stdcall GetRasterizerCaps(LPRASTERIZER_STATUS, UINT);
+__declspec(dllimport) DWORD __stdcall GetRegionData(HRGN, DWORD, LPRGNDATA);
+__declspec(dllimport) int __stdcall GetRgnBox(HRGN, LPRECT);
+__declspec(dllimport) HGDIOBJ __stdcall GetStockObject(int);
+__declspec(dllimport) int __stdcall GetStretchBltMode(HDC);
+__declspec(dllimport) UINT __stdcall GetSystemPaletteEntries(HDC, UINT, UINT, LPPALETTEENTRY);
+__declspec(dllimport) UINT __stdcall GetSystemPaletteUse(HDC);
+__declspec(dllimport) int __stdcall GetTextCharacterExtra(HDC);
+__declspec(dllimport) UINT __stdcall GetTextAlign(HDC);
+__declspec(dllimport) COLORREF __stdcall GetTextColor(HDC);
+
+__declspec(dllimport) BOOL __stdcall GetTextExtentPointA(
+ HDC,
+ LPCSTR,
+ int,
+ LPSIZE
+ );
+__declspec(dllimport) BOOL __stdcall GetTextExtentPointW(
+ HDC,
+ LPCWSTR,
+ int,
+ LPSIZE
+ );
+
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall GetTextExtentPoint32A(
+ HDC,
+ LPCSTR,
+ int,
+ LPSIZE
+ );
+__declspec(dllimport) BOOL __stdcall GetTextExtentPoint32W(
+ HDC,
+ LPCWSTR,
+ int,
+ LPSIZE
+ );
+
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall GetTextExtentExPointA(
+ HDC,
+ LPCSTR,
+ int,
+ int,
+ LPINT,
+ LPINT,
+ LPSIZE
+ );
+__declspec(dllimport) BOOL __stdcall GetTextExtentExPointW(
+ HDC,
+ LPCWSTR,
+ int,
+ int,
+ LPINT,
+ LPINT,
+ LPSIZE
+ );
+
+
+
+
+
+
+__declspec(dllimport) int __stdcall GetTextCharset(HDC hdc);
+__declspec(dllimport) int __stdcall GetTextCharsetInfo(HDC hdc, LPFONTSIGNATURE lpSig, DWORD dwFlags);
+__declspec(dllimport) BOOL __stdcall TranslateCharsetInfo( DWORD *lpSrc, LPCHARSETINFO lpCs, DWORD dwFlags);
+__declspec(dllimport) DWORD __stdcall GetFontLanguageInfo( HDC );
+__declspec(dllimport) DWORD __stdcall GetCharacterPlacementA(HDC, LPCSTR, int, int, LPGCP_RESULTSA, DWORD);
+__declspec(dllimport) DWORD __stdcall GetCharacterPlacementW(HDC, LPCWSTR, int, int, LPGCP_RESULTSW, DWORD);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall GetViewportExtEx(HDC, LPSIZE);
+__declspec(dllimport) BOOL __stdcall GetViewportOrgEx(HDC, LPPOINT);
+__declspec(dllimport) BOOL __stdcall GetWindowExtEx(HDC, LPSIZE);
+__declspec(dllimport) BOOL __stdcall GetWindowOrgEx(HDC, LPPOINT);
+
+__declspec(dllimport) int __stdcall IntersectClipRect(HDC, int, int, int, int);
+__declspec(dllimport) BOOL __stdcall InvertRgn(HDC, HRGN);
+__declspec(dllimport) BOOL __stdcall LineDDA(int, int, int, int, LINEDDAPROC, LPARAM);
+__declspec(dllimport) BOOL __stdcall LineTo(HDC, int, int);
+__declspec(dllimport) BOOL __stdcall MaskBlt(HDC, int, int, int, int,
+ HDC, int, int, HBITMAP, int, int, DWORD);
+__declspec(dllimport) BOOL __stdcall PlgBlt(HDC, const POINT *, HDC, int, int, int,
+ int, HBITMAP, int, int);
+
+__declspec(dllimport) int __stdcall OffsetClipRgn(HDC, int, int);
+__declspec(dllimport) int __stdcall OffsetRgn(HRGN, int, int);
+__declspec(dllimport) BOOL __stdcall PatBlt(HDC, int, int, int, int, DWORD);
+__declspec(dllimport) BOOL __stdcall Pie(HDC, int, int, int, int, int, int, int, int);
+__declspec(dllimport) BOOL __stdcall PlayMetaFile(HDC, HMETAFILE);
+__declspec(dllimport) BOOL __stdcall PaintRgn(HDC, HRGN);
+__declspec(dllimport) BOOL __stdcall PolyPolygon(HDC, const POINT *, const INT *, int);
+__declspec(dllimport) BOOL __stdcall PtInRegion(HRGN, int, int);
+__declspec(dllimport) BOOL __stdcall PtVisible(HDC, int, int);
+__declspec(dllimport) BOOL __stdcall RectInRegion(HRGN, const RECT *);
+__declspec(dllimport) BOOL __stdcall RectVisible(HDC, const RECT *);
+__declspec(dllimport) BOOL __stdcall Rectangle(HDC, int, int, int, int);
+__declspec(dllimport) BOOL __stdcall RestoreDC(HDC, int);
+__declspec(dllimport) HDC __stdcall ResetDCA(HDC, const DEVMODEA *);
+__declspec(dllimport) HDC __stdcall ResetDCW(HDC, const DEVMODEW *);
+
+
+
+
+
+__declspec(dllimport) UINT __stdcall RealizePalette(HDC);
+__declspec(dllimport) BOOL __stdcall RemoveFontResourceA(LPCSTR);
+__declspec(dllimport) BOOL __stdcall RemoveFontResourceW(LPCWSTR);
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall RoundRect(HDC, int, int, int, int, int, int);
+__declspec(dllimport) BOOL __stdcall ResizePalette(HPALETTE, UINT);
+
+__declspec(dllimport) int __stdcall SaveDC(HDC);
+__declspec(dllimport) int __stdcall SelectClipRgn(HDC, HRGN);
+__declspec(dllimport) int __stdcall ExtSelectClipRgn(HDC, HRGN, int);
+__declspec(dllimport) int __stdcall SetMetaRgn(HDC);
+__declspec(dllimport) HGDIOBJ __stdcall SelectObject(HDC, HGDIOBJ);
+__declspec(dllimport) HPALETTE __stdcall SelectPalette(HDC, HPALETTE, BOOL);
+__declspec(dllimport) COLORREF __stdcall SetBkColor(HDC, COLORREF);
+
+
+
+
+
+
+__declspec(dllimport) int __stdcall SetBkMode(HDC, int);
+__declspec(dllimport) LONG __stdcall SetBitmapBits(HBITMAP, DWORD, const void *);
+
+__declspec(dllimport) UINT __stdcall SetBoundsRect(HDC, const RECT *, UINT);
+__declspec(dllimport) int __stdcall SetDIBits(HDC, HBITMAP, UINT, UINT, const void *, const BITMAPINFO *, UINT);
+__declspec(dllimport) int __stdcall SetDIBitsToDevice(HDC, int, int, DWORD, DWORD, int,
+ int, UINT, UINT, const void *, const BITMAPINFO *, UINT);
+__declspec(dllimport) DWORD __stdcall SetMapperFlags(HDC, DWORD);
+__declspec(dllimport) int __stdcall SetGraphicsMode(HDC hdc, int iMode);
+__declspec(dllimport) int __stdcall SetMapMode(HDC, int);
+__declspec(dllimport) HMETAFILE __stdcall SetMetaFileBitsEx(UINT, const BYTE *);
+__declspec(dllimport) UINT __stdcall SetPaletteEntries(HPALETTE, UINT, UINT, const PALETTEENTRY *);
+__declspec(dllimport) COLORREF __stdcall SetPixel(HDC, int, int, COLORREF);
+__declspec(dllimport) BOOL __stdcall SetPixelV(HDC, int, int, COLORREF);
+__declspec(dllimport) BOOL __stdcall SetPixelFormat(HDC, int, const PIXELFORMATDESCRIPTOR *);
+__declspec(dllimport) int __stdcall SetPolyFillMode(HDC, int);
+__declspec(dllimport) BOOL __stdcall StretchBlt(HDC, int, int, int, int, HDC, int, int, int, int, DWORD);
+__declspec(dllimport) BOOL __stdcall SetRectRgn(HRGN, int, int, int, int);
+__declspec(dllimport) int __stdcall StretchDIBits(HDC, int, int, int, int, int, int, int, int, const
+ void *, const BITMAPINFO *, UINT, DWORD);
+__declspec(dllimport) int __stdcall SetROP2(HDC, int);
+__declspec(dllimport) int __stdcall SetStretchBltMode(HDC, int);
+__declspec(dllimport) UINT __stdcall SetSystemPaletteUse(HDC, UINT);
+__declspec(dllimport) int __stdcall SetTextCharacterExtra(HDC, int);
+__declspec(dllimport) COLORREF __stdcall SetTextColor(HDC, COLORREF);
+__declspec(dllimport) UINT __stdcall SetTextAlign(HDC, UINT);
+__declspec(dllimport) BOOL __stdcall SetTextJustification(HDC, int, int);
+__declspec(dllimport) BOOL __stdcall UpdateColors(HDC);
+
+
+
+
+
+
+
+
+typedef USHORT COLOR16;
+
+typedef struct _TRIVERTEX
+{
+ LONG x;
+ LONG y;
+ COLOR16 Red;
+ COLOR16 Green;
+ COLOR16 Blue;
+ COLOR16 Alpha;
+}TRIVERTEX,*PTRIVERTEX,*LPTRIVERTEX;
+
+typedef struct _GRADIENT_TRIANGLE
+{
+ ULONG Vertex1;
+ ULONG Vertex2;
+ ULONG Vertex3;
+} GRADIENT_TRIANGLE,*PGRADIENT_TRIANGLE,*LPGRADIENT_TRIANGLE;
+
+typedef struct _GRADIENT_RECT
+{
+ ULONG UpperLeft;
+ ULONG LowerRight;
+}GRADIENT_RECT,*PGRADIENT_RECT,*LPGRADIENT_RECT;
+
+typedef struct _BLENDFUNCTION
+{
+ BYTE BlendOp;
+ BYTE BlendFlags;
+ BYTE SourceConstantAlpha;
+ BYTE AlphaFormat;
+}BLENDFUNCTION,*PBLENDFUNCTION;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall AlphaBlend(HDC,int,int,int,int,HDC,int,int,int,int,BLENDFUNCTION);
+
+__declspec(dllimport) BOOL __stdcall AlphaDIBBlend(HDC,int,int,int,int,const void *,
+ const BITMAPINFO *,UINT,int,int,int,int,BLENDFUNCTION);
+
+__declspec(dllimport) BOOL __stdcall TransparentBlt(HDC,int,int,int,int,HDC,int,int,int,int,UINT);
+
+__declspec(dllimport) BOOL __stdcall TransparentDIBits(HDC,int,int,int,int,const void *,
+ const BITMAPINFO *,UINT,int,int,int,int,UINT);
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall GradientFill(HDC,PTRIVERTEX,ULONG,PVOID,ULONG,ULONG);
+
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall PlayMetaFileRecord(HDC, LPHANDLETABLE, LPMETARECORD, UINT);
+typedef int (__stdcall* MFENUMPROC)(HDC, HANDLETABLE *, METARECORD *, int, LPARAM);
+__declspec(dllimport) BOOL __stdcall EnumMetaFile(HDC, HMETAFILE, MFENUMPROC, LPARAM);
+
+typedef int (__stdcall* ENHMFENUMPROC)(HDC, HANDLETABLE *, const ENHMETARECORD *, int, LPARAM);
+
+
+
+__declspec(dllimport) HENHMETAFILE __stdcall CloseEnhMetaFile(HDC);
+__declspec(dllimport) HENHMETAFILE __stdcall CopyEnhMetaFileA(HENHMETAFILE, LPCSTR);
+__declspec(dllimport) HENHMETAFILE __stdcall CopyEnhMetaFileW(HENHMETAFILE, LPCWSTR);
+
+
+
+
+
+__declspec(dllimport) HDC __stdcall CreateEnhMetaFileA(HDC, LPCSTR, const RECT *, LPCSTR);
+__declspec(dllimport) HDC __stdcall CreateEnhMetaFileW(HDC, LPCWSTR, const RECT *, LPCWSTR);
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall DeleteEnhMetaFile(HENHMETAFILE);
+__declspec(dllimport) BOOL __stdcall EnumEnhMetaFile(HDC, HENHMETAFILE, ENHMFENUMPROC,
+ LPVOID, const RECT *);
+__declspec(dllimport) HENHMETAFILE __stdcall GetEnhMetaFileA(LPCSTR);
+__declspec(dllimport) HENHMETAFILE __stdcall GetEnhMetaFileW(LPCWSTR);
+
+
+
+
+
+__declspec(dllimport) UINT __stdcall GetEnhMetaFileBits(HENHMETAFILE, UINT, LPBYTE);
+__declspec(dllimport) UINT __stdcall GetEnhMetaFileDescriptionA(HENHMETAFILE, UINT, LPSTR );
+__declspec(dllimport) UINT __stdcall GetEnhMetaFileDescriptionW(HENHMETAFILE, UINT, LPWSTR );
+
+
+
+
+
+__declspec(dllimport) UINT __stdcall GetEnhMetaFileHeader(HENHMETAFILE, UINT, LPENHMETAHEADER );
+__declspec(dllimport) UINT __stdcall GetEnhMetaFilePaletteEntries(HENHMETAFILE, UINT, LPPALETTEENTRY );
+__declspec(dllimport) UINT __stdcall GetEnhMetaFilePixelFormat(HENHMETAFILE, UINT,
+ PIXELFORMATDESCRIPTOR *);
+__declspec(dllimport) UINT __stdcall GetWinMetaFileBits(HENHMETAFILE, UINT, LPBYTE, INT, HDC);
+__declspec(dllimport) BOOL __stdcall PlayEnhMetaFile(HDC, HENHMETAFILE, const RECT *);
+__declspec(dllimport) BOOL __stdcall PlayEnhMetaFileRecord(HDC, LPHANDLETABLE, const ENHMETARECORD *, UINT);
+__declspec(dllimport) HENHMETAFILE __stdcall SetEnhMetaFileBits(UINT, const BYTE *);
+__declspec(dllimport) HENHMETAFILE __stdcall SetWinMetaFileBits(UINT, const BYTE *, HDC, const METAFILEPICT *);
+__declspec(dllimport) BOOL __stdcall GdiComment(HDC, UINT, const BYTE *);
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall GetTextMetricsA(HDC, LPTEXTMETRICA);
+__declspec(dllimport) BOOL __stdcall GetTextMetricsW(HDC, LPTEXTMETRICW);
+
+
+
+
+
+
+
+
+
+
+typedef struct tagDIBSECTION {
+ BITMAP dsBm;
+ BITMAPINFOHEADER dsBmih;
+ DWORD dsBitfields[3];
+ HANDLE dshSection;
+ DWORD dsOffset;
+} DIBSECTION, *LPDIBSECTION, *PDIBSECTION;
+
+__declspec(dllimport) BOOL __stdcall AngleArc(HDC, int, int, DWORD, FLOAT, FLOAT);
+__declspec(dllimport) BOOL __stdcall PolyPolyline(HDC, const POINT *, const DWORD *, DWORD);
+__declspec(dllimport) BOOL __stdcall GetWorldTransform(HDC, LPXFORM);
+__declspec(dllimport) BOOL __stdcall SetWorldTransform(HDC, const XFORM *);
+__declspec(dllimport) BOOL __stdcall ModifyWorldTransform(HDC, const XFORM *, DWORD);
+__declspec(dllimport) BOOL __stdcall CombineTransform(LPXFORM, const XFORM *, const XFORM *);
+__declspec(dllimport) HBITMAP __stdcall CreateDIBSection(HDC, const BITMAPINFO *, UINT, void **, HANDLE, DWORD);
+__declspec(dllimport) UINT __stdcall GetDIBColorTable(HDC, UINT, UINT, RGBQUAD *);
+__declspec(dllimport) UINT __stdcall SetDIBColorTable(HDC, UINT, UINT, const RGBQUAD *);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagCOLORADJUSTMENT {
+ WORD caSize;
+ WORD caFlags;
+ WORD caIlluminantIndex;
+ WORD caRedGamma;
+ WORD caGreenGamma;
+ WORD caBlueGamma;
+ WORD caReferenceBlack;
+ WORD caReferenceWhite;
+ SHORT caContrast;
+ SHORT caBrightness;
+ SHORT caColorfulness;
+ SHORT caRedGreenTint;
+} COLORADJUSTMENT, *PCOLORADJUSTMENT, *LPCOLORADJUSTMENT;
+
+__declspec(dllimport) BOOL __stdcall SetColorAdjustment(HDC, const COLORADJUSTMENT *);
+__declspec(dllimport) BOOL __stdcall GetColorAdjustment(HDC, LPCOLORADJUSTMENT);
+__declspec(dllimport) HPALETTE __stdcall CreateHalftonePalette(HDC);
+
+
+typedef BOOL (__stdcall* ABORTPROC)(HDC, int);
+
+
+
+
+typedef struct _DOCINFOA {
+ int cbSize;
+ LPCSTR lpszDocName;
+ LPCSTR lpszOutput;
+
+ LPCSTR lpszDatatype;
+ DWORD fwType;
+
+} DOCINFOA, *LPDOCINFOA;
+typedef struct _DOCINFOW {
+ int cbSize;
+ LPCWSTR lpszDocName;
+ LPCWSTR lpszOutput;
+
+ LPCWSTR lpszDatatype;
+ DWORD fwType;
+
+} DOCINFOW, *LPDOCINFOW;
+
+
+
+
+typedef DOCINFOA DOCINFO;
+typedef LPDOCINFOA LPDOCINFO;
+
+
+
+
+
+
+
+__declspec(dllimport) int __stdcall StartDocA(HDC, const DOCINFOA *);
+__declspec(dllimport) int __stdcall StartDocW(HDC, const DOCINFOW *);
+
+
+
+
+
+__declspec(dllimport) int __stdcall EndDoc(HDC);
+__declspec(dllimport) int __stdcall StartPage(HDC);
+__declspec(dllimport) int __stdcall EndPage(HDC);
+__declspec(dllimport) int __stdcall AbortDoc(HDC);
+__declspec(dllimport) int __stdcall SetAbortProc(HDC, ABORTPROC);
+
+__declspec(dllimport) BOOL __stdcall AbortPath(HDC);
+__declspec(dllimport) BOOL __stdcall ArcTo(HDC, int, int, int, int, int, int,int, int);
+__declspec(dllimport) BOOL __stdcall BeginPath(HDC);
+__declspec(dllimport) BOOL __stdcall CloseFigure(HDC);
+__declspec(dllimport) BOOL __stdcall EndPath(HDC);
+__declspec(dllimport) BOOL __stdcall FillPath(HDC);
+__declspec(dllimport) BOOL __stdcall FlattenPath(HDC);
+__declspec(dllimport) int __stdcall GetPath(HDC, LPPOINT, LPBYTE, int);
+__declspec(dllimport) HRGN __stdcall PathToRegion(HDC);
+__declspec(dllimport) BOOL __stdcall PolyDraw(HDC, const POINT *, const BYTE *, int);
+__declspec(dllimport) BOOL __stdcall SelectClipPath(HDC, int);
+__declspec(dllimport) int __stdcall SetArcDirection(HDC, int);
+__declspec(dllimport) BOOL __stdcall SetMiterLimit(HDC, FLOAT, PFLOAT);
+__declspec(dllimport) BOOL __stdcall StrokeAndFillPath(HDC);
+__declspec(dllimport) BOOL __stdcall StrokePath(HDC);
+__declspec(dllimport) BOOL __stdcall WidenPath(HDC);
+__declspec(dllimport) HPEN __stdcall ExtCreatePen(DWORD, DWORD, const LOGBRUSH *, DWORD, const DWORD *);
+__declspec(dllimport) BOOL __stdcall GetMiterLimit(HDC, PFLOAT);
+__declspec(dllimport) int __stdcall GetArcDirection(HDC);
+
+__declspec(dllimport) int __stdcall GetObjectA(HGDIOBJ, int, LPVOID);
+__declspec(dllimport) int __stdcall GetObjectW(HGDIOBJ, int, LPVOID);
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall MoveToEx(HDC, int, int, LPPOINT);
+__declspec(dllimport) BOOL __stdcall TextOutA(HDC, int, int, LPCSTR, int);
+__declspec(dllimport) BOOL __stdcall TextOutW(HDC, int, int, LPCWSTR, int);
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall ExtTextOutA(HDC, int, int, UINT, const RECT *,LPCSTR, UINT, const INT *);
+__declspec(dllimport) BOOL __stdcall ExtTextOutW(HDC, int, int, UINT, const RECT *,LPCWSTR, UINT, const INT *);
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall PolyTextOutA(HDC, const POLYTEXTA *, int);
+__declspec(dllimport) BOOL __stdcall PolyTextOutW(HDC, const POLYTEXTW *, int);
+
+
+
+
+
+
+__declspec(dllimport) HRGN __stdcall CreatePolygonRgn(const POINT *, int, int);
+__declspec(dllimport) BOOL __stdcall DPtoLP(HDC, LPPOINT, int);
+__declspec(dllimport) BOOL __stdcall LPtoDP(HDC, LPPOINT, int);
+__declspec(dllimport) BOOL __stdcall Polygon(HDC, const POINT *, int);
+__declspec(dllimport) BOOL __stdcall Polyline(HDC, const POINT *, int);
+
+__declspec(dllimport) BOOL __stdcall PolyBezier(HDC, const POINT *, DWORD);
+__declspec(dllimport) BOOL __stdcall PolyBezierTo(HDC, const POINT *, DWORD);
+__declspec(dllimport) BOOL __stdcall PolylineTo(HDC, const POINT *, DWORD);
+
+__declspec(dllimport) BOOL __stdcall SetViewportExtEx(HDC, int, int, LPSIZE);
+__declspec(dllimport) BOOL __stdcall SetViewportOrgEx(HDC, int, int, LPPOINT);
+__declspec(dllimport) BOOL __stdcall SetWindowExtEx(HDC, int, int, LPSIZE);
+__declspec(dllimport) BOOL __stdcall SetWindowOrgEx(HDC, int, int, LPPOINT);
+
+__declspec(dllimport) BOOL __stdcall OffsetViewportOrgEx(HDC, int, int, LPPOINT);
+__declspec(dllimport) BOOL __stdcall OffsetWindowOrgEx(HDC, int, int, LPPOINT);
+__declspec(dllimport) BOOL __stdcall ScaleViewportExtEx(HDC, int, int, int, int, LPSIZE);
+__declspec(dllimport) BOOL __stdcall ScaleWindowExtEx(HDC, int, int, int, int, LPSIZE);
+__declspec(dllimport) BOOL __stdcall SetBitmapDimensionEx(HBITMAP, int, int, LPSIZE);
+__declspec(dllimport) BOOL __stdcall SetBrushOrgEx(HDC, int, int, LPPOINT);
+
+__declspec(dllimport) int __stdcall GetTextFaceA(HDC, int, LPSTR);
+__declspec(dllimport) int __stdcall GetTextFaceW(HDC, int, LPWSTR);
+
+
+
+
+
+
+
+
+typedef struct tagKERNINGPAIR {
+ WORD wFirst;
+ WORD wSecond;
+ int iKernAmount;
+} KERNINGPAIR, *LPKERNINGPAIR;
+
+__declspec(dllimport) DWORD __stdcall GetKerningPairsA(HDC, DWORD, LPKERNINGPAIR);
+__declspec(dllimport) DWORD __stdcall GetKerningPairsW(HDC, DWORD, LPKERNINGPAIR);
+
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall GetDCOrgEx(HDC,LPPOINT);
+__declspec(dllimport) BOOL __stdcall FixBrushOrgEx(HDC,int,int,LPPOINT);
+__declspec(dllimport) BOOL __stdcall UnrealizeObject(HGDIOBJ);
+
+__declspec(dllimport) BOOL __stdcall GdiFlush();
+__declspec(dllimport) DWORD __stdcall GdiSetBatchLimit(DWORD);
+__declspec(dllimport) DWORD __stdcall GdiGetBatchLimit();
+
+
+
+
+
+
+
+
+
+typedef int (__stdcall* ICMENUMPROCA)(LPSTR, LPARAM);
+typedef int (__stdcall* ICMENUMPROCW)(LPWSTR, LPARAM);
+
+
+
+
+
+
+__declspec(dllimport) int __stdcall SetICMMode(HDC, int);
+__declspec(dllimport) BOOL __stdcall CheckColorsInGamut(HDC,LPVOID,LPVOID,DWORD);
+__declspec(dllimport) HCOLORSPACE __stdcall GetColorSpace(HDC);
+__declspec(dllimport) BOOL __stdcall GetLogColorSpaceA(HCOLORSPACE,LPLOGCOLORSPACEA,DWORD);
+__declspec(dllimport) BOOL __stdcall GetLogColorSpaceW(HCOLORSPACE,LPLOGCOLORSPACEW,DWORD);
+
+
+
+
+
+__declspec(dllimport) HCOLORSPACE __stdcall CreateColorSpaceA(LPLOGCOLORSPACEA);
+__declspec(dllimport) HCOLORSPACE __stdcall CreateColorSpaceW(LPLOGCOLORSPACEW);
+
+
+
+
+
+__declspec(dllimport) HCOLORSPACE __stdcall SetColorSpace(HDC,HCOLORSPACE);
+__declspec(dllimport) BOOL __stdcall DeleteColorSpace(HCOLORSPACE);
+__declspec(dllimport) BOOL __stdcall GetICMProfileA(HDC,LPDWORD,LPSTR);
+__declspec(dllimport) BOOL __stdcall GetICMProfileW(HDC,LPDWORD,LPWSTR);
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall SetICMProfileA(HDC,LPSTR);
+__declspec(dllimport) BOOL __stdcall SetICMProfileW(HDC,LPWSTR);
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall GetDeviceGammaRamp(HDC,LPVOID);
+__declspec(dllimport) BOOL __stdcall SetDeviceGammaRamp(HDC,LPVOID);
+__declspec(dllimport) BOOL __stdcall ColorMatchToTarget(HDC,HDC,DWORD);
+__declspec(dllimport) int __stdcall EnumICMProfilesA(HDC,ICMENUMPROCA,LPARAM);
+__declspec(dllimport) int __stdcall EnumICMProfilesW(HDC,ICMENUMPROCW,LPARAM);
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall UpdateICMRegKeyA(DWORD,LPSTR,LPSTR,UINT);
+__declspec(dllimport) BOOL __stdcall UpdateICMRegKeyW(DWORD,LPWSTR,LPWSTR,UINT);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagEMR
+{
+ DWORD iType;
+ DWORD nSize;
+
+} EMR, *PEMR;
+
+
+
+typedef struct tagEMRTEXT
+{
+ POINTL ptlReference;
+ DWORD nChars;
+ DWORD offString;
+ DWORD fOptions;
+ RECTL rcl;
+ DWORD offDx;
+
+} EMRTEXT, *PEMRTEXT;
+
+
+
+typedef struct tagABORTPATH
+{
+ EMR emr;
+} EMRABORTPATH, *PEMRABORTPATH,
+ EMRBEGINPATH, *PEMRBEGINPATH,
+ EMRENDPATH, *PEMRENDPATH,
+ EMRCLOSEFIGURE, *PEMRCLOSEFIGURE,
+ EMRFLATTENPATH, *PEMRFLATTENPATH,
+ EMRWIDENPATH, *PEMRWIDENPATH,
+ EMRSETMETARGN, *PEMRSETMETARGN,
+ EMRSAVEDC, *PEMRSAVEDC,
+ EMRREALIZEPALETTE, *PEMRREALIZEPALETTE;
+
+typedef struct tagEMRSELECTCLIPPATH
+{
+ EMR emr;
+ DWORD iMode;
+} EMRSELECTCLIPPATH, *PEMRSELECTCLIPPATH,
+ EMRSETBKMODE, *PEMRSETBKMODE,
+ EMRSETMAPMODE, *PEMRSETMAPMODE,
+ EMRSETPOLYFILLMODE, *PEMRSETPOLYFILLMODE,
+ EMRSETROP2, *PEMRSETROP2,
+ EMRSETSTRETCHBLTMODE, *PEMRSETSTRETCHBLTMODE,
+ EMRSETICMMODE, *PEMRSETICMMODE,
+ EMRSETTEXTALIGN, *PEMRSETTEXTALIGN;
+
+typedef struct tagEMRSETMITERLIMIT
+{
+ EMR emr;
+ FLOAT eMiterLimit;
+} EMRSETMITERLIMIT, *PEMRSETMITERLIMIT;
+
+typedef struct tagEMRRESTOREDC
+{
+ EMR emr;
+ LONG iRelative;
+} EMRRESTOREDC, *PEMRRESTOREDC;
+
+typedef struct tagEMRSETARCDIRECTION
+{
+ EMR emr;
+ DWORD iArcDirection;
+
+} EMRSETARCDIRECTION, *PEMRSETARCDIRECTION;
+
+typedef struct tagEMRSETMAPPERFLAGS
+{
+ EMR emr;
+ DWORD dwFlags;
+} EMRSETMAPPERFLAGS, *PEMRSETMAPPERFLAGS;
+
+typedef struct tagEMRSETTEXTCOLOR
+{
+ EMR emr;
+ COLORREF crColor;
+} EMRSETBKCOLOR, *PEMRSETBKCOLOR,
+ EMRSETTEXTCOLOR, *PEMRSETTEXTCOLOR;
+
+typedef struct tagEMRSELECTOBJECT
+{
+ EMR emr;
+ DWORD ihObject;
+} EMRSELECTOBJECT, *PEMRSELECTOBJECT,
+ EMRDELETEOBJECT, *PEMRDELETEOBJECT;
+
+
+typedef struct tagEMRSELECTCOLORSPACE
+{
+ EMR emr;
+ DWORD ihCS;
+} EMRSELECTCOLORSPACE, *PEMRSELECTCOLORSPACE,
+ EMRDELETECOLORSPACE, *PEMRDELETECOLORSPACE;
+
+
+typedef struct tagEMRSELECTPALETTE
+{
+ EMR emr;
+ DWORD ihPal;
+} EMRSELECTPALETTE, *PEMRSELECTPALETTE;
+
+typedef struct tagEMRRESIZEPALETTE
+{
+ EMR emr;
+ DWORD ihPal;
+ DWORD cEntries;
+} EMRRESIZEPALETTE, *PEMRRESIZEPALETTE;
+
+typedef struct tagEMRSETPALETTEENTRIES
+{
+ EMR emr;
+ DWORD ihPal;
+ DWORD iStart;
+ DWORD cEntries;
+ PALETTEENTRY aPalEntries[1];
+} EMRSETPALETTEENTRIES, *PEMRSETPALETTEENTRIES;
+
+typedef struct tagEMRSETCOLORADJUSTMENT
+{
+ EMR emr;
+ COLORADJUSTMENT ColorAdjustment;
+} EMRSETCOLORADJUSTMENT, *PEMRSETCOLORADJUSTMENT;
+
+typedef struct tagEMRGDICOMMENT
+{
+ EMR emr;
+ DWORD cbData;
+ BYTE Data[1];
+} EMRGDICOMMENT, *PEMRGDICOMMENT;
+
+typedef struct tagEMREOF
+{
+ EMR emr;
+ DWORD nPalEntries;
+ DWORD offPalEntries;
+ DWORD nSizeLast;
+
+
+} EMREOF, *PEMREOF;
+
+typedef struct tagEMRLINETO
+{
+ EMR emr;
+ POINTL ptl;
+} EMRLINETO, *PEMRLINETO,
+ EMRMOVETOEX, *PEMRMOVETOEX;
+
+typedef struct tagEMROFFSETCLIPRGN
+{
+ EMR emr;
+ POINTL ptlOffset;
+} EMROFFSETCLIPRGN, *PEMROFFSETCLIPRGN;
+
+typedef struct tagEMRFILLPATH
+{
+ EMR emr;
+ RECTL rclBounds;
+} EMRFILLPATH, *PEMRFILLPATH,
+ EMRSTROKEANDFILLPATH, *PEMRSTROKEANDFILLPATH,
+ EMRSTROKEPATH, *PEMRSTROKEPATH;
+
+typedef struct tagEMREXCLUDECLIPRECT
+{
+ EMR emr;
+ RECTL rclClip;
+} EMREXCLUDECLIPRECT, *PEMREXCLUDECLIPRECT,
+ EMRINTERSECTCLIPRECT, *PEMRINTERSECTCLIPRECT;
+
+typedef struct tagEMRSETVIEWPORTORGEX
+{
+ EMR emr;
+ POINTL ptlOrigin;
+} EMRSETVIEWPORTORGEX, *PEMRSETVIEWPORTORGEX,
+ EMRSETWINDOWORGEX, *PEMRSETWINDOWORGEX,
+ EMRSETBRUSHORGEX, *PEMRSETBRUSHORGEX;
+
+typedef struct tagEMRSETVIEWPORTEXTEX
+{
+ EMR emr;
+ SIZEL szlExtent;
+} EMRSETVIEWPORTEXTEX, *PEMRSETVIEWPORTEXTEX,
+ EMRSETWINDOWEXTEX, *PEMRSETWINDOWEXTEX;
+
+typedef struct tagEMRSCALEVIEWPORTEXTEX
+{
+ EMR emr;
+ LONG xNum;
+ LONG xDenom;
+ LONG yNum;
+ LONG yDenom;
+} EMRSCALEVIEWPORTEXTEX, *PEMRSCALEVIEWPORTEXTEX,
+ EMRSCALEWINDOWEXTEX, *PEMRSCALEWINDOWEXTEX;
+
+typedef struct tagEMRSETWORLDTRANSFORM
+{
+ EMR emr;
+ XFORM xform;
+} EMRSETWORLDTRANSFORM, *PEMRSETWORLDTRANSFORM;
+
+typedef struct tagEMRMODIFYWORLDTRANSFORM
+{
+ EMR emr;
+ XFORM xform;
+ DWORD iMode;
+} EMRMODIFYWORLDTRANSFORM, *PEMRMODIFYWORLDTRANSFORM;
+
+typedef struct tagEMRSETPIXELV
+{
+ EMR emr;
+ POINTL ptlPixel;
+ COLORREF crColor;
+} EMRSETPIXELV, *PEMRSETPIXELV;
+
+typedef struct tagEMREXTFLOODFILL
+{
+ EMR emr;
+ POINTL ptlStart;
+ COLORREF crColor;
+ DWORD iMode;
+} EMREXTFLOODFILL, *PEMREXTFLOODFILL;
+
+typedef struct tagEMRELLIPSE
+{
+ EMR emr;
+ RECTL rclBox;
+} EMRELLIPSE, *PEMRELLIPSE,
+ EMRRECTANGLE, *PEMRRECTANGLE;
+
+typedef struct tagEMRROUNDRECT
+{
+ EMR emr;
+ RECTL rclBox;
+ SIZEL szlCorner;
+} EMRROUNDRECT, *PEMRROUNDRECT;
+
+typedef struct tagEMRARC
+{
+ EMR emr;
+ RECTL rclBox;
+ POINTL ptlStart;
+ POINTL ptlEnd;
+} EMRARC, *PEMRARC,
+ EMRARCTO, *PEMRARCTO,
+ EMRCHORD, *PEMRCHORD,
+ EMRPIE, *PEMRPIE;
+
+typedef struct tagEMRANGLEARC
+{
+ EMR emr;
+ POINTL ptlCenter;
+ DWORD nRadius;
+ FLOAT eStartAngle;
+ FLOAT eSweepAngle;
+} EMRANGLEARC, *PEMRANGLEARC;
+
+typedef struct tagEMRPOLYLINE
+{
+ EMR emr;
+ RECTL rclBounds;
+ DWORD cptl;
+ POINTL aptl[1];
+} EMRPOLYLINE, *PEMRPOLYLINE,
+ EMRPOLYBEZIER, *PEMRPOLYBEZIER,
+ EMRPOLYGON, *PEMRPOLYGON,
+ EMRPOLYBEZIERTO, *PEMRPOLYBEZIERTO,
+ EMRPOLYLINETO, *PEMRPOLYLINETO;
+
+typedef struct tagEMRPOLYLINE16
+{
+ EMR emr;
+ RECTL rclBounds;
+ DWORD cpts;
+ POINTS apts[1];
+} EMRPOLYLINE16, *PEMRPOLYLINE16,
+ EMRPOLYBEZIER16, *PEMRPOLYBEZIER16,
+ EMRPOLYGON16, *PEMRPOLYGON16,
+ EMRPOLYBEZIERTO16, *PEMRPOLYBEZIERTO16,
+ EMRPOLYLINETO16, *PEMRPOLYLINETO16;
+
+typedef struct tagEMRPOLYDRAW
+{
+ EMR emr;
+ RECTL rclBounds;
+ DWORD cptl;
+ POINTL aptl[1];
+ BYTE abTypes[1];
+} EMRPOLYDRAW, *PEMRPOLYDRAW;
+
+typedef struct tagEMRPOLYDRAW16
+{
+ EMR emr;
+ RECTL rclBounds;
+ DWORD cpts;
+ POINTS apts[1];
+ BYTE abTypes[1];
+} EMRPOLYDRAW16, *PEMRPOLYDRAW16;
+
+typedef struct tagEMRPOLYPOLYLINE
+{
+ EMR emr;
+ RECTL rclBounds;
+ DWORD nPolys;
+ DWORD cptl;
+ DWORD aPolyCounts[1];
+ POINTL aptl[1];
+} EMRPOLYPOLYLINE, *PEMRPOLYPOLYLINE,
+ EMRPOLYPOLYGON, *PEMRPOLYPOLYGON;
+
+typedef struct tagEMRPOLYPOLYLINE16
+{
+ EMR emr;
+ RECTL rclBounds;
+ DWORD nPolys;
+ DWORD cpts;
+ DWORD aPolyCounts[1];
+ POINTS apts[1];
+} EMRPOLYPOLYLINE16, *PEMRPOLYPOLYLINE16,
+ EMRPOLYPOLYGON16, *PEMRPOLYPOLYGON16;
+
+typedef struct tagEMRINVERTRGN
+{
+ EMR emr;
+ RECTL rclBounds;
+ DWORD cbRgnData;
+ BYTE RgnData[1];
+} EMRINVERTRGN, *PEMRINVERTRGN,
+ EMRPAINTRGN, *PEMRPAINTRGN;
+
+typedef struct tagEMRFILLRGN
+{
+ EMR emr;
+ RECTL rclBounds;
+ DWORD cbRgnData;
+ DWORD ihBrush;
+ BYTE RgnData[1];
+} EMRFILLRGN, *PEMRFILLRGN;
+
+typedef struct tagEMRFRAMERGN
+{
+ EMR emr;
+ RECTL rclBounds;
+ DWORD cbRgnData;
+ DWORD ihBrush;
+ SIZEL szlStroke;
+ BYTE RgnData[1];
+} EMRFRAMERGN, *PEMRFRAMERGN;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagEMREXTSELECTCLIPRGN
+{
+ EMR emr;
+ DWORD cbRgnData;
+ DWORD iMode;
+ BYTE RgnData[1];
+} EMREXTSELECTCLIPRGN, *PEMREXTSELECTCLIPRGN;
+
+typedef struct tagEMREXTTEXTOUTA
+{
+ EMR emr;
+ RECTL rclBounds;
+ DWORD iGraphicsMode;
+ FLOAT exScale;
+ FLOAT eyScale;
+ EMRTEXT emrtext;
+
+} EMREXTTEXTOUTA, *PEMREXTTEXTOUTA,
+ EMREXTTEXTOUTW, *PEMREXTTEXTOUTW;
+
+typedef struct tagEMRPOLYTEXTOUTA
+{
+ EMR emr;
+ RECTL rclBounds;
+ DWORD iGraphicsMode;
+ FLOAT exScale;
+ FLOAT eyScale;
+ LONG cStrings;
+ EMRTEXT aemrtext[1];
+
+} EMRPOLYTEXTOUTA, *PEMRPOLYTEXTOUTA,
+ EMRPOLYTEXTOUTW, *PEMRPOLYTEXTOUTW;
+
+typedef struct tagEMRBITBLT
+{
+ EMR emr;
+ RECTL rclBounds;
+ LONG xDest;
+ LONG yDest;
+ LONG cxDest;
+ LONG cyDest;
+ DWORD dwRop;
+ LONG xSrc;
+ LONG ySrc;
+ XFORM xformSrc;
+ COLORREF crBkColorSrc;
+ DWORD iUsageSrc;
+
+ DWORD offBmiSrc;
+ DWORD cbBmiSrc;
+ DWORD offBitsSrc;
+ DWORD cbBitsSrc;
+} EMRBITBLT, *PEMRBITBLT;
+
+typedef struct tagEMRSTRETCHBLT
+{
+ EMR emr;
+ RECTL rclBounds;
+ LONG xDest;
+ LONG yDest;
+ LONG cxDest;
+ LONG cyDest;
+ DWORD dwRop;
+ LONG xSrc;
+ LONG ySrc;
+ XFORM xformSrc;
+ COLORREF crBkColorSrc;
+ DWORD iUsageSrc;
+
+ DWORD offBmiSrc;
+ DWORD cbBmiSrc;
+ DWORD offBitsSrc;
+ DWORD cbBitsSrc;
+ LONG cxSrc;
+ LONG cySrc;
+} EMRSTRETCHBLT, *PEMRSTRETCHBLT;
+
+typedef struct tagEMRMASKBLT
+{
+ EMR emr;
+ RECTL rclBounds;
+ LONG xDest;
+ LONG yDest;
+ LONG cxDest;
+ LONG cyDest;
+ DWORD dwRop;
+ LONG xSrc;
+ LONG ySrc;
+ XFORM xformSrc;
+ COLORREF crBkColorSrc;
+ DWORD iUsageSrc;
+
+ DWORD offBmiSrc;
+ DWORD cbBmiSrc;
+ DWORD offBitsSrc;
+ DWORD cbBitsSrc;
+ LONG xMask;
+ LONG yMask;
+ DWORD iUsageMask;
+ DWORD offBmiMask;
+ DWORD cbBmiMask;
+ DWORD offBitsMask;
+ DWORD cbBitsMask;
+} EMRMASKBLT, *PEMRMASKBLT;
+
+typedef struct tagEMRPLGBLT
+{
+ EMR emr;
+ RECTL rclBounds;
+ POINTL aptlDest[3];
+ LONG xSrc;
+ LONG ySrc;
+ LONG cxSrc;
+ LONG cySrc;
+ XFORM xformSrc;
+ COLORREF crBkColorSrc;
+ DWORD iUsageSrc;
+
+ DWORD offBmiSrc;
+ DWORD cbBmiSrc;
+ DWORD offBitsSrc;
+ DWORD cbBitsSrc;
+ LONG xMask;
+ LONG yMask;
+ DWORD iUsageMask;
+ DWORD offBmiMask;
+ DWORD cbBmiMask;
+ DWORD offBitsMask;
+ DWORD cbBitsMask;
+} EMRPLGBLT, *PEMRPLGBLT;
+
+typedef struct tagEMRSETDIBITSTODEVICE
+{
+ EMR emr;
+ RECTL rclBounds;
+ LONG xDest;
+ LONG yDest;
+ LONG xSrc;
+ LONG ySrc;
+ LONG cxSrc;
+ LONG cySrc;
+ DWORD offBmiSrc;
+ DWORD cbBmiSrc;
+ DWORD offBitsSrc;
+ DWORD cbBitsSrc;
+ DWORD iUsageSrc;
+ DWORD iStartScan;
+ DWORD cScans;
+} EMRSETDIBITSTODEVICE, *PEMRSETDIBITSTODEVICE;
+
+typedef struct tagEMRSTRETCHDIBITS
+{
+ EMR emr;
+ RECTL rclBounds;
+ LONG xDest;
+ LONG yDest;
+ LONG xSrc;
+ LONG ySrc;
+ LONG cxSrc;
+ LONG cySrc;
+ DWORD offBmiSrc;
+ DWORD cbBmiSrc;
+ DWORD offBitsSrc;
+ DWORD cbBitsSrc;
+ DWORD iUsageSrc;
+ DWORD dwRop;
+ LONG cxDest;
+ LONG cyDest;
+} EMRSTRETCHDIBITS, *PEMRSTRETCHDIBITS;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagEMREXTCREATEFONTINDIRECTW
+{
+ EMR emr;
+ DWORD ihFont;
+ EXTLOGFONTW elfw;
+} EMREXTCREATEFONTINDIRECTW, *PEMREXTCREATEFONTINDIRECTW;
+
+
+typedef struct tagEMRCREATEPALETTE
+{
+ EMR emr;
+ DWORD ihPal;
+ LOGPALETTE lgpl;
+
+} EMRCREATEPALETTE, *PEMRCREATEPALETTE;
+
+
+
+typedef struct tagEMRCREATECOLORSPACE
+{
+ EMR emr;
+ DWORD ihCS;
+ LOGCOLORSPACEW lcs;
+} EMRCREATECOLORSPACE, *PEMRCREATECOLORSPACE;
+
+
+
+typedef struct tagEMRCREATEPEN
+{
+ EMR emr;
+ DWORD ihPen;
+ LOGPEN lopn;
+} EMRCREATEPEN, *PEMRCREATEPEN;
+
+typedef struct tagEMREXTCREATEPEN
+{
+ EMR emr;
+ DWORD ihPen;
+ DWORD offBmi;
+ DWORD cbBmi;
+
+
+ DWORD offBits;
+ DWORD cbBits;
+ EXTLOGPEN elp;
+} EMREXTCREATEPEN, *PEMREXTCREATEPEN;
+
+typedef struct tagEMRCREATEBRUSHINDIRECT
+{
+ EMR emr;
+ DWORD ihBrush;
+ LOGBRUSH lb;
+
+} EMRCREATEBRUSHINDIRECT, *PEMRCREATEBRUSHINDIRECT;
+
+typedef struct tagEMRCREATEMONOBRUSH
+{
+ EMR emr;
+ DWORD ihBrush;
+ DWORD iUsage;
+ DWORD offBmi;
+ DWORD cbBmi;
+ DWORD offBits;
+ DWORD cbBits;
+} EMRCREATEMONOBRUSH, *PEMRCREATEMONOBRUSH;
+
+typedef struct tagEMRCREATEDIBPATTERNBRUSHPT
+{
+ EMR emr;
+ DWORD ihBrush;
+ DWORD iUsage;
+ DWORD offBmi;
+ DWORD cbBmi;
+
+
+ DWORD offBits;
+ DWORD cbBits;
+} EMRCREATEDIBPATTERNBRUSHPT, *PEMRCREATEDIBPATTERNBRUSHPT;
+
+typedef struct tagEMRFORMAT
+{
+ DWORD dSignature;
+ DWORD nVersion;
+ DWORD cbData;
+ DWORD offData;
+
+} EMRFORMAT, *PEMRFORMAT;
+
+typedef struct tagEMRGLSRECORD
+{
+ EMR emr;
+ DWORD cbData;
+ BYTE Data[1];
+} EMRGLSRECORD, *PEMRGLSRECORD;
+
+typedef struct tagEMRGLSBOUNDEDRECORD
+{
+ EMR emr;
+ RECTL rclBounds;
+ DWORD cbData;
+ BYTE Data[1];
+} EMRGLSBOUNDEDRECORD, *PEMRGLSBOUNDEDRECORD;
+
+typedef struct tagEMRPIXELFORMAT
+{
+ EMR emr;
+ PIXELFORMATDESCRIPTOR pfd;
+} EMRPIXELFORMAT, *PEMRPIXELFORMAT;
+
+
+
+typedef struct tagEMRSETICMPROFILE
+{
+ EMR emr;
+ DWORD dwFlags;
+ DWORD cbName;
+ DWORD cbData;
+ BYTE Data[1];
+} EMRSETICMPROFILE, *PEMRSETICMPROFILE;
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall wglCopyContext(HGLRC, HGLRC, UINT);
+__declspec(dllimport) HGLRC __stdcall wglCreateContext(HDC);
+__declspec(dllimport) HGLRC __stdcall wglCreateLayerContext(HDC, int);
+__declspec(dllimport) BOOL __stdcall wglDeleteContext(HGLRC);
+__declspec(dllimport) HGLRC __stdcall wglGetCurrentContext(void);
+__declspec(dllimport) HDC __stdcall wglGetCurrentDC(void);
+__declspec(dllimport) PROC __stdcall wglGetProcAddress(LPCSTR);
+__declspec(dllimport) BOOL __stdcall wglMakeCurrent(HDC, HGLRC);
+__declspec(dllimport) BOOL __stdcall wglShareLists(HGLRC, HGLRC);
+__declspec(dllimport) BOOL __stdcall wglUseFontBitmapsA(HDC, DWORD, DWORD, DWORD);
+__declspec(dllimport) BOOL __stdcall wglUseFontBitmapsW(HDC, DWORD, DWORD, DWORD);
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall SwapBuffers(HDC);
+
+typedef struct _POINTFLOAT {
+ FLOAT x;
+ FLOAT y;
+} POINTFLOAT, *PPOINTFLOAT;
+
+typedef struct _GLYPHMETRICSFLOAT {
+ FLOAT gmfBlackBoxX;
+ FLOAT gmfBlackBoxY;
+ POINTFLOAT gmfptGlyphOrigin;
+ FLOAT gmfCellIncX;
+ FLOAT gmfCellIncY;
+} GLYPHMETRICSFLOAT, *PGLYPHMETRICSFLOAT, *LPGLYPHMETRICSFLOAT;
+
+
+
+__declspec(dllimport) BOOL __stdcall wglUseFontOutlinesA(HDC, DWORD, DWORD, DWORD, FLOAT,
+ FLOAT, int, LPGLYPHMETRICSFLOAT);
+__declspec(dllimport) BOOL __stdcall wglUseFontOutlinesW(HDC, DWORD, DWORD, DWORD, FLOAT,
+ FLOAT, int, LPGLYPHMETRICSFLOAT);
+
+
+
+
+
+
+
+typedef struct tagLAYERPLANEDESCRIPTOR {
+ WORD nSize;
+ WORD nVersion;
+ DWORD dwFlags;
+ BYTE iPixelType;
+ BYTE cColorBits;
+ BYTE cRedBits;
+ BYTE cRedShift;
+ BYTE cGreenBits;
+ BYTE cGreenShift;
+ BYTE cBlueBits;
+ BYTE cBlueShift;
+ BYTE cAlphaBits;
+ BYTE cAlphaShift;
+ BYTE cAccumBits;
+ BYTE cAccumRedBits;
+ BYTE cAccumGreenBits;
+ BYTE cAccumBlueBits;
+ BYTE cAccumAlphaBits;
+ BYTE cDepthBits;
+ BYTE cStencilBits;
+ BYTE cAuxBuffers;
+ BYTE iLayerPlane;
+ BYTE bReserved;
+ COLORREF crTransparent;
+} LAYERPLANEDESCRIPTOR, *PLAYERPLANEDESCRIPTOR, *LPLAYERPLANEDESCRIPTOR;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall wglDescribeLayerPlane(HDC, int, int, UINT,
+ LPLAYERPLANEDESCRIPTOR);
+__declspec(dllimport) int __stdcall wglSetLayerPaletteEntries(HDC, int, int, int,
+ const COLORREF *);
+__declspec(dllimport) int __stdcall wglGetLayerPaletteEntries(HDC, int, int, int,
+ COLORREF *);
+__declspec(dllimport) BOOL __stdcall wglRealizeLayerPalette(HDC, int, BOOL);
+__declspec(dllimport) BOOL __stdcall wglSwapLayerBuffers(HDC, UINT);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+
+
+
+
+
+
+
+
+
+
+typedef HANDLE HDWP;
+typedef void MENUTEMPLATEA;
+typedef void MENUTEMPLATEW;
+
+
+
+typedef MENUTEMPLATEA MENUTEMPLATE;
+
+typedef PVOID LPMENUTEMPLATEA;
+typedef PVOID LPMENUTEMPLATEW;
+
+
+
+typedef LPMENUTEMPLATEA LPMENUTEMPLATE;
+
+
+typedef LRESULT (__stdcall* WNDPROC)(HWND, UINT, WPARAM, LPARAM);
+
+
+
+typedef BOOL (__stdcall* DLGPROC)(HWND, UINT, WPARAM, LPARAM);
+typedef void (__stdcall* TIMERPROC)(HWND, UINT, UINT, DWORD);
+typedef BOOL (__stdcall* GRAYSTRINGPROC)(HDC, LPARAM, int);
+typedef BOOL (__stdcall* WNDENUMPROC)(HWND, LPARAM);
+typedef LRESULT (__stdcall* HOOKPROC)(int code, WPARAM wParam, LPARAM lParam);
+typedef void (__stdcall* SENDASYNCPROC)(HWND, UINT, DWORD, LRESULT);
+
+typedef BOOL (__stdcall* PROPENUMPROCA)(HWND, LPCSTR, HANDLE);
+typedef BOOL (__stdcall* PROPENUMPROCW)(HWND, LPCWSTR, HANDLE);
+
+typedef BOOL (__stdcall* PROPENUMPROCEXA)(HWND, LPSTR, HANDLE, DWORD);
+typedef BOOL (__stdcall* PROPENUMPROCEXW)(HWND, LPWSTR, HANDLE, DWORD);
+
+typedef int (__stdcall* EDITWORDBREAKPROCA)(LPSTR lpch, int ichCurrent, int cch, int code);
+typedef int (__stdcall* EDITWORDBREAKPROCW)(LPWSTR lpch, int ichCurrent, int cch, int code);
+
+
+typedef BOOL (__stdcall* DRAWSTATEPROC)(HDC hdc, LPARAM lData, WPARAM wData, int cx, int cy);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef PROPENUMPROCA PROPENUMPROC;
+typedef PROPENUMPROCEXA PROPENUMPROCEX;
+typedef EDITWORDBREAKPROCA EDITWORDBREAKPROC;
+
+
+
+
+typedef BOOL (__stdcall* NAMEENUMPROCA)(LPSTR, LPARAM);
+typedef BOOL (__stdcall* NAMEENUMPROCW)(LPWSTR, LPARAM);
+
+typedef NAMEENUMPROCA WINSTAENUMPROCA;
+typedef NAMEENUMPROCA DESKTOPENUMPROCA;
+typedef NAMEENUMPROCW WINSTAENUMPROCW;
+typedef NAMEENUMPROCW DESKTOPENUMPROCW;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef WINSTAENUMPROCA WINSTAENUMPROC;
+typedef DESKTOPENUMPROCA DESKTOPENUMPROC;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+wvsprintfA(
+ LPSTR,
+ LPCSTR,
+ va_list arglist);
+__declspec(dllimport)
+int
+__stdcall
+wvsprintfW(
+ LPWSTR,
+ LPCWSTR,
+ va_list arglist);
+
+
+
+
+
+
+__declspec(dllimport) int __cdecl wsprintfA(LPSTR, LPCSTR, ...);
+__declspec(dllimport) int __cdecl wsprintfW(LPWSTR, LPCWSTR, ...);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagCBT_CREATEWNDA
+{
+ struct tagCREATESTRUCTA *lpcs;
+ HWND hwndInsertAfter;
+} CBT_CREATEWNDA, *LPCBT_CREATEWNDA;
+
+
+
+typedef struct tagCBT_CREATEWNDW
+{
+ struct tagCREATESTRUCTW *lpcs;
+ HWND hwndInsertAfter;
+} CBT_CREATEWNDW, *LPCBT_CREATEWNDW;
+
+
+
+
+typedef CBT_CREATEWNDA CBT_CREATEWND;
+typedef LPCBT_CREATEWNDA LPCBT_CREATEWND;
+
+
+
+
+
+typedef struct tagCBTACTIVATESTRUCT
+{
+ BOOL fMouse;
+ HWND hWndActive;
+} CBTACTIVATESTRUCT, *LPCBTACTIVATESTRUCT;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagEVENTMSG {
+ UINT message;
+ UINT paramL;
+ UINT paramH;
+ DWORD time;
+ HWND hwnd;
+} EVENTMSG, *PEVENTMSGMSG, *NPEVENTMSGMSG, *LPEVENTMSGMSG;
+
+typedef struct tagEVENTMSG *PEVENTMSG, *NPEVENTMSG, *LPEVENTMSG;
+
+
+
+
+typedef struct tagCWPSTRUCT {
+ LPARAM lParam;
+ WPARAM wParam;
+ UINT message;
+ HWND hwnd;
+} CWPSTRUCT, *PCWPSTRUCT, *NPCWPSTRUCT, *LPCWPSTRUCT;
+
+
+
+
+
+typedef struct tagCWPRETSTRUCT {
+ LRESULT lResult;
+ LPARAM lParam;
+ WPARAM wParam;
+ UINT message;
+ HWND hwnd;
+} CWPRETSTRUCT, *PCWPRETSTRUCT, *NPCWPRETSTRUCT, *LPCWPRETSTRUCT;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagDEBUGHOOKINFO
+{
+ DWORD idThread;
+ DWORD idThreadInstaller;
+ LPARAM lParam;
+ WPARAM wParam;
+ int code;
+} DEBUGHOOKINFO, *PDEBUGHOOKINFO, *NPDEBUGHOOKINFO, * LPDEBUGHOOKINFO;
+
+
+
+
+typedef struct tagMOUSEHOOKSTRUCT {
+ POINT pt;
+ HWND hwnd;
+ UINT wHitTestCode;
+ DWORD dwExtraInfo;
+} MOUSEHOOKSTRUCT, *LPMOUSEHOOKSTRUCT, *PMOUSEHOOKSTRUCT;
+
+
+
+
+typedef struct tagHARDWAREHOOKSTRUCT {
+ HWND hwnd;
+ UINT message;
+ WPARAM wParam;
+ LPARAM lParam;
+} HARDWAREHOOKSTRUCT, *LPHARDWAREHOOKSTRUCT, *PHARDWAREHOOKSTRUCT;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+HKL
+__stdcall
+LoadKeyboardLayoutA(
+ LPCSTR pwszKLID,
+ UINT Flags);
+__declspec(dllimport)
+HKL
+__stdcall
+LoadKeyboardLayoutW(
+ LPCWSTR pwszKLID,
+ UINT Flags);
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+HKL
+__stdcall
+ActivateKeyboardLayout(
+ HKL hkl,
+ UINT Flags);
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+ToUnicodeEx(
+ UINT wVirtKey,
+ UINT wScanCode,
+ PBYTE lpKeyState,
+ LPWSTR pwszBuff,
+ int cchBuff,
+ UINT wFlags,
+ HKL dwhkl);
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+UnloadKeyboardLayout(
+ HKL hkl);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetKeyboardLayoutNameA(
+ LPSTR pwszKLID);
+__declspec(dllimport)
+BOOL
+__stdcall
+GetKeyboardLayoutNameW(
+ LPWSTR pwszKLID);
+
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+GetKeyboardLayoutList(
+ int nBuff,
+ HKL *lpList);
+
+__declspec(dllimport)
+HKL
+__stdcall
+GetKeyboardLayout(
+ DWORD dwLayout
+);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+HDESK
+__stdcall
+CreateDesktopA(
+ LPSTR lpszDesktop,
+ LPSTR lpszDevice,
+ LPDEVMODEA pDevmode,
+ DWORD dwFlags,
+ ACCESS_MASK dwDesiredAccess,
+ LPSECURITY_ATTRIBUTES lpsa);
+__declspec(dllimport)
+HDESK
+__stdcall
+CreateDesktopW(
+ LPWSTR lpszDesktop,
+ LPWSTR lpszDevice,
+ LPDEVMODEW pDevmode,
+ DWORD dwFlags,
+ ACCESS_MASK dwDesiredAccess,
+ LPSECURITY_ATTRIBUTES lpsa);
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+HDESK
+__stdcall
+OpenDesktopA(
+ LPSTR lpszDesktop,
+ DWORD dwFlags,
+ BOOL fInherit,
+ ACCESS_MASK dwDesiredAccess);
+__declspec(dllimport)
+HDESK
+__stdcall
+OpenDesktopW(
+ LPWSTR lpszDesktop,
+ DWORD dwFlags,
+ BOOL fInherit,
+ ACCESS_MASK dwDesiredAccess);
+
+
+
+
+
+
+__declspec(dllimport)
+HDESK
+__stdcall
+OpenInputDesktop(
+ DWORD dwFlags,
+ BOOL fInherit,
+ ACCESS_MASK dwDesiredAccess);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumDesktopsA(
+ HWINSTA hwinsta,
+ DESKTOPENUMPROCA lpEnumFunc,
+ LPARAM lParam);
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumDesktopsW(
+ HWINSTA hwinsta,
+ DESKTOPENUMPROCW lpEnumFunc,
+ LPARAM lParam);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumDesktopWindows(
+ HDESK hDesktop,
+ WNDENUMPROC lpfn,
+ LPARAM lParam);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SwitchDesktop(
+ HDESK hDesktop);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetThreadDesktop(
+ HDESK hDesktop);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CloseDesktop(
+ HDESK hDesktop);
+
+__declspec(dllimport)
+HDESK
+__stdcall
+GetThreadDesktop(
+ DWORD dwThreadId);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+HWINSTA
+__stdcall
+CreateWindowStationA(
+ LPSTR lpwinsta,
+ DWORD dwReserved,
+ ACCESS_MASK dwDesiredAccess,
+ LPSECURITY_ATTRIBUTES lpsa);
+__declspec(dllimport)
+HWINSTA
+__stdcall
+CreateWindowStationW(
+ LPWSTR lpwinsta,
+ DWORD dwReserved,
+ ACCESS_MASK dwDesiredAccess,
+ LPSECURITY_ATTRIBUTES lpsa);
+
+
+
+
+
+
+__declspec(dllimport)
+HWINSTA
+__stdcall
+OpenWindowStationA(
+ LPSTR lpszWinSta,
+ BOOL fInherit,
+ ACCESS_MASK dwDesiredAccess);
+__declspec(dllimport)
+HWINSTA
+__stdcall
+OpenWindowStationW(
+ LPWSTR lpszWinSta,
+ BOOL fInherit,
+ ACCESS_MASK dwDesiredAccess);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumWindowStationsA(
+ WINSTAENUMPROCA lpEnumFunc,
+ LPARAM lParam);
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumWindowStationsW(
+ WINSTAENUMPROCW lpEnumFunc,
+ LPARAM lParam);
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CloseWindowStation(
+ HWINSTA hWinSta);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetProcessWindowStation(
+ HWINSTA hWinSta);
+
+__declspec(dllimport)
+HWINSTA
+__stdcall
+GetProcessWindowStation(
+ void);
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetUserObjectSecurity(
+ HANDLE hObj,
+ PSECURITY_INFORMATION pSIRequested,
+ PSECURITY_DESCRIPTOR pSID);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetUserObjectSecurity(
+ HANDLE hObj,
+ PSECURITY_INFORMATION pSIRequested,
+ PSECURITY_DESCRIPTOR pSID,
+ DWORD nLength,
+ LPDWORD lpnLengthNeeded);
+
+
+
+
+
+
+typedef struct tagUSEROBJECTFLAGS {
+ BOOL fInherit;
+ BOOL fReserved;
+ DWORD dwFlags;
+} USEROBJECTFLAGS, *PUSEROBJECTFLAGS;
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetUserObjectInformationA(
+ HANDLE hObj,
+ int nIndex,
+ PVOID pvInfo,
+ DWORD nLength,
+ LPDWORD lpnLengthNeeded);
+__declspec(dllimport)
+BOOL
+__stdcall
+GetUserObjectInformationW(
+ HANDLE hObj,
+ int nIndex,
+ PVOID pvInfo,
+ DWORD nLength,
+ LPDWORD lpnLengthNeeded);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetUserObjectInformationA(
+ HANDLE hObj,
+ int nIndex,
+ PVOID pvInfo,
+ DWORD nLength);
+__declspec(dllimport)
+BOOL
+__stdcall
+SetUserObjectInformationW(
+ HANDLE hObj,
+ int nIndex,
+ PVOID pvInfo,
+ DWORD nLength);
+
+
+
+
+
+
+
+
+
+typedef struct tagWNDCLASSEXA {
+ UINT cbSize;
+
+ UINT style;
+ WNDPROC lpfnWndProc;
+ int cbClsExtra;
+ int cbWndExtra;
+ HINSTANCE hInstance;
+ HICON hIcon;
+ HCURSOR hCursor;
+ HBRUSH hbrBackground;
+ LPCSTR lpszMenuName;
+ LPCSTR lpszClassName;
+
+ HICON hIconSm;
+} WNDCLASSEXA, *PWNDCLASSEXA, *NPWNDCLASSEXA, *LPWNDCLASSEXA;
+typedef struct tagWNDCLASSEXW {
+ UINT cbSize;
+
+ UINT style;
+ WNDPROC lpfnWndProc;
+ int cbClsExtra;
+ int cbWndExtra;
+ HINSTANCE hInstance;
+ HICON hIcon;
+ HCURSOR hCursor;
+ HBRUSH hbrBackground;
+ LPCWSTR lpszMenuName;
+ LPCWSTR lpszClassName;
+
+ HICON hIconSm;
+} WNDCLASSEXW, *PWNDCLASSEXW, *NPWNDCLASSEXW, *LPWNDCLASSEXW;
+
+
+
+
+
+
+typedef WNDCLASSEXA WNDCLASSEX;
+typedef PWNDCLASSEXA PWNDCLASSEX;
+typedef NPWNDCLASSEXA NPWNDCLASSEX;
+typedef LPWNDCLASSEXA LPWNDCLASSEX;
+
+
+
+typedef struct tagWNDCLASSA {
+ UINT style;
+ WNDPROC lpfnWndProc;
+ int cbClsExtra;
+ int cbWndExtra;
+ HINSTANCE hInstance;
+ HICON hIcon;
+ HCURSOR hCursor;
+ HBRUSH hbrBackground;
+ LPCSTR lpszMenuName;
+ LPCSTR lpszClassName;
+} WNDCLASSA, *PWNDCLASSA, *NPWNDCLASSA, *LPWNDCLASSA;
+typedef struct tagWNDCLASSW {
+ UINT style;
+ WNDPROC lpfnWndProc;
+ int cbClsExtra;
+ int cbWndExtra;
+ HINSTANCE hInstance;
+ HICON hIcon;
+ HCURSOR hCursor;
+ HBRUSH hbrBackground;
+ LPCWSTR lpszMenuName;
+ LPCWSTR lpszClassName;
+} WNDCLASSW, *PWNDCLASSW, *NPWNDCLASSW, *LPWNDCLASSW;
+
+
+
+
+
+
+typedef WNDCLASSA WNDCLASS;
+typedef PWNDCLASSA PWNDCLASS;
+typedef NPWNDCLASSA NPWNDCLASS;
+typedef LPWNDCLASSA LPWNDCLASS;
+
+
+
+
+
+
+
+
+typedef struct tagMSG {
+ HWND hwnd;
+ UINT message;
+ WPARAM wParam;
+ LPARAM lParam;
+ DWORD time;
+ POINT pt;
+
+
+
+} MSG, *PMSG, *NPMSG, *LPMSG;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagMINMAXINFO {
+ POINT ptReserved;
+ POINT ptMaxSize;
+ POINT ptMaxPosition;
+ POINT ptMinTrackSize;
+ POINT ptMaxTrackSize;
+} MINMAXINFO, *PMINMAXINFO, *LPMINMAXINFO;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagCOPYDATASTRUCT {
+ DWORD dwData;
+ DWORD cbData;
+ PVOID lpData;
+} COPYDATASTRUCT, *PCOPYDATASTRUCT;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagMDINEXTMENU
+{
+ HMENU hmenuIn;
+ HMENU hmenuNext;
+ HWND hwndNext;
+} MDINEXTMENU, * PMDINEXTMENU, * LPMDINEXTMENU;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+UINT
+__stdcall
+RegisterWindowMessageA(
+ LPCSTR lpString);
+__declspec(dllimport)
+UINT
+__stdcall
+RegisterWindowMessageW(
+ LPCWSTR lpString);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagWINDOWPOS {
+ HWND hwnd;
+ HWND hwndInsertAfter;
+ int x;
+ int y;
+ int cx;
+ int cy;
+ UINT flags;
+} WINDOWPOS, *LPWINDOWPOS, *PWINDOWPOS;
+
+
+
+
+typedef struct tagNCCALCSIZE_PARAMS {
+ RECT rgrc[3];
+ PWINDOWPOS lppos;
+} NCCALCSIZE_PARAMS, *LPNCCALCSIZE_PARAMS;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DrawEdge(HDC hdc, LPRECT qrc, UINT edge, UINT grfFlags);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DrawFrameControl(HDC, LPRECT, UINT, UINT);
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DrawCaption(HWND, HDC, const RECT *, UINT);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DrawAnimatedRects(HWND hwnd, int idAni, const RECT * lprcFrom, const RECT * lprcTo);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagACCEL {
+
+ BYTE fVirt;
+ WORD key;
+ WORD cmd;
+
+
+
+
+
+} ACCEL, *LPACCEL;
+
+typedef struct tagPAINTSTRUCT {
+ HDC hdc;
+ BOOL fErase;
+ RECT rcPaint;
+ BOOL fRestore;
+ BOOL fIncUpdate;
+ BYTE rgbReserved[32];
+} PAINTSTRUCT, *PPAINTSTRUCT, *NPPAINTSTRUCT, *LPPAINTSTRUCT;
+
+typedef struct tagCREATESTRUCTA {
+ LPVOID lpCreateParams;
+ HINSTANCE hInstance;
+ HMENU hMenu;
+ HWND hwndParent;
+ int cy;
+ int cx;
+ int y;
+ int x;
+ LONG style;
+ LPCSTR lpszName;
+ LPCSTR lpszClass;
+ DWORD dwExStyle;
+} CREATESTRUCTA, *LPCREATESTRUCTA;
+typedef struct tagCREATESTRUCTW {
+ LPVOID lpCreateParams;
+ HINSTANCE hInstance;
+ HMENU hMenu;
+ HWND hwndParent;
+ int cy;
+ int cx;
+ int y;
+ int x;
+ LONG style;
+ LPCWSTR lpszName;
+ LPCWSTR lpszClass;
+ DWORD dwExStyle;
+} CREATESTRUCTW, *LPCREATESTRUCTW;
+
+
+
+
+typedef CREATESTRUCTA CREATESTRUCT;
+typedef LPCREATESTRUCTA LPCREATESTRUCT;
+
+
+typedef struct tagWINDOWPLACEMENT {
+ UINT length;
+ UINT flags;
+ UINT showCmd;
+ POINT ptMinPosition;
+ POINT ptMaxPosition;
+ RECT rcNormalPosition;
+
+
+
+} WINDOWPLACEMENT;
+typedef WINDOWPLACEMENT *PWINDOWPLACEMENT, *LPWINDOWPLACEMENT;
+
+
+
+
+typedef struct tagNMHDR
+{
+ HWND hwndFrom;
+ UINT idFrom;
+ UINT code;
+} NMHDR;
+typedef NMHDR * LPNMHDR;
+
+typedef struct tagSTYLESTRUCT
+{
+ DWORD styleOld;
+ DWORD styleNew;
+} STYLESTRUCT, * LPSTYLESTRUCT;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagMEASUREITEMSTRUCT {
+ UINT CtlType;
+ UINT CtlID;
+ UINT itemID;
+ UINT itemWidth;
+ UINT itemHeight;
+ DWORD itemData;
+} MEASUREITEMSTRUCT, *PMEASUREITEMSTRUCT, *LPMEASUREITEMSTRUCT;
+
+
+
+
+
+typedef struct tagDRAWITEMSTRUCT {
+ UINT CtlType;
+ UINT CtlID;
+ UINT itemID;
+ UINT itemAction;
+ UINT itemState;
+ HWND hwndItem;
+ HDC hDC;
+ RECT rcItem;
+ DWORD itemData;
+} DRAWITEMSTRUCT, *PDRAWITEMSTRUCT, *LPDRAWITEMSTRUCT;
+
+
+
+
+typedef struct tagDELETEITEMSTRUCT {
+ UINT CtlType;
+ UINT CtlID;
+ UINT itemID;
+ HWND hwndItem;
+ UINT itemData;
+} DELETEITEMSTRUCT, *PDELETEITEMSTRUCT, *LPDELETEITEMSTRUCT;
+
+
+
+
+typedef struct tagCOMPAREITEMSTRUCT {
+ UINT CtlType;
+ UINT CtlID;
+ HWND hwndItem;
+ UINT itemID1;
+ DWORD itemData1;
+ UINT itemID2;
+ DWORD itemData2;
+ DWORD dwLocaleId;
+} COMPAREITEMSTRUCT, *PCOMPAREITEMSTRUCT, *LPCOMPAREITEMSTRUCT;
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetMessageA(
+ LPMSG lpMsg,
+ HWND hWnd ,
+ UINT wMsgFilterMin,
+ UINT wMsgFilterMax);
+__declspec(dllimport)
+BOOL
+__stdcall
+GetMessageW(
+ LPMSG lpMsg,
+ HWND hWnd ,
+ UINT wMsgFilterMin,
+ UINT wMsgFilterMax);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+TranslateMessage(
+ const MSG *lpMsg);
+
+__declspec(dllimport)
+LONG
+__stdcall
+DispatchMessageA(
+ const MSG *lpMsg);
+__declspec(dllimport)
+LONG
+__stdcall
+DispatchMessageW(
+ const MSG *lpMsg);
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetMessageQueue(
+ int cMessagesMax);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+PeekMessageA(
+ LPMSG lpMsg,
+ HWND hWnd ,
+ UINT wMsgFilterMin,
+ UINT wMsgFilterMax,
+ UINT wRemoveMsg);
+__declspec(dllimport)
+BOOL
+__stdcall
+PeekMessageW(
+ LPMSG lpMsg,
+ HWND hWnd ,
+ UINT wMsgFilterMin,
+ UINT wMsgFilterMax,
+ UINT wRemoveMsg);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+RegisterHotKey(
+ HWND hWnd ,
+ int id,
+ UINT fsModifiers,
+ UINT vk);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+UnregisterHotKey(
+ HWND hWnd,
+ int id);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ExitWindowsEx(
+ UINT uFlags,
+ DWORD dwReserved);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SwapMouseButton(
+ BOOL fSwap);
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetMessagePos(
+ void);
+
+__declspec(dllimport)
+LONG
+__stdcall
+GetMessageTime(
+ void);
+
+__declspec(dllimport)
+LONG
+__stdcall
+GetMessageExtraInfo(
+ void);
+
+
+__declspec(dllimport)
+LPARAM
+__stdcall
+SetMessageExtraInfo(
+ LPARAM lParam);
+
+
+__declspec(dllimport)
+LRESULT
+__stdcall
+SendMessageA(
+ HWND hWnd,
+ UINT Msg,
+ WPARAM wParam,
+ LPARAM lParam);
+__declspec(dllimport)
+LRESULT
+__stdcall
+SendMessageW(
+ HWND hWnd,
+ UINT Msg,
+ WPARAM wParam,
+ LPARAM lParam);
+
+
+
+
+
+
+__declspec(dllimport)
+LRESULT
+__stdcall
+SendMessageTimeoutA(
+ HWND hWnd,
+ UINT Msg,
+ WPARAM wParam,
+ LPARAM lParam,
+ UINT fuFlags,
+ UINT uTimeout,
+ LPDWORD lpdwResult);
+__declspec(dllimport)
+LRESULT
+__stdcall
+SendMessageTimeoutW(
+ HWND hWnd,
+ UINT Msg,
+ WPARAM wParam,
+ LPARAM lParam,
+ UINT fuFlags,
+ UINT uTimeout,
+ LPDWORD lpdwResult);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SendNotifyMessageA(
+ HWND hWnd,
+ UINT Msg,
+ WPARAM wParam,
+ LPARAM lParam);
+__declspec(dllimport)
+BOOL
+__stdcall
+SendNotifyMessageW(
+ HWND hWnd,
+ UINT Msg,
+ WPARAM wParam,
+ LPARAM lParam);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SendMessageCallbackA(
+ HWND hWnd,
+ UINT Msg,
+ WPARAM wParam,
+ LPARAM lParam,
+ SENDASYNCPROC lpResultCallBack,
+ DWORD dwData);
+__declspec(dllimport)
+BOOL
+__stdcall
+SendMessageCallbackW(
+ HWND hWnd,
+ UINT Msg,
+ WPARAM wParam,
+ LPARAM lParam,
+ SENDASYNCPROC lpResultCallBack,
+ DWORD dwData);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+PostMessageA(
+ HWND hWnd,
+ UINT Msg,
+ WPARAM wParam,
+ LPARAM lParam);
+__declspec(dllimport)
+BOOL
+__stdcall
+PostMessageW(
+ HWND hWnd,
+ UINT Msg,
+ WPARAM wParam,
+ LPARAM lParam);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+PostThreadMessageA(
+ DWORD idThread,
+ UINT Msg,
+ WPARAM wParam,
+ LPARAM lParam);
+__declspec(dllimport)
+BOOL
+__stdcall
+PostThreadMessageW(
+ DWORD idThread,
+ UINT Msg,
+ WPARAM wParam,
+ LPARAM lParam);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+AttachThreadInput(
+ DWORD idAttach,
+ DWORD idAttachTo,
+ BOOL fAttach);
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ReplyMessage(
+ LRESULT lResult);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+WaitMessage(
+ void);
+
+__declspec(dllimport)
+DWORD
+__stdcall
+WaitForInputIdle(
+ HANDLE hProcess,
+ DWORD dwMilliseconds);
+
+__declspec(dllimport)
+
+LRESULT
+__stdcall
+
+
+
+
+DefWindowProcA(
+ HWND hWnd,
+ UINT Msg,
+ WPARAM wParam,
+ LPARAM lParam);
+__declspec(dllimport)
+
+LRESULT
+__stdcall
+
+
+
+
+DefWindowProcW(
+ HWND hWnd,
+ UINT Msg,
+ WPARAM wParam,
+ LPARAM lParam);
+
+
+
+
+
+
+__declspec(dllimport)
+void
+__stdcall
+PostQuitMessage(
+ int nExitCode);
+
+
+
+__declspec(dllimport)
+LRESULT
+__stdcall
+CallWindowProcA(
+ WNDPROC lpPrevWndFunc,
+ HWND hWnd,
+ UINT Msg,
+ WPARAM wParam,
+ LPARAM lParam);
+__declspec(dllimport)
+LRESULT
+__stdcall
+CallWindowProcW(
+ WNDPROC lpPrevWndFunc,
+ HWND hWnd,
+ UINT Msg,
+ WPARAM wParam,
+ LPARAM lParam);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+InSendMessage(
+ void);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+UINT
+__stdcall
+GetDoubleClickTime(
+ void);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetDoubleClickTime(
+ UINT);
+
+__declspec(dllimport)
+ATOM
+__stdcall
+RegisterClassA(
+ const WNDCLASSA *lpWndClass);
+__declspec(dllimport)
+ATOM
+__stdcall
+RegisterClassW(
+ const WNDCLASSW *lpWndClass);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+UnregisterClassA(
+ LPCSTR lpClassName,
+ HINSTANCE hInstance);
+__declspec(dllimport)
+BOOL
+__stdcall
+UnregisterClassW(
+ LPCWSTR lpClassName,
+ HINSTANCE hInstance);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetClassInfoA(
+ HINSTANCE hInstance ,
+ LPCSTR lpClassName,
+ LPWNDCLASSA lpWndClass);
+__declspec(dllimport)
+BOOL
+__stdcall
+GetClassInfoW(
+ HINSTANCE hInstance ,
+ LPCWSTR lpClassName,
+ LPWNDCLASSW lpWndClass);
+
+
+
+
+
+
+
+__declspec(dllimport)
+ATOM
+__stdcall
+RegisterClassExA(const WNDCLASSEXA *);
+__declspec(dllimport)
+ATOM
+__stdcall
+RegisterClassExW(const WNDCLASSEXW *);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetClassInfoExA(HINSTANCE, LPCSTR, LPWNDCLASSEXA);
+__declspec(dllimport)
+BOOL
+__stdcall
+GetClassInfoExW(HINSTANCE, LPCWSTR, LPWNDCLASSEXW);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+HWND
+__stdcall
+CreateWindowExA(
+ DWORD dwExStyle,
+ LPCSTR lpClassName,
+ LPCSTR lpWindowName,
+ DWORD dwStyle,
+ int X,
+ int Y,
+ int nWidth,
+ int nHeight,
+ HWND hWndParent ,
+ HMENU hMenu,
+ HINSTANCE hInstance,
+ LPVOID lpParam);
+__declspec(dllimport)
+HWND
+__stdcall
+CreateWindowExW(
+ DWORD dwExStyle,
+ LPCWSTR lpClassName,
+ LPCWSTR lpWindowName,
+ DWORD dwStyle,
+ int X,
+ int Y,
+ int nWidth,
+ int nHeight,
+ HWND hWndParent ,
+ HMENU hMenu,
+ HINSTANCE hInstance,
+ LPVOID lpParam);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsWindow(
+ HWND hWnd);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsMenu(
+ HMENU hMenu);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsChild(
+ HWND hWndParent,
+ HWND hWnd);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DestroyWindow(
+ HWND hWnd);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ShowWindow(
+ HWND hWnd,
+ int nCmdShow);
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ShowWindowAsync(
+ HWND hWnd,
+ int nCmdShow);
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+FlashWindow(
+ HWND hWnd,
+
+
+
+ BOOL bInvert);
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ShowOwnedPopups(
+ HWND hWnd,
+ BOOL fShow);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+OpenIcon(
+ HWND hWnd);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CloseWindow(
+ HWND hWnd);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+MoveWindow(
+ HWND hWnd,
+ int X,
+ int Y,
+ int nWidth,
+ int nHeight,
+ BOOL bRepaint);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetWindowPos(
+ HWND hWnd,
+ HWND hWndInsertAfter ,
+ int X,
+ int Y,
+ int cx,
+ int cy,
+ UINT uFlags);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetWindowPlacement(
+ HWND hWnd,
+ WINDOWPLACEMENT *lpwndpl);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetWindowPlacement(
+ HWND hWnd,
+ const WINDOWPLACEMENT *lpwndpl);
+
+
+
+
+__declspec(dllimport)
+HDWP
+__stdcall
+BeginDeferWindowPos(
+ int nNumWindows);
+
+__declspec(dllimport)
+HDWP
+__stdcall
+DeferWindowPos(
+ HDWP hWinPosInfo,
+ HWND hWnd,
+ HWND hWndInsertAfter ,
+ int x,
+ int y,
+ int cx,
+ int cy,
+ UINT uFlags);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EndDeferWindowPos(
+ HDWP hWinPosInfo);
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsWindowVisible(
+ HWND hWnd);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsIconic(
+ HWND hWnd);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+AnyPopup(
+ void);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+BringWindowToTop(
+ HWND hWnd);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsZoomed(
+ HWND hWnd);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma warning(disable:4103)
+
+#pragma pack(push)
+
+#pragma pack(2)
+
+
+
+
+
+
+
+
+
+typedef struct {
+ DWORD style;
+ DWORD dwExtendedStyle;
+ WORD cdit;
+ short x;
+ short y;
+ short cx;
+ short cy;
+} DLGTEMPLATE;
+typedef DLGTEMPLATE *LPDLGTEMPLATEA;
+typedef DLGTEMPLATE *LPDLGTEMPLATEW;
+
+
+
+typedef LPDLGTEMPLATEA LPDLGTEMPLATE;
+
+typedef const DLGTEMPLATE *LPCDLGTEMPLATEA;
+typedef const DLGTEMPLATE *LPCDLGTEMPLATEW;
+
+
+
+typedef LPCDLGTEMPLATEA LPCDLGTEMPLATE;
+
+
+
+
+
+typedef struct {
+ DWORD style;
+ DWORD dwExtendedStyle;
+ short x;
+ short y;
+ short cx;
+ short cy;
+ WORD id;
+} DLGITEMTEMPLATE;
+typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEA;
+typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEW;
+
+
+
+typedef PDLGITEMTEMPLATEA PDLGITEMTEMPLATE;
+
+typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEA;
+typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEW;
+
+
+
+typedef LPDLGITEMTEMPLATEA LPDLGITEMTEMPLATE;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma warning(disable:4103)
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+HWND
+__stdcall
+CreateDialogParamA(
+ HINSTANCE hInstance,
+ LPCSTR lpTemplateName,
+ HWND hWndParent ,
+ DLGPROC lpDialogFunc,
+ LPARAM dwInitParam);
+__declspec(dllimport)
+HWND
+__stdcall
+CreateDialogParamW(
+ HINSTANCE hInstance,
+ LPCWSTR lpTemplateName,
+ HWND hWndParent ,
+ DLGPROC lpDialogFunc,
+ LPARAM dwInitParam);
+
+
+
+
+
+
+__declspec(dllimport)
+HWND
+__stdcall
+CreateDialogIndirectParamA(
+ HINSTANCE hInstance,
+ LPCDLGTEMPLATEA lpTemplate,
+ HWND hWndParent,
+ DLGPROC lpDialogFunc,
+ LPARAM dwInitParam);
+__declspec(dllimport)
+HWND
+__stdcall
+CreateDialogIndirectParamW(
+ HINSTANCE hInstance,
+ LPCDLGTEMPLATEW lpTemplate,
+ HWND hWndParent,
+ DLGPROC lpDialogFunc,
+ LPARAM dwInitParam);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+DialogBoxParamA(
+ HINSTANCE hInstance,
+ LPCSTR lpTemplateName,
+ HWND hWndParent ,
+ DLGPROC lpDialogFunc,
+ LPARAM dwInitParam);
+__declspec(dllimport)
+int
+__stdcall
+DialogBoxParamW(
+ HINSTANCE hInstance,
+ LPCWSTR lpTemplateName,
+ HWND hWndParent ,
+ DLGPROC lpDialogFunc,
+ LPARAM dwInitParam);
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+DialogBoxIndirectParamA(
+ HINSTANCE hInstance,
+ LPCDLGTEMPLATEA hDialogTemplate,
+ HWND hWndParent ,
+ DLGPROC lpDialogFunc,
+ LPARAM dwInitParam);
+__declspec(dllimport)
+int
+__stdcall
+DialogBoxIndirectParamW(
+ HINSTANCE hInstance,
+ LPCDLGTEMPLATEW hDialogTemplate,
+ HWND hWndParent ,
+ DLGPROC lpDialogFunc,
+ LPARAM dwInitParam);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EndDialog(
+ HWND hDlg,
+ int nResult);
+
+__declspec(dllimport)
+HWND
+__stdcall
+GetDlgItem(
+ HWND hDlg,
+ int nIDDlgItem);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetDlgItemInt(
+ HWND hDlg,
+ int nIDDlgItem,
+ UINT uValue,
+ BOOL bSigned);
+
+__declspec(dllimport)
+UINT
+__stdcall
+GetDlgItemInt(
+ HWND hDlg,
+ int nIDDlgItem,
+ BOOL *lpTranslated,
+ BOOL bSigned);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetDlgItemTextA(
+ HWND hDlg,
+ int nIDDlgItem,
+ LPCSTR lpString);
+__declspec(dllimport)
+BOOL
+__stdcall
+SetDlgItemTextW(
+ HWND hDlg,
+ int nIDDlgItem,
+ LPCWSTR lpString);
+
+
+
+
+
+
+__declspec(dllimport)
+UINT
+__stdcall
+GetDlgItemTextA(
+ HWND hDlg,
+ int nIDDlgItem,
+ LPSTR lpString,
+ int nMaxCount);
+__declspec(dllimport)
+UINT
+__stdcall
+GetDlgItemTextW(
+ HWND hDlg,
+ int nIDDlgItem,
+ LPWSTR lpString,
+ int nMaxCount);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CheckDlgButton(
+ HWND hDlg,
+ int nIDButton,
+ UINT uCheck);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CheckRadioButton(
+ HWND hDlg,
+ int nIDFirstButton,
+ int nIDLastButton,
+ int nIDCheckButton);
+
+__declspec(dllimport)
+UINT
+__stdcall
+IsDlgButtonChecked(
+ HWND hDlg,
+ int nIDButton);
+
+__declspec(dllimport)
+LONG
+__stdcall
+SendDlgItemMessageA(
+ HWND hDlg,
+ int nIDDlgItem,
+ UINT Msg,
+ WPARAM wParam,
+ LPARAM lParam);
+__declspec(dllimport)
+LONG
+__stdcall
+SendDlgItemMessageW(
+ HWND hDlg,
+ int nIDDlgItem,
+ UINT Msg,
+ WPARAM wParam,
+ LPARAM lParam);
+
+
+
+
+
+
+__declspec(dllimport)
+HWND
+__stdcall
+GetNextDlgGroupItem(
+ HWND hDlg,
+ HWND hCtl,
+ BOOL bPrevious);
+
+__declspec(dllimport)
+HWND
+__stdcall
+GetNextDlgTabItem(
+ HWND hDlg,
+ HWND hCtl,
+ BOOL bPrevious);
+
+__declspec(dllimport)
+int
+__stdcall
+GetDlgCtrlID(
+ HWND hWnd);
+
+__declspec(dllimport)
+long
+__stdcall
+GetDialogBaseUnits(void);
+
+__declspec(dllimport)
+
+LRESULT
+__stdcall
+
+
+
+
+DefDlgProcA(
+ HWND hDlg,
+ UINT Msg,
+ WPARAM wParam,
+ LPARAM lParam);
+__declspec(dllimport)
+
+LRESULT
+__stdcall
+
+
+
+
+DefDlgProcW(
+ HWND hDlg,
+ UINT Msg,
+ WPARAM wParam,
+ LPARAM lParam);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CallMsgFilterA(
+ LPMSG lpMsg,
+ int nCode);
+__declspec(dllimport)
+BOOL
+__stdcall
+CallMsgFilterW(
+ LPMSG lpMsg,
+ int nCode);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+OpenClipboard(
+ HWND hWndNewOwner);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CloseClipboard(
+ void);
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+HWND
+__stdcall
+GetClipboardOwner(
+ void);
+
+__declspec(dllimport)
+HWND
+__stdcall
+SetClipboardViewer(
+ HWND hWndNewViewer);
+
+__declspec(dllimport)
+HWND
+__stdcall
+GetClipboardViewer(
+ void);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ChangeClipboardChain(
+ HWND hWndRemove,
+ HWND hWndNewNext);
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+SetClipboardData(
+ UINT uFormat,
+ HANDLE hMem);
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+ GetClipboardData(
+ UINT uFormat);
+
+__declspec(dllimport)
+UINT
+__stdcall
+RegisterClipboardFormatA(
+ LPCSTR lpszFormat);
+__declspec(dllimport)
+UINT
+__stdcall
+RegisterClipboardFormatW(
+ LPCWSTR lpszFormat);
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+CountClipboardFormats(
+ void);
+
+__declspec(dllimport)
+UINT
+__stdcall
+EnumClipboardFormats(
+ UINT format);
+
+__declspec(dllimport)
+int
+__stdcall
+GetClipboardFormatNameA(
+ UINT format,
+ LPSTR lpszFormatName,
+ int cchMaxCount);
+__declspec(dllimport)
+int
+__stdcall
+GetClipboardFormatNameW(
+ UINT format,
+ LPWSTR lpszFormatName,
+ int cchMaxCount);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EmptyClipboard(
+ void);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsClipboardFormatAvailable(
+ UINT format);
+
+__declspec(dllimport)
+int
+__stdcall
+GetPriorityClipboardFormat(
+ UINT *paFormatPriorityList,
+ int cFormats);
+
+__declspec(dllimport)
+HWND
+__stdcall
+GetOpenClipboardWindow(
+ void);
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CharToOemA(
+ LPCSTR lpszSrc,
+ LPSTR lpszDst);
+__declspec(dllimport)
+BOOL
+__stdcall
+CharToOemW(
+ LPCWSTR lpszSrc,
+ LPSTR lpszDst);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+OemToCharA(
+ LPCSTR lpszSrc,
+ LPSTR lpszDst);
+__declspec(dllimport)
+BOOL
+__stdcall
+OemToCharW(
+ LPCSTR lpszSrc,
+ LPWSTR lpszDst);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CharToOemBuffA(
+ LPCSTR lpszSrc,
+ LPSTR lpszDst,
+ DWORD cchDstLength);
+__declspec(dllimport)
+BOOL
+__stdcall
+CharToOemBuffW(
+ LPCWSTR lpszSrc,
+ LPSTR lpszDst,
+ DWORD cchDstLength);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+OemToCharBuffA(
+ LPCSTR lpszSrc,
+ LPSTR lpszDst,
+ DWORD cchDstLength);
+__declspec(dllimport)
+BOOL
+__stdcall
+OemToCharBuffW(
+ LPCSTR lpszSrc,
+ LPWSTR lpszDst,
+ DWORD cchDstLength);
+
+
+
+
+
+
+__declspec(dllimport)
+LPSTR
+__stdcall
+CharUpperA(
+ LPSTR lpsz);
+__declspec(dllimport)
+LPWSTR
+__stdcall
+CharUpperW(
+ LPWSTR lpsz);
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+CharUpperBuffA(
+ LPSTR lpsz,
+ DWORD cchLength);
+__declspec(dllimport)
+DWORD
+__stdcall
+CharUpperBuffW(
+ LPWSTR lpsz,
+ DWORD cchLength);
+
+
+
+
+
+
+__declspec(dllimport)
+LPSTR
+__stdcall
+CharLowerA(
+ LPSTR lpsz);
+__declspec(dllimport)
+LPWSTR
+__stdcall
+CharLowerW(
+ LPWSTR lpsz);
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+CharLowerBuffA(
+ LPSTR lpsz,
+ DWORD cchLength);
+__declspec(dllimport)
+DWORD
+__stdcall
+CharLowerBuffW(
+ LPWSTR lpsz,
+ DWORD cchLength);
+
+
+
+
+
+
+__declspec(dllimport)
+LPSTR
+__stdcall
+CharNextA(
+ LPCSTR lpsz);
+__declspec(dllimport)
+LPWSTR
+__stdcall
+CharNextW(
+ LPCWSTR lpsz);
+
+
+
+
+
+
+__declspec(dllimport)
+LPSTR
+__stdcall
+CharPrevA(
+ LPCSTR lpszStart,
+ LPCSTR lpszCurrent);
+__declspec(dllimport)
+LPWSTR
+__stdcall
+CharPrevW(
+ LPCWSTR lpszStart,
+ LPCWSTR lpszCurrent);
+
+
+
+
+
+
+
+__declspec(dllimport)
+LPSTR
+__stdcall
+CharNextExA(
+ WORD CodePage,
+ LPCSTR lpCurrentChar,
+ DWORD dwFlags);
+
+__declspec(dllimport)
+LPSTR
+__stdcall
+CharPrevExA(
+ WORD CodePage,
+ LPCSTR lpStart,
+ LPCSTR lpCurrentChar,
+ DWORD dwFlags);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsCharAlphaA(
+ CHAR ch);
+__declspec(dllimport)
+BOOL
+__stdcall
+IsCharAlphaW(
+ WCHAR ch);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsCharAlphaNumericA(
+ CHAR ch);
+__declspec(dllimport)
+BOOL
+__stdcall
+IsCharAlphaNumericW(
+ WCHAR ch);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsCharUpperA(
+ CHAR ch);
+__declspec(dllimport)
+BOOL
+__stdcall
+IsCharUpperW(
+ WCHAR ch);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsCharLowerA(
+ CHAR ch);
+__declspec(dllimport)
+BOOL
+__stdcall
+IsCharLowerW(
+ WCHAR ch);
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+HWND
+__stdcall
+SetFocus(
+ HWND hWnd);
+
+__declspec(dllimport)
+HWND
+__stdcall
+GetActiveWindow(
+ void);
+
+__declspec(dllimport)
+HWND
+__stdcall
+GetFocus(
+ void);
+
+__declspec(dllimport)
+UINT
+__stdcall
+GetKBCodePage(
+ void);
+
+__declspec(dllimport)
+SHORT
+__stdcall
+GetKeyState(
+ int nVirtKey);
+
+__declspec(dllimport)
+SHORT
+__stdcall
+GetAsyncKeyState(
+ int vKey);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetKeyboardState(
+ PBYTE lpKeyState);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetKeyboardState(
+ LPBYTE lpKeyState);
+
+__declspec(dllimport)
+int
+__stdcall
+GetKeyNameTextA(
+ LONG lParam,
+ LPSTR lpString,
+ int nSize
+ );
+__declspec(dllimport)
+int
+__stdcall
+GetKeyNameTextW(
+ LONG lParam,
+ LPWSTR lpString,
+ int nSize
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+GetKeyboardType(
+ int nTypeFlag);
+
+__declspec(dllimport)
+int
+__stdcall
+ToAscii(
+ UINT uVirtKey,
+ UINT uScanCode,
+ PBYTE lpKeyState,
+ LPWORD lpChar,
+ UINT uFlags);
+
+
+__declspec(dllimport)
+int
+__stdcall
+ToAsciiEx(
+ UINT uVirtKey,
+ UINT uScanCode,
+ PBYTE lpKeyState,
+ LPWORD lpChar,
+ UINT uFlags,
+ HKL dwhkl);
+
+
+__declspec(dllimport)
+int
+__stdcall
+ToUnicode(
+ UINT wVirtKey,
+ UINT wScanCode,
+ PBYTE lpKeyState,
+ LPWSTR pwszBuff,
+ int cchBuff,
+ UINT wFlags);
+
+__declspec(dllimport)
+DWORD
+__stdcall
+OemKeyScan(
+ WORD wOemChar);
+
+__declspec(dllimport)
+SHORT
+__stdcall
+VkKeyScanA(
+ CHAR ch);
+__declspec(dllimport)
+SHORT
+__stdcall
+VkKeyScanW(
+ WCHAR ch);
+
+
+
+
+
+
+
+__declspec(dllimport)
+SHORT
+__stdcall VkKeyScanExA(
+ CHAR ch,
+ HKL dwhkl);
+__declspec(dllimport)
+SHORT
+__stdcall VkKeyScanExW(
+ WCHAR ch,
+ HKL dwhkl);
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+void
+__stdcall
+keybd_event(
+ BYTE bVk,
+ BYTE bScan,
+ DWORD dwFlags,
+ DWORD dwExtraInfo);
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+void
+__stdcall
+mouse_event(
+ DWORD dwFlags,
+ DWORD dx,
+ DWORD dy,
+ DWORD dwData,
+ DWORD dwExtraInfo);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+UINT
+__stdcall
+MapVirtualKeyA(
+ UINT uCode,
+ UINT uMapType);
+__declspec(dllimport)
+UINT
+__stdcall
+MapVirtualKeyW(
+ UINT uCode,
+ UINT uMapType);
+
+
+
+
+
+
+
+__declspec(dllimport)
+UINT
+__stdcall
+MapVirtualKeyExA(
+ UINT uCode,
+ UINT uMapType,
+ HKL dwhkl);
+__declspec(dllimport)
+UINT
+__stdcall
+MapVirtualKeyExW(
+ UINT uCode,
+ UINT uMapType,
+ HKL dwhkl);
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetInputState(
+ void);
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetQueueStatus(
+ UINT flags);
+
+__declspec(dllimport)
+HWND
+__stdcall
+GetCapture(
+ void);
+
+__declspec(dllimport)
+HWND
+__stdcall
+SetCapture(
+ HWND hWnd);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ReleaseCapture(
+ void);
+
+__declspec(dllimport)
+DWORD
+__stdcall
+MsgWaitForMultipleObjects(
+ DWORD nCount,
+ LPHANDLE pHandles,
+ BOOL fWaitAll,
+ DWORD dwMilliseconds,
+ DWORD dwWakeMask);
+
+__declspec(dllimport)
+DWORD
+__stdcall
+MsgWaitForMultipleObjectsEx(
+ DWORD nCount,
+ LPHANDLE pHandles,
+ DWORD dwMilliseconds,
+ DWORD dwWakeMask,
+ DWORD dwFlags);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+UINT
+__stdcall
+SetTimer(
+ HWND hWnd ,
+ UINT nIDEvent,
+ UINT uElapse,
+ TIMERPROC lpTimerFunc);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+KillTimer(
+ HWND hWnd,
+ UINT uIDEvent);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsWindowUnicode(
+ HWND hWnd);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EnableWindow(
+ HWND hWnd,
+ BOOL bEnable);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsWindowEnabled(
+ HWND hWnd);
+
+__declspec(dllimport)
+HACCEL
+__stdcall
+LoadAcceleratorsA(
+ HINSTANCE hInstance,
+ LPCSTR lpTableName);
+__declspec(dllimport)
+HACCEL
+__stdcall
+LoadAcceleratorsW(
+ HINSTANCE hInstance,
+ LPCWSTR lpTableName);
+
+
+
+
+
+
+__declspec(dllimport)
+HACCEL
+__stdcall
+CreateAcceleratorTableA(
+ LPACCEL, int);
+__declspec(dllimport)
+HACCEL
+__stdcall
+CreateAcceleratorTableW(
+ LPACCEL, int);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DestroyAcceleratorTable(
+ HACCEL hAccel);
+
+__declspec(dllimport)
+int
+__stdcall
+CopyAcceleratorTableA(
+ HACCEL hAccelSrc,
+ LPACCEL lpAccelDst,
+ int cAccelEntries);
+__declspec(dllimport)
+int
+__stdcall
+CopyAcceleratorTableW(
+ HACCEL hAccelSrc,
+ LPACCEL lpAccelDst,
+ int cAccelEntries);
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+TranslateAcceleratorA(
+ HWND hWnd,
+ HACCEL hAccTable,
+ LPMSG lpMsg);
+__declspec(dllimport)
+int
+__stdcall
+TranslateAcceleratorW(
+ HWND hWnd,
+ HACCEL hAccTable,
+ LPMSG lpMsg);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+GetSystemMetrics(
+ int nIndex);
+
+
+
+
+
+__declspec(dllimport)
+HMENU
+__stdcall
+LoadMenuA(
+ HINSTANCE hInstance,
+ LPCSTR lpMenuName);
+__declspec(dllimport)
+HMENU
+__stdcall
+LoadMenuW(
+ HINSTANCE hInstance,
+ LPCWSTR lpMenuName);
+
+
+
+
+
+
+__declspec(dllimport)
+HMENU
+__stdcall
+LoadMenuIndirectA(
+ const MENUTEMPLATEA *lpMenuTemplate);
+__declspec(dllimport)
+HMENU
+__stdcall
+LoadMenuIndirectW(
+ const MENUTEMPLATEW *lpMenuTemplate);
+
+
+
+
+
+
+__declspec(dllimport)
+HMENU
+__stdcall
+GetMenu(
+ HWND hWnd);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetMenu(
+ HWND hWnd,
+ HMENU hMenu);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ChangeMenuA(
+ HMENU hMenu,
+ UINT cmd,
+ LPCSTR lpszNewItem,
+ UINT cmdInsert,
+ UINT flags);
+__declspec(dllimport)
+BOOL
+__stdcall
+ChangeMenuW(
+ HMENU hMenu,
+ UINT cmd,
+ LPCWSTR lpszNewItem,
+ UINT cmdInsert,
+ UINT flags);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+HiliteMenuItem(
+ HWND hWnd,
+ HMENU hMenu,
+ UINT uIDHiliteItem,
+ UINT uHilite);
+
+__declspec(dllimport)
+int
+__stdcall
+GetMenuStringA(
+ HMENU hMenu,
+ UINT uIDItem,
+ LPSTR lpString,
+ int nMaxCount,
+ UINT uFlag);
+__declspec(dllimport)
+int
+__stdcall
+GetMenuStringW(
+ HMENU hMenu,
+ UINT uIDItem,
+ LPWSTR lpString,
+ int nMaxCount,
+ UINT uFlag);
+
+
+
+
+
+
+__declspec(dllimport)
+UINT
+__stdcall
+GetMenuState(
+ HMENU hMenu,
+ UINT uId,
+ UINT uFlags);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DrawMenuBar(
+ HWND hWnd);
+
+
+__declspec(dllimport)
+HMENU
+__stdcall
+GetSystemMenu(
+ HWND hWnd,
+ BOOL bRevert);
+
+
+__declspec(dllimport)
+HMENU
+__stdcall
+CreateMenu(
+ void);
+
+__declspec(dllimport)
+HMENU
+__stdcall
+CreatePopupMenu(
+ void);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DestroyMenu(
+ HMENU hMenu);
+
+__declspec(dllimport)
+DWORD
+__stdcall
+CheckMenuItem(
+ HMENU hMenu,
+ UINT uIDCheckItem,
+ UINT uCheck);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EnableMenuItem(
+ HMENU hMenu,
+ UINT uIDEnableItem,
+ UINT uEnable);
+
+__declspec(dllimport)
+HMENU
+__stdcall
+GetSubMenu(
+ HMENU hMenu,
+ int nPos);
+
+__declspec(dllimport)
+UINT
+__stdcall
+GetMenuItemID(
+ HMENU hMenu,
+ int nPos);
+
+__declspec(dllimport)
+int
+__stdcall
+GetMenuItemCount(
+ HMENU hMenu);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+InsertMenuA(
+ HMENU hMenu,
+ UINT uPosition,
+ UINT uFlags,
+ UINT uIDNewItem,
+ LPCSTR lpNewItem
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+InsertMenuW(
+ HMENU hMenu,
+ UINT uPosition,
+ UINT uFlags,
+ UINT uIDNewItem,
+ LPCWSTR lpNewItem
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+AppendMenuA(
+ HMENU hMenu,
+ UINT uFlags,
+ UINT uIDNewItem,
+ LPCSTR lpNewItem
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+AppendMenuW(
+ HMENU hMenu,
+ UINT uFlags,
+ UINT uIDNewItem,
+ LPCWSTR lpNewItem
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ModifyMenuA(
+ HMENU hMnu,
+ UINT uPosition,
+ UINT uFlags,
+ UINT uIDNewItem,
+ LPCSTR lpNewItem
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+ModifyMenuW(
+ HMENU hMnu,
+ UINT uPosition,
+ UINT uFlags,
+ UINT uIDNewItem,
+ LPCWSTR lpNewItem
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall RemoveMenu(
+ HMENU hMenu,
+ UINT uPosition,
+ UINT uFlags);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DeleteMenu(
+ HMENU hMenu,
+ UINT uPosition,
+ UINT uFlags);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetMenuItemBitmaps(
+ HMENU hMenu,
+ UINT uPosition,
+ UINT uFlags,
+ HBITMAP hBitmapUnchecked,
+ HBITMAP hBitmapChecked);
+
+__declspec(dllimport)
+LONG
+__stdcall
+GetMenuCheckMarkDimensions(
+ void);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+TrackPopupMenu(
+ HMENU hMenu,
+ UINT uFlags,
+ int x,
+ int y,
+ int nReserved,
+ HWND hWnd,
+ const RECT *prcRect);
+
+
+
+
+
+
+
+
+typedef struct tagTPMPARAMS
+{
+ UINT cbSize;
+ RECT rcExclude;
+} TPMPARAMS;
+typedef TPMPARAMS *LPTPMPARAMS;
+
+__declspec(dllimport) BOOL __stdcall TrackPopupMenuEx(HMENU, UINT, int, int, HWND, LPTPMPARAMS);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagMENUITEMINFOA
+{
+ UINT cbSize;
+ UINT fMask;
+ UINT fType;
+ UINT fState;
+ UINT wID;
+ HMENU hSubMenu;
+ HBITMAP hbmpChecked;
+ HBITMAP hbmpUnchecked;
+ DWORD dwItemData;
+ LPSTR dwTypeData;
+ UINT cch;
+
+
+
+} MENUITEMINFOA, *LPMENUITEMINFOA;
+typedef struct tagMENUITEMINFOW
+{
+ UINT cbSize;
+ UINT fMask;
+ UINT fType;
+ UINT fState;
+ UINT wID;
+ HMENU hSubMenu;
+ HBITMAP hbmpChecked;
+ HBITMAP hbmpUnchecked;
+ DWORD dwItemData;
+ LPWSTR dwTypeData;
+ UINT cch;
+
+
+
+} MENUITEMINFOW, *LPMENUITEMINFOW;
+
+
+
+
+typedef MENUITEMINFOA MENUITEMINFO;
+typedef LPMENUITEMINFOA LPMENUITEMINFO;
+
+typedef MENUITEMINFOA const *LPCMENUITEMINFOA;
+typedef MENUITEMINFOW const *LPCMENUITEMINFOW;
+
+
+
+typedef LPCMENUITEMINFOA LPCMENUITEMINFO;
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+InsertMenuItemA(
+ HMENU,
+ UINT,
+ BOOL,
+ LPCMENUITEMINFOA
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+InsertMenuItemW(
+ HMENU,
+ UINT,
+ BOOL,
+ LPCMENUITEMINFOW
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetMenuItemInfoA(
+ HMENU,
+ UINT,
+ BOOL,
+ LPMENUITEMINFOA
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+GetMenuItemInfoW(
+ HMENU,
+ UINT,
+ BOOL,
+ LPMENUITEMINFOW
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetMenuItemInfoA(
+ HMENU,
+ UINT,
+ BOOL,
+ LPCMENUITEMINFOA
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+SetMenuItemInfoW(
+ HMENU,
+ UINT,
+ BOOL,
+ LPCMENUITEMINFOW
+ );
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport) UINT __stdcall GetMenuDefaultItem(HMENU hMenu, UINT fByPos, UINT gmdiFlags);
+__declspec(dllimport) BOOL __stdcall SetMenuDefaultItem(HMENU hMenu, UINT uItem, UINT fByPos);
+
+__declspec(dllimport) BOOL __stdcall GetMenuItemRect(HWND hWnd, HMENU hMenu, UINT uItem, LPRECT lprcItem);
+__declspec(dllimport) int __stdcall MenuItemFromPoint(HWND hWnd, HMENU hMenu, POINT ptScreen);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagDROPSTRUCT
+{
+ HWND hwndSource;
+ HWND hwndSink;
+ DWORD wFmt;
+ DWORD dwData;
+ POINT ptDrop;
+ DWORD dwControlData;
+} DROPSTRUCT, *PDROPSTRUCT, *LPDROPSTRUCT;
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+DragObject(HWND, HWND, UINT, DWORD, HCURSOR);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DragDetect(HWND, POINT);
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DrawIcon(
+ HDC hDC,
+ int X,
+ int Y,
+ HICON hIcon);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagDRAWTEXTPARAMS
+{
+ UINT cbSize;
+ int iTabLength;
+ int iLeftMargin;
+ int iRightMargin;
+ UINT uiLengthDrawn;
+} DRAWTEXTPARAMS, *LPDRAWTEXTPARAMS;
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+DrawTextA(
+ HDC hDC,
+ LPCSTR lpString,
+ int nCount,
+ LPRECT lpRect,
+ UINT uFormat);
+__declspec(dllimport)
+int
+__stdcall
+DrawTextW(
+ HDC hDC,
+ LPCWSTR lpString,
+ int nCount,
+ LPRECT lpRect,
+ UINT uFormat);
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+DrawTextExA(HDC, LPSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS);
+__declspec(dllimport)
+int
+__stdcall
+DrawTextExW(HDC, LPWSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS);
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GrayStringA(
+ HDC hDC,
+ HBRUSH hBrush,
+ GRAYSTRINGPROC lpOutputFunc,
+ LPARAM lpData,
+ int nCount,
+ int X,
+ int Y,
+ int nWidth,
+ int nHeight);
+__declspec(dllimport)
+BOOL
+__stdcall
+GrayStringW(
+ HDC hDC,
+ HBRUSH hBrush,
+ GRAYSTRINGPROC lpOutputFunc,
+ LPARAM lpData,
+ int nCount,
+ int X,
+ int Y,
+ int nWidth,
+ int nHeight);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall DrawStateA(HDC, HBRUSH, DRAWSTATEPROC, LPARAM, WPARAM, int, int, int, int, UINT);
+__declspec(dllimport) BOOL __stdcall DrawStateW(HDC, HBRUSH, DRAWSTATEPROC, LPARAM, WPARAM, int, int, int, int, UINT);
+
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+TabbedTextOutA(
+ HDC hDC,
+ int X,
+ int Y,
+ LPCSTR lpString,
+ int nCount,
+ int nTabPositions,
+ LPINT lpnTabStopPositions,
+ int nTabOrigin);
+__declspec(dllimport)
+LONG
+__stdcall
+TabbedTextOutW(
+ HDC hDC,
+ int X,
+ int Y,
+ LPCWSTR lpString,
+ int nCount,
+ int nTabPositions,
+ LPINT lpnTabStopPositions,
+ int nTabOrigin);
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetTabbedTextExtentA(
+ HDC hDC,
+ LPCSTR lpString,
+ int nCount,
+ int nTabPositions,
+ LPINT lpnTabStopPositions);
+__declspec(dllimport)
+DWORD
+__stdcall
+GetTabbedTextExtentW(
+ HDC hDC,
+ LPCWSTR lpString,
+ int nCount,
+ int nTabPositions,
+ LPINT lpnTabStopPositions);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+UpdateWindow(
+ HWND hWnd);
+
+__declspec(dllimport)
+HWND
+__stdcall
+SetActiveWindow(
+ HWND hWnd);
+
+__declspec(dllimport)
+HWND
+__stdcall
+GetForegroundWindow(
+ void);
+
+
+__declspec(dllimport) BOOL __stdcall PaintDesktop(HDC hdc);
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetForegroundWindow(
+ HWND hWnd);
+
+__declspec(dllimport)
+HWND
+__stdcall
+WindowFromDC(
+ HDC hDC);
+
+__declspec(dllimport)
+HDC
+__stdcall
+GetDC(
+ HWND hWnd);
+
+__declspec(dllimport)
+HDC
+__stdcall
+GetDCEx(
+ HWND hWnd ,
+ HRGN hrgnClip,
+ DWORD flags);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+AlignRects(LPRECT arc, DWORD cCount, DWORD iPrimary, DWORD dwFlags);
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+HDC
+__stdcall
+GetWindowDC(
+ HWND hWnd);
+
+__declspec(dllimport)
+int
+__stdcall
+ReleaseDC(
+ HWND hWnd,
+ HDC hDC);
+
+__declspec(dllimport)
+HDC
+__stdcall
+BeginPaint(
+ HWND hWnd,
+ LPPAINTSTRUCT lpPaint);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EndPaint(
+ HWND hWnd,
+ const PAINTSTRUCT *lpPaint);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetUpdateRect(
+ HWND hWnd,
+ LPRECT lpRect,
+ BOOL bErase);
+
+__declspec(dllimport)
+int
+__stdcall
+GetUpdateRgn(
+ HWND hWnd,
+ HRGN hRgn,
+ BOOL bErase);
+
+__declspec(dllimport)
+int
+__stdcall
+SetWindowRgn(
+ HWND hWnd,
+ HRGN hRgn,
+ BOOL bRedraw);
+
+__declspec(dllimport)
+int
+__stdcall
+GetWindowRgn(
+ HWND hWnd,
+ HRGN hRgn);
+
+__declspec(dllimport)
+int
+__stdcall
+ExcludeUpdateRgn(
+ HDC hDC,
+ HWND hWnd);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+InvalidateRect(
+ HWND hWnd ,
+ const RECT *lpRect,
+ BOOL bErase);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ValidateRect(
+ HWND hWnd ,
+ const RECT *lpRect);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+InvalidateRgn(
+ HWND hWnd,
+ HRGN hRgn,
+ BOOL bErase);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ValidateRgn(
+ HWND hWnd,
+ HRGN hRgn);
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+RedrawWindow(
+ HWND hWnd,
+ const RECT *lprcUpdate,
+ HRGN hrgnUpdate,
+ UINT flags);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+LockWindowUpdate(
+ HWND hWndLock);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ScrollWindow(
+ HWND hWnd,
+ int XAmount,
+ int YAmount,
+ const RECT *lpRect,
+ const RECT *lpClipRect);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ScrollDC(
+ HDC hDC,
+ int dx,
+ int dy,
+ const RECT *lprcScroll,
+ const RECT *lprcClip ,
+ HRGN hrgnUpdate,
+ LPRECT lprcUpdate);
+
+__declspec(dllimport)
+int
+__stdcall
+ScrollWindowEx(
+ HWND hWnd,
+ int dx,
+ int dy,
+ const RECT *prcScroll,
+ const RECT *prcClip ,
+ HRGN hrgnUpdate,
+ LPRECT prcUpdate,
+ UINT flags);
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+SetScrollPos(
+ HWND hWnd,
+ int nBar,
+ int nPos,
+ BOOL bRedraw);
+
+__declspec(dllimport)
+int
+__stdcall
+GetScrollPos(
+ HWND hWnd,
+ int nBar);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetScrollRange(
+ HWND hWnd,
+ int nBar,
+ int nMinPos,
+ int nMaxPos,
+ BOOL bRedraw);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetScrollRange(
+ HWND hWnd,
+ int nBar,
+ LPINT lpMinPos,
+ LPINT lpMaxPos);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ShowScrollBar(
+ HWND hWnd,
+ int wBar,
+ BOOL bShow);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EnableScrollBar(
+ HWND hWnd,
+ UINT wSBflags,
+ UINT wArrows);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetPropA(
+ HWND hWnd,
+ LPCSTR lpString,
+ HANDLE hData);
+__declspec(dllimport)
+BOOL
+__stdcall
+SetPropW(
+ HWND hWnd,
+ LPCWSTR lpString,
+ HANDLE hData);
+
+
+
+
+
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+GetPropA(
+ HWND hWnd,
+ LPCSTR lpString);
+__declspec(dllimport)
+HANDLE
+__stdcall
+GetPropW(
+ HWND hWnd,
+ LPCWSTR lpString);
+
+
+
+
+
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+RemovePropA(
+ HWND hWnd,
+ LPCSTR lpString);
+__declspec(dllimport)
+HANDLE
+__stdcall
+RemovePropW(
+ HWND hWnd,
+ LPCWSTR lpString);
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+EnumPropsExA(
+ HWND hWnd,
+ PROPENUMPROCEXA lpEnumFunc,
+ LPARAM lParam);
+__declspec(dllimport)
+int
+__stdcall
+EnumPropsExW(
+ HWND hWnd,
+ PROPENUMPROCEXW lpEnumFunc,
+ LPARAM lParam);
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+EnumPropsA(
+ HWND hWnd,
+ PROPENUMPROCA lpEnumFunc);
+__declspec(dllimport)
+int
+__stdcall
+EnumPropsW(
+ HWND hWnd,
+ PROPENUMPROCW lpEnumFunc);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetWindowTextA(
+ HWND hWnd,
+ LPCSTR lpString);
+__declspec(dllimport)
+BOOL
+__stdcall
+SetWindowTextW(
+ HWND hWnd,
+ LPCWSTR lpString);
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+GetWindowTextA(
+ HWND hWnd,
+ LPSTR lpString,
+ int nMaxCount);
+__declspec(dllimport)
+int
+__stdcall
+GetWindowTextW(
+ HWND hWnd,
+ LPWSTR lpString,
+ int nMaxCount);
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+GetWindowTextLengthA(
+ HWND hWnd);
+__declspec(dllimport)
+int
+__stdcall
+GetWindowTextLengthW(
+ HWND hWnd);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetClientRect(
+ HWND hWnd,
+ LPRECT lpRect);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetWindowRect(
+ HWND hWnd,
+ LPRECT lpRect);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+AdjustWindowRect(
+ LPRECT lpRect,
+ DWORD dwStyle,
+ BOOL bMenu);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+AdjustWindowRectEx(
+ LPRECT lpRect,
+ DWORD dwStyle,
+ BOOL bMenu,
+ DWORD dwExStyle);
+
+
+
+
+typedef struct tagHELPINFO
+{
+ UINT cbSize;
+ int iContextType;
+ int iCtrlId;
+ HANDLE hItemHandle;
+ DWORD dwContextId;
+ POINT MousePos;
+} HELPINFO, *LPHELPINFO;
+
+__declspec(dllimport) BOOL __stdcall SetWindowContextHelpId(HWND, DWORD);
+__declspec(dllimport) DWORD __stdcall GetWindowContextHelpId(HWND);
+__declspec(dllimport) BOOL __stdcall SetMenuContextHelpId(HMENU, DWORD);
+__declspec(dllimport) DWORD __stdcall GetMenuContextHelpId(HMENU);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+MessageBoxA(
+ HWND hWnd ,
+ LPCSTR lpText,
+ LPCSTR lpCaption,
+ UINT uType);
+__declspec(dllimport)
+int
+__stdcall
+MessageBoxW(
+ HWND hWnd ,
+ LPCWSTR lpText,
+ LPCWSTR lpCaption,
+ UINT uType);
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+MessageBoxExA(
+ HWND hWnd ,
+ LPCSTR lpText,
+ LPCSTR lpCaption,
+ UINT uType,
+ WORD wLanguageId);
+__declspec(dllimport)
+int
+__stdcall
+MessageBoxExW(
+ HWND hWnd ,
+ LPCWSTR lpText,
+ LPCWSTR lpCaption,
+ UINT uType,
+ WORD wLanguageId);
+
+
+
+
+
+
+
+
+typedef void (__stdcall *MSGBOXCALLBACK)(LPHELPINFO lpHelpInfo);
+
+typedef struct tagMSGBOXPARAMSA
+{
+ UINT cbSize;
+ HWND hwndOwner;
+ HINSTANCE hInstance;
+ LPCSTR lpszText;
+ LPCSTR lpszCaption;
+ DWORD dwStyle;
+ LPCSTR lpszIcon;
+ DWORD dwContextHelpId;
+ MSGBOXCALLBACK lpfnMsgBoxCallback;
+ DWORD dwLanguageId;
+} MSGBOXPARAMSA, *PMSGBOXPARAMSA, *LPMSGBOXPARAMSA;
+typedef struct tagMSGBOXPARAMSW
+{
+ UINT cbSize;
+ HWND hwndOwner;
+ HINSTANCE hInstance;
+ LPCWSTR lpszText;
+ LPCWSTR lpszCaption;
+ DWORD dwStyle;
+ LPCWSTR lpszIcon;
+ DWORD dwContextHelpId;
+ MSGBOXCALLBACK lpfnMsgBoxCallback;
+ DWORD dwLanguageId;
+} MSGBOXPARAMSW, *PMSGBOXPARAMSW, *LPMSGBOXPARAMSW;
+
+
+
+
+
+typedef MSGBOXPARAMSA MSGBOXPARAMS;
+typedef PMSGBOXPARAMSA PMSGBOXPARAMS;
+typedef LPMSGBOXPARAMSA LPMSGBOXPARAMS;
+
+
+
+__declspec(dllimport) int __stdcall MessageBoxIndirectA(LPMSGBOXPARAMSA);
+__declspec(dllimport) int __stdcall MessageBoxIndirectW(LPMSGBOXPARAMSW);
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+MessageBeep(
+ UINT uType);
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+ShowCursor(
+ BOOL bShow);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetCursorPos(
+ int X,
+ int Y);
+
+__declspec(dllimport)
+HCURSOR
+__stdcall
+SetCursor(
+ HCURSOR hCursor);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetCursorPos(
+ LPPOINT lpPoint);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ClipCursor(
+ const RECT *lpRect);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetClipCursor(
+ LPRECT lpRect);
+
+__declspec(dllimport)
+HCURSOR
+__stdcall
+GetCursor(
+ void);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CreateCaret(
+ HWND hWnd,
+ HBITMAP hBitmap ,
+ int nWidth,
+ int nHeight);
+
+__declspec(dllimport)
+UINT
+__stdcall
+GetCaretBlinkTime(
+ void);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetCaretBlinkTime(
+ UINT uMSeconds);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DestroyCaret(
+ void);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+HideCaret(
+ HWND hWnd);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ShowCaret(
+ HWND hWnd);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetCaretPos(
+ int X,
+ int Y);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetCaretPos(
+ LPPOINT lpPoint);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ClientToScreen(
+ HWND hWnd,
+ LPPOINT lpPoint);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ScreenToClient(
+ HWND hWnd,
+ LPPOINT lpPoint);
+
+__declspec(dllimport)
+int
+__stdcall
+MapWindowPoints(
+ HWND hWndFrom,
+ HWND hWndTo,
+ LPPOINT lpPoints,
+ UINT cPoints);
+
+__declspec(dllimport)
+HWND
+__stdcall
+WindowFromPoint(
+ POINT Point);
+
+__declspec(dllimport)
+HWND
+__stdcall
+ChildWindowFromPoint(
+ HWND hWndParent,
+ POINT Point);
+
+
+
+
+
+
+
+__declspec(dllimport) HWND __stdcall ChildWindowFromPointEx(HWND, POINT, UINT);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetSysColor(
+ int nIndex);
+
+
+__declspec(dllimport)
+HBRUSH
+__stdcall
+GetSysColorBrush(
+ int nIndex);
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetSysColors(
+ int cElements,
+ const INT * lpaElements,
+ const COLORREF * lpaRgbValues);
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DrawFocusRect(
+ HDC hDC,
+ const RECT * lprc);
+
+__declspec(dllimport)
+int
+__stdcall
+FillRect(
+ HDC hDC,
+ const RECT *lprc,
+ HBRUSH hbr);
+
+__declspec(dllimport)
+int
+__stdcall
+FrameRect(
+ HDC hDC,
+ const RECT *lprc,
+ HBRUSH hbr);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+InvertRect(
+ HDC hDC,
+ const RECT *lprc);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetRect(
+ LPRECT lprc,
+ int xLeft,
+ int yTop,
+ int xRight,
+ int yBottom);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ SetRectEmpty(
+ LPRECT lprc);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CopyRect(
+ LPRECT lprcDst,
+ const RECT *lprcSrc);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+InflateRect(
+ LPRECT lprc,
+ int dx,
+ int dy);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IntersectRect(
+ LPRECT lprcDst,
+ const RECT *lprcSrc1,
+ const RECT *lprcSrc2);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+UnionRect(
+ LPRECT lprcDst,
+ const RECT *lprcSrc1,
+ const RECT *lprcSrc2);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SubtractRect(
+ LPRECT lprcDst,
+ const RECT *lprcSrc1,
+ const RECT *lprcSrc2);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+OffsetRect(
+ LPRECT lprc,
+ int dx,
+ int dy);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsRectEmpty(
+ const RECT *lprc);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EqualRect(
+ const RECT *lprc1,
+ const RECT *lprc2);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+PtInRect(
+ const RECT *lprc,
+ POINT pt);
+
+
+
+__declspec(dllimport)
+WORD
+__stdcall
+GetWindowWord(
+ HWND hWnd,
+ int nIndex);
+
+__declspec(dllimport)
+WORD
+__stdcall
+SetWindowWord(
+ HWND hWnd,
+ int nIndex,
+ WORD wNewWord);
+
+__declspec(dllimport)
+LONG
+__stdcall
+GetWindowLongA(
+ HWND hWnd,
+ int nIndex);
+__declspec(dllimport)
+LONG
+__stdcall
+GetWindowLongW(
+ HWND hWnd,
+ int nIndex);
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+SetWindowLongA(
+ HWND hWnd,
+ int nIndex,
+ LONG dwNewLong);
+__declspec(dllimport)
+LONG
+__stdcall
+SetWindowLongW(
+ HWND hWnd,
+ int nIndex,
+ LONG dwNewLong);
+
+
+
+
+
+
+__declspec(dllimport)
+WORD
+__stdcall
+GetClassWord(
+ HWND hWnd,
+ int nIndex);
+
+__declspec(dllimport)
+WORD
+__stdcall
+SetClassWord(
+ HWND hWnd,
+ int nIndex,
+ WORD wNewWord);
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetClassLongA(
+ HWND hWnd,
+ int nIndex);
+__declspec(dllimport)
+DWORD
+__stdcall
+GetClassLongW(
+ HWND hWnd,
+ int nIndex);
+
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+SetClassLongA(
+ HWND hWnd,
+ int nIndex,
+ LONG dwNewLong);
+__declspec(dllimport)
+DWORD
+__stdcall
+SetClassLongW(
+ HWND hWnd,
+ int nIndex,
+ LONG dwNewLong);
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+HWND
+__stdcall
+GetDesktopWindow(
+ void);
+
+
+__declspec(dllimport)
+HWND
+__stdcall
+GetParent(
+ HWND hWnd);
+
+__declspec(dllimport)
+HWND
+__stdcall
+SetParent(
+ HWND hWndChild,
+ HWND hWndNewParent);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumChildWindows(
+ HWND hWndParent,
+ WNDENUMPROC lpEnumFunc,
+ LPARAM lParam);
+
+__declspec(dllimport)
+HWND
+__stdcall
+FindWindowA(
+ LPCSTR lpClassName ,
+ LPCSTR lpWindowName);
+__declspec(dllimport)
+HWND
+__stdcall
+FindWindowW(
+ LPCWSTR lpClassName ,
+ LPCWSTR lpWindowName);
+
+
+
+
+
+
+
+__declspec(dllimport) HWND __stdcall FindWindowExA(HWND, HWND, LPCSTR, LPCSTR);
+__declspec(dllimport) HWND __stdcall FindWindowExW(HWND, HWND, LPCWSTR, LPCWSTR);
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumWindows(
+ WNDENUMPROC lpEnumFunc,
+ LPARAM lParam);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumThreadWindows(
+ DWORD dwThreadId,
+ WNDENUMPROC lpfn,
+ LPARAM lParam);
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+GetClassNameA(
+ HWND hWnd,
+ LPSTR lpClassName,
+ int nMaxCount);
+__declspec(dllimport)
+int
+__stdcall
+GetClassNameW(
+ HWND hWnd,
+ LPWSTR lpClassName,
+ int nMaxCount);
+
+
+
+
+
+
+__declspec(dllimport)
+HWND
+__stdcall
+GetTopWindow(
+ HWND hWnd);
+
+
+
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetWindowThreadProcessId(
+ HWND hWnd,
+ LPDWORD lpdwProcessId);
+
+
+
+
+__declspec(dllimport)
+HWND
+__stdcall
+GetLastActivePopup(
+ HWND hWnd);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+HWND
+__stdcall
+GetWindow(
+ HWND hWnd,
+ UINT uCmd);
+
+
+
+
+
+
+
+__declspec(dllimport)
+HHOOK
+__stdcall
+SetWindowsHookA(
+ int nFilterType,
+ HOOKPROC pfnFilterProc);
+__declspec(dllimport)
+HHOOK
+__stdcall
+SetWindowsHookW(
+ int nFilterType,
+ HOOKPROC pfnFilterProc);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+UnhookWindowsHook(
+ int nCode,
+ HOOKPROC pfnFilterProc);
+
+__declspec(dllimport)
+HHOOK
+__stdcall
+SetWindowsHookExA(
+ int idHook,
+ HOOKPROC lpfn,
+ HINSTANCE hmod,
+ DWORD dwThreadId);
+__declspec(dllimport)
+HHOOK
+__stdcall
+SetWindowsHookExW(
+ int idHook,
+ HOOKPROC lpfn,
+ HINSTANCE hmod,
+ DWORD dwThreadId);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+UnhookWindowsHookEx(
+ HHOOK hhk);
+
+__declspec(dllimport)
+LRESULT
+__stdcall
+CallNextHookEx(
+ HHOOK hhk,
+ int nCode,
+ WPARAM wParam,
+ LPARAM lParam);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CheckMenuRadioItem(HMENU, UINT, UINT, UINT, UINT);
+
+
+
+
+
+typedef struct {
+ WORD versionNumber;
+ WORD offset;
+} MENUITEMTEMPLATEHEADER, *PMENUITEMTEMPLATEHEADER;
+
+typedef struct {
+ WORD mtOption;
+ WORD mtID;
+ WCHAR mtString[1];
+} MENUITEMTEMPLATE, *PMENUITEMTEMPLATE;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+HBITMAP
+__stdcall
+LoadBitmapA(
+ HINSTANCE hInstance,
+ LPCSTR lpBitmapName);
+__declspec(dllimport)
+HBITMAP
+__stdcall
+LoadBitmapW(
+ HINSTANCE hInstance,
+ LPCWSTR lpBitmapName);
+
+
+
+
+
+
+__declspec(dllimport)
+HCURSOR
+__stdcall
+LoadCursorA(
+ HINSTANCE hInstance,
+ LPCSTR lpCursorName);
+__declspec(dllimport)
+HCURSOR
+__stdcall
+LoadCursorW(
+ HINSTANCE hInstance,
+ LPCWSTR lpCursorName);
+
+
+
+
+
+
+__declspec(dllimport)
+HCURSOR
+__stdcall
+LoadCursorFromFileA(
+ LPCSTR lpFileName);
+__declspec(dllimport)
+HCURSOR
+__stdcall
+LoadCursorFromFileW(
+ LPCWSTR lpFileName);
+
+
+
+
+
+
+__declspec(dllimport)
+HCURSOR
+__stdcall
+CreateCursor(
+ HINSTANCE hInst,
+ int xHotSpot,
+ int yHotSpot,
+ int nWidth,
+ int nHeight,
+ const void *pvANDPlane,
+ const void *pvXORPlane);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DestroyCursor(
+ HCURSOR hCursor);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetSystemCursor(
+ HCURSOR hcur,
+ DWORD id);
+
+typedef struct _ICONINFO {
+ BOOL fIcon;
+ DWORD xHotspot;
+ DWORD yHotspot;
+ HBITMAP hbmMask;
+ HBITMAP hbmColor;
+} ICONINFO;
+typedef ICONINFO *PICONINFO;
+
+__declspec(dllimport)
+HICON
+__stdcall
+LoadIconA(
+ HINSTANCE hInstance,
+ LPCSTR lpIconName);
+__declspec(dllimport)
+HICON
+__stdcall
+LoadIconW(
+ HINSTANCE hInstance,
+ LPCWSTR lpIconName);
+
+
+
+
+
+
+
+__declspec(dllimport)
+HICON
+__stdcall
+CreateIcon(
+ HINSTANCE hInstance,
+ int nWidth,
+ int nHeight,
+ BYTE cPlanes,
+ BYTE cBitsPixel,
+ const BYTE *lpbANDbits,
+ const BYTE *lpbXORbits);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DestroyIcon(
+ HICON hIcon);
+
+__declspec(dllimport)
+int
+__stdcall
+LookupIconIdFromDirectory(
+ PBYTE presbits,
+ BOOL fIcon);
+
+
+__declspec(dllimport)
+int
+__stdcall
+LookupIconIdFromDirectoryEx(
+ PBYTE presbits,
+ BOOL fIcon,
+ int cxDesired,
+ int cyDesired,
+ UINT Flags);
+
+
+__declspec(dllimport)
+HICON
+__stdcall
+CreateIconFromResource(
+ PBYTE presbits,
+ DWORD dwResSize,
+ BOOL fIcon,
+ DWORD dwVer);
+
+
+__declspec(dllimport)
+HICON
+__stdcall
+CreateIconFromResourceEx(
+ PBYTE presbits,
+ DWORD dwResSize,
+ BOOL fIcon,
+ DWORD dwVer,
+ int cxDesired,
+ int cyDesired,
+ UINT Flags);
+
+
+typedef struct tagCURSORSHAPE
+{
+ int xHotSpot;
+ int yHotSpot;
+ int cx;
+ int cy;
+ int cbWidth;
+ BYTE Planes;
+ BYTE BitsPixel;
+} CURSORSHAPE, *LPCURSORSHAPE;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+LoadImageA(
+ HINSTANCE,
+ LPCSTR,
+ UINT,
+ int,
+ int,
+ UINT);
+__declspec(dllimport)
+HANDLE
+__stdcall
+LoadImageW(
+ HINSTANCE,
+ LPCWSTR,
+ UINT,
+ int,
+ int,
+ UINT);
+
+
+
+
+
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+CopyImage(
+ HANDLE,
+ UINT,
+ int,
+ int,
+ UINT);
+
+
+
+
+
+
+
+__declspec(dllimport) BOOL __stdcall DrawIconEx(HDC hdc, int xLeft, int yTop,
+ HICON hIcon, int cxWidth, int cyWidth,
+ UINT istepIfAniCur, HBRUSH hbrFlickerFreeDraw, UINT diFlags);
+
+
+__declspec(dllimport)
+HICON
+__stdcall
+CreateIconIndirect(
+ PICONINFO piconinfo);
+
+__declspec(dllimport)
+HICON
+__stdcall
+CopyIcon(
+ HICON hIcon);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetIconInfo(
+ HICON hIcon,
+ PICONINFO piconinfo);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+LoadStringA(
+ HINSTANCE hInstance,
+ UINT uID,
+ LPSTR lpBuffer,
+ int nBufferMax);
+__declspec(dllimport)
+int
+__stdcall
+LoadStringW(
+ HINSTANCE hInstance,
+ UINT uID,
+ LPWSTR lpBuffer,
+ int nBufferMax);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsDialogMessageA(
+ HWND hDlg,
+ LPMSG lpMsg);
+__declspec(dllimport)
+BOOL
+__stdcall
+IsDialogMessageW(
+ HWND hDlg,
+ LPMSG lpMsg);
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+MapDialogRect(
+ HWND hDlg,
+ LPRECT lpRect);
+
+__declspec(dllimport)
+int
+__stdcall
+DlgDirListA(
+ HWND hDlg,
+ LPSTR lpPathSpec,
+ int nIDListBox,
+ int nIDStaticPath,
+ UINT uFileType);
+__declspec(dllimport)
+int
+__stdcall
+DlgDirListW(
+ HWND hDlg,
+ LPWSTR lpPathSpec,
+ int nIDListBox,
+ int nIDStaticPath,
+ UINT uFileType);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DlgDirSelectExA(
+ HWND hDlg,
+ LPSTR lpString,
+ int nCount,
+ int nIDListBox);
+__declspec(dllimport)
+BOOL
+__stdcall
+DlgDirSelectExW(
+ HWND hDlg,
+ LPWSTR lpString,
+ int nCount,
+ int nIDListBox);
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+DlgDirListComboBoxA(
+ HWND hDlg,
+ LPSTR lpPathSpec,
+ int nIDComboBox,
+ int nIDStaticPath,
+ UINT uFiletype);
+__declspec(dllimport)
+int
+__stdcall
+DlgDirListComboBoxW(
+ HWND hDlg,
+ LPWSTR lpPathSpec,
+ int nIDComboBox,
+ int nIDStaticPath,
+ UINT uFiletype);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DlgDirSelectComboBoxExA(
+ HWND hDlg,
+ LPSTR lpString,
+ int nCount,
+ int nIDComboBox);
+__declspec(dllimport)
+BOOL
+__stdcall
+DlgDirSelectComboBoxExW(
+ HWND hDlg,
+ LPWSTR lpString,
+ int nCount,
+ int nIDComboBox);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagSCROLLINFO
+{
+ UINT cbSize;
+ UINT fMask;
+ int nMin;
+ int nMax;
+ UINT nPage;
+ int nPos;
+ int nTrackPos;
+} SCROLLINFO, *LPSCROLLINFO;
+typedef SCROLLINFO const *LPCSCROLLINFO;
+
+__declspec(dllimport) int __stdcall SetScrollInfo(HWND, int, LPCSCROLLINFO, BOOL);
+__declspec(dllimport) BOOL __stdcall GetScrollInfo(HWND, int, LPSCROLLINFO);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagMDICREATESTRUCTA {
+ LPCSTR szClass;
+ LPCSTR szTitle;
+ HANDLE hOwner;
+ int x;
+ int y;
+ int cx;
+ int cy;
+ DWORD style;
+ LPARAM lParam;
+} MDICREATESTRUCTA, *LPMDICREATESTRUCTA;
+typedef struct tagMDICREATESTRUCTW {
+ LPCWSTR szClass;
+ LPCWSTR szTitle;
+ HANDLE hOwner;
+ int x;
+ int y;
+ int cx;
+ int cy;
+ DWORD style;
+ LPARAM lParam;
+} MDICREATESTRUCTW, *LPMDICREATESTRUCTW;
+
+
+
+
+typedef MDICREATESTRUCTA MDICREATESTRUCT;
+typedef LPMDICREATESTRUCTA LPMDICREATESTRUCT;
+
+
+typedef struct tagCLIENTCREATESTRUCT {
+ HANDLE hWindowMenu;
+ UINT idFirstChild;
+} CLIENTCREATESTRUCT, *LPCLIENTCREATESTRUCT;
+
+__declspec(dllimport)
+LRESULT
+__stdcall
+DefFrameProcA(
+ HWND hWnd,
+ HWND hWndMDIClient ,
+ UINT uMsg,
+ WPARAM wParam,
+ LPARAM lParam);
+__declspec(dllimport)
+LRESULT
+__stdcall
+DefFrameProcW(
+ HWND hWnd,
+ HWND hWndMDIClient ,
+ UINT uMsg,
+ WPARAM wParam,
+ LPARAM lParam);
+
+
+
+
+
+
+__declspec(dllimport)
+
+LRESULT
+__stdcall
+
+
+
+
+DefMDIChildProcA(
+ HWND hWnd,
+ UINT uMsg,
+ WPARAM wParam,
+ LPARAM lParam);
+__declspec(dllimport)
+
+LRESULT
+__stdcall
+
+
+
+
+DefMDIChildProcW(
+ HWND hWnd,
+ UINT uMsg,
+ WPARAM wParam,
+ LPARAM lParam);
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+TranslateMDISysAccel(
+ HWND hWndClient,
+ LPMSG lpMsg);
+
+
+
+__declspec(dllimport)
+UINT
+__stdcall
+ArrangeIconicWindows(
+ HWND hWnd);
+
+__declspec(dllimport)
+HWND
+__stdcall
+CreateMDIWindowA(
+ LPSTR lpClassName,
+ LPSTR lpWindowName,
+ DWORD dwStyle,
+ int X,
+ int Y,
+ int nWidth,
+ int nHeight,
+ HWND hWndParent,
+ HINSTANCE hInstance,
+ LPARAM lParam
+ );
+__declspec(dllimport)
+HWND
+__stdcall
+CreateMDIWindowW(
+ LPWSTR lpClassName,
+ LPWSTR lpWindowName,
+ DWORD dwStyle,
+ int X,
+ int Y,
+ int nWidth,
+ int nHeight,
+ HWND hWndParent,
+ HINSTANCE hInstance,
+ LPARAM lParam
+ );
+
+
+
+
+
+
+
+__declspec(dllimport) WORD __stdcall TileWindows(HWND hwndParent, UINT wHow, const RECT * lpRect, UINT cKids, const HWND * lpKids);
+__declspec(dllimport) WORD __stdcall CascadeWindows(HWND hwndParent, UINT wHow, const RECT * lpRect, UINT cKids, const HWND * lpKids);
+
+
+
+
+
+
+
+
+
+typedef DWORD HELPPOLY;
+typedef struct tagMULTIKEYHELPA {
+
+ DWORD mkSize;
+
+
+
+ CHAR mkKeylist;
+ CHAR szKeyphrase[1];
+} MULTIKEYHELPA, *PMULTIKEYHELPA, *LPMULTIKEYHELPA;
+typedef struct tagMULTIKEYHELPW {
+
+ DWORD mkSize;
+
+
+
+ WCHAR mkKeylist;
+ WCHAR szKeyphrase[1];
+} MULTIKEYHELPW, *PMULTIKEYHELPW, *LPMULTIKEYHELPW;
+
+
+
+
+
+typedef MULTIKEYHELPA MULTIKEYHELP;
+typedef PMULTIKEYHELPA PMULTIKEYHELP;
+typedef LPMULTIKEYHELPA LPMULTIKEYHELP;
+
+
+typedef struct tagHELPWININFOA {
+ int wStructSize;
+ int x;
+ int y;
+ int dx;
+ int dy;
+ int wMax;
+ CHAR rgchMember[2];
+} HELPWININFOA, *PHELPWININFOA, *LPHELPWININFOA;
+typedef struct tagHELPWININFOW {
+ int wStructSize;
+ int x;
+ int y;
+ int dx;
+ int dy;
+ int wMax;
+ WCHAR rgchMember[2];
+} HELPWININFOW, *PHELPWININFOW, *LPHELPWININFOW;
+
+
+
+
+
+typedef HELPWININFOA HELPWININFO;
+typedef PHELPWININFOA PHELPWININFO;
+typedef LPHELPWININFOA LPHELPWININFO;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+WinHelpA(
+ HWND hWndMain,
+ LPCSTR lpszHelp,
+ UINT uCommand,
+ DWORD dwData
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+WinHelpW(
+ HWND hWndMain,
+ LPCWSTR lpszHelp,
+ UINT uCommand,
+ DWORD dwData
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagNONCLIENTMETRICSA
+{
+ UINT cbSize;
+ int iBorderWidth;
+ int iScrollWidth;
+ int iScrollHeight;
+ int iCaptionWidth;
+ int iCaptionHeight;
+ LOGFONTA lfCaptionFont;
+ int iSmCaptionWidth;
+ int iSmCaptionHeight;
+ LOGFONTA lfSmCaptionFont;
+ int iMenuWidth;
+ int iMenuHeight;
+ LOGFONTA lfMenuFont;
+ LOGFONTA lfStatusFont;
+ LOGFONTA lfMessageFont;
+} NONCLIENTMETRICSA, *PNONCLIENTMETRICSA, * LPNONCLIENTMETRICSA;
+typedef struct tagNONCLIENTMETRICSW
+{
+ UINT cbSize;
+ int iBorderWidth;
+ int iScrollWidth;
+ int iScrollHeight;
+ int iCaptionWidth;
+ int iCaptionHeight;
+ LOGFONTW lfCaptionFont;
+ int iSmCaptionWidth;
+ int iSmCaptionHeight;
+ LOGFONTW lfSmCaptionFont;
+ int iMenuWidth;
+ int iMenuHeight;
+ LOGFONTW lfMenuFont;
+ LOGFONTW lfStatusFont;
+ LOGFONTW lfMessageFont;
+} NONCLIENTMETRICSW, *PNONCLIENTMETRICSW, * LPNONCLIENTMETRICSW;
+
+
+
+
+
+typedef NONCLIENTMETRICSA NONCLIENTMETRICS;
+typedef PNONCLIENTMETRICSA PNONCLIENTMETRICS;
+typedef LPNONCLIENTMETRICSA LPNONCLIENTMETRICS;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagMINIMIZEDMETRICS
+{
+ UINT cbSize;
+ int iWidth;
+ int iHorzGap;
+ int iVertGap;
+ int iArrange;
+} MINIMIZEDMETRICS, *PMINIMIZEDMETRICS, *LPMINIMIZEDMETRICS;
+
+
+
+typedef struct tagICONMETRICSA
+{
+ UINT cbSize;
+ int iHorzSpacing;
+ int iVertSpacing;
+ int iTitleWrap;
+ LOGFONTA lfFont;
+} ICONMETRICSA, *PICONMETRICSA, *LPICONMETRICSA;
+typedef struct tagICONMETRICSW
+{
+ UINT cbSize;
+ int iHorzSpacing;
+ int iVertSpacing;
+ int iTitleWrap;
+ LOGFONTW lfFont;
+} ICONMETRICSW, *PICONMETRICSW, *LPICONMETRICSW;
+
+
+
+
+
+typedef ICONMETRICSA ICONMETRICS;
+typedef PICONMETRICSA PICONMETRICS;
+typedef LPICONMETRICSA LPICONMETRICS;
+
+
+
+
+typedef struct tagANIMATIONINFO
+{
+ UINT cbSize;
+ int iMinAnimate;
+} ANIMATIONINFO, *LPANIMATIONINFO;
+
+typedef struct tagSERIALKEYSA
+{
+ UINT cbSize;
+ DWORD dwFlags;
+ LPSTR lpszActivePort;
+ LPSTR lpszPort;
+ UINT iBaudRate;
+ UINT iPortState;
+ UINT iActive;
+} SERIALKEYSA, *LPSERIALKEYSA;
+typedef struct tagSERIALKEYSW
+{
+ UINT cbSize;
+ DWORD dwFlags;
+ LPWSTR lpszActivePort;
+ LPWSTR lpszPort;
+ UINT iBaudRate;
+ UINT iPortState;
+ UINT iActive;
+} SERIALKEYSW, *LPSERIALKEYSW;
+
+
+
+
+typedef SERIALKEYSA SERIALKEYS;
+typedef LPSERIALKEYSA LPSERIALKEYS;
+
+
+
+
+
+
+
+
+typedef struct tagHIGHCONTRASTA
+{
+ UINT cbSize;
+ DWORD dwFlags;
+ LPSTR lpszDefaultScheme;
+} HIGHCONTRASTA, *LPHIGHCONTRASTA;
+typedef struct tagHIGHCONTRASTW
+{
+ UINT cbSize;
+ DWORD dwFlags;
+ LPWSTR lpszDefaultScheme;
+} HIGHCONTRASTW, *LPHIGHCONTRASTW;
+
+
+
+
+typedef HIGHCONTRASTA HIGHCONTRAST;
+typedef LPHIGHCONTRASTA LPHIGHCONTRAST;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+ChangeDisplaySettingsA(
+ LPDEVMODEA lpDevMode,
+ DWORD dwFlags);
+__declspec(dllimport)
+LONG
+__stdcall
+ChangeDisplaySettingsW(
+ LPDEVMODEW lpDevMode,
+ DWORD dwFlags);
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+ChangeDisplaySettingsExA(
+ LPCSTR lpszDeviceName,
+ LPDEVMODEA lpDevMode,
+ HWND hwnd,
+ DWORD dwflags,
+ LPVOID lParam);
+__declspec(dllimport)
+LONG
+__stdcall
+ChangeDisplaySettingsExW(
+ LPCWSTR lpszDeviceName,
+ LPDEVMODEW lpDevMode,
+ HWND hwnd,
+ DWORD dwflags,
+ LPVOID lParam);
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumDisplaySettingsA(
+ LPCSTR lpszDeviceName,
+ DWORD iModeNum,
+ LPDEVMODEA lpDevMode);
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumDisplaySettingsW(
+ LPCWSTR lpszDeviceName,
+ DWORD iModeNum,
+ LPDEVMODEW lpDevMode);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SystemParametersInfoA(
+ UINT uiAction,
+ UINT uiParam,
+ PVOID pvParam,
+ UINT fWinIni);
+__declspec(dllimport)
+BOOL
+__stdcall
+SystemParametersInfoW(
+ UINT uiAction,
+ UINT uiParam,
+ PVOID pvParam,
+ UINT fWinIni);
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagFILTERKEYS
+{
+ UINT cbSize;
+ DWORD dwFlags;
+ DWORD iWaitMSec;
+ DWORD iDelayMSec;
+ DWORD iRepeatMSec;
+ DWORD iBounceMSec;
+} FILTERKEYS, *LPFILTERKEYS;
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagSTICKYKEYS
+{
+ UINT cbSize;
+ DWORD dwFlags;
+} STICKYKEYS, *LPSTICKYKEYS;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagMOUSEKEYS
+{
+ UINT cbSize;
+ DWORD dwFlags;
+ DWORD iMaxSpeed;
+ DWORD iTimeToMaxSpeed;
+ DWORD iCtrlSpeed;
+ DWORD dwReserved1;
+ DWORD dwReserved2;
+} MOUSEKEYS, *LPMOUSEKEYS;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagACCESSTIMEOUT
+{
+ UINT cbSize;
+ DWORD dwFlags;
+ DWORD iTimeOutMSec;
+} ACCESSTIMEOUT, *LPACCESSTIMEOUT;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagSOUNDSENTRYA
+{
+ UINT cbSize;
+ DWORD dwFlags;
+ DWORD iFSTextEffect;
+ DWORD iFSTextEffectMSec;
+ DWORD iFSTextEffectColorBits;
+ DWORD iFSGrafEffect;
+ DWORD iFSGrafEffectMSec;
+ DWORD iFSGrafEffectColor;
+ DWORD iWindowsEffect;
+ DWORD iWindowsEffectMSec;
+ LPSTR lpszWindowsEffectDLL;
+ DWORD iWindowsEffectOrdinal;
+} SOUNDSENTRYA, *LPSOUNDSENTRYA;
+typedef struct tagSOUNDSENTRYW
+{
+ UINT cbSize;
+ DWORD dwFlags;
+ DWORD iFSTextEffect;
+ DWORD iFSTextEffectMSec;
+ DWORD iFSTextEffectColorBits;
+ DWORD iFSGrafEffect;
+ DWORD iFSGrafEffectMSec;
+ DWORD iFSGrafEffectColor;
+ DWORD iWindowsEffect;
+ DWORD iWindowsEffectMSec;
+ LPWSTR lpszWindowsEffectDLL;
+ DWORD iWindowsEffectOrdinal;
+} SOUNDSENTRYW, *LPSOUNDSENTRYW;
+
+
+
+
+typedef SOUNDSENTRYA SOUNDSENTRY;
+typedef LPSOUNDSENTRYA LPSOUNDSENTRY;
+
+
+
+
+
+
+
+
+
+typedef struct tagTOGGLEKEYS
+{
+ UINT cbSize;
+ DWORD dwFlags;
+} TOGGLEKEYS, *LPTOGGLEKEYS;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+void
+__stdcall
+SetDebugErrorLevel(
+ DWORD dwLevel
+ );
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+void
+__stdcall
+SetLastErrorEx(
+ DWORD dwErrCode,
+ DWORD dwType
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef DWORD LCTYPE;
+
+
+
+
+
+typedef DWORD CALTYPE;
+
+
+
+
+
+typedef DWORD CALID;
+
+
+
+
+
+
+typedef struct _cpinfo {
+ UINT MaxCharSize;
+ BYTE DefaultChar[2];
+ BYTE LeadByte[12];
+} CPINFO, *LPCPINFO;
+
+typedef struct _cpinfoexA {
+ UINT MaxCharSize;
+ BYTE DefaultChar[2];
+ BYTE LeadByte[12];
+ WCHAR UnicodeDefaultChar;
+ UINT CodePage;
+ CHAR CodePageName[260];
+} CPINFOEXA, *LPCPINFOEXA;
+typedef struct _cpinfoexW {
+ UINT MaxCharSize;
+ BYTE DefaultChar[2];
+ BYTE LeadByte[12];
+ WCHAR UnicodeDefaultChar;
+ UINT CodePage;
+ WCHAR CodePageName[260];
+} CPINFOEXW, *LPCPINFOEXW;
+
+
+
+
+typedef CPINFOEXA CPINFOEX;
+typedef LPCPINFOEXA LPCPINFOEX;
+
+
+
+
+
+
+
+typedef struct _numberfmtA {
+ UINT NumDigits;
+ UINT LeadingZero;
+ UINT Grouping;
+ LPSTR lpDecimalSep;
+ LPSTR lpThousandSep;
+ UINT NegativeOrder;
+} NUMBERFMTA, *LPNUMBERFMTA;
+typedef struct _numberfmtW {
+ UINT NumDigits;
+ UINT LeadingZero;
+ UINT Grouping;
+ LPWSTR lpDecimalSep;
+ LPWSTR lpThousandSep;
+ UINT NegativeOrder;
+} NUMBERFMTW, *LPNUMBERFMTW;
+
+
+
+
+typedef NUMBERFMTA NUMBERFMT;
+typedef LPNUMBERFMTA LPNUMBERFMT;
+
+
+
+
+
+
+
+typedef struct _currencyfmtA {
+ UINT NumDigits;
+ UINT LeadingZero;
+ UINT Grouping;
+ LPSTR lpDecimalSep;
+ LPSTR lpThousandSep;
+ UINT NegativeOrder;
+ UINT PositiveOrder;
+ LPSTR lpCurrencySymbol;
+} CURRENCYFMTA, *LPCURRENCYFMTA;
+typedef struct _currencyfmtW {
+ UINT NumDigits;
+ UINT LeadingZero;
+ UINT Grouping;
+ LPWSTR lpDecimalSep;
+ LPWSTR lpThousandSep;
+ UINT NegativeOrder;
+ UINT PositiveOrder;
+ LPWSTR lpCurrencySymbol;
+} CURRENCYFMTW, *LPCURRENCYFMTW;
+
+
+
+
+typedef CURRENCYFMTA CURRENCYFMT;
+typedef LPCURRENCYFMTA LPCURRENCYFMT;
+
+
+
+
+
+
+
+
+
+typedef BOOL (__stdcall* LOCALE_ENUMPROCA)(LPSTR);
+typedef BOOL (__stdcall* CODEPAGE_ENUMPROCA)(LPSTR);
+typedef BOOL (__stdcall* DATEFMT_ENUMPROCA)(LPSTR);
+typedef BOOL (__stdcall* DATEFMT_ENUMPROCEXA)(LPSTR, CALID);
+typedef BOOL (__stdcall* TIMEFMT_ENUMPROCA)(LPSTR);
+typedef BOOL (__stdcall* CALINFO_ENUMPROCA)(LPSTR);
+typedef BOOL (__stdcall* CALINFO_ENUMPROCEXA)(LPSTR, CALID);
+
+typedef BOOL (__stdcall* LOCALE_ENUMPROCW)(LPWSTR);
+typedef BOOL (__stdcall* CODEPAGE_ENUMPROCW)(LPWSTR);
+typedef BOOL (__stdcall* DATEFMT_ENUMPROCW)(LPWSTR);
+typedef BOOL (__stdcall* DATEFMT_ENUMPROCEXW)(LPWSTR, CALID);
+typedef BOOL (__stdcall* TIMEFMT_ENUMPROCW)(LPWSTR);
+typedef BOOL (__stdcall* CALINFO_ENUMPROCW)(LPWSTR);
+typedef BOOL (__stdcall* CALINFO_ENUMPROCEXW)(LPWSTR, CALID);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsValidCodePage(
+ UINT CodePage);
+
+__declspec(dllimport)
+UINT
+__stdcall
+GetACP(void);
+
+__declspec(dllimport)
+UINT
+__stdcall
+GetOEMCP(void);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetCPInfo(
+ UINT CodePage,
+ LPCPINFO lpCPInfo);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetCPInfoExA(
+ UINT CodePage,
+ DWORD dwFlags,
+ LPCPINFOEXA lpCPInfoEx);
+__declspec(dllimport)
+BOOL
+__stdcall
+GetCPInfoExW(
+ UINT CodePage,
+ DWORD dwFlags,
+ LPCPINFOEXW lpCPInfoEx);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsDBCSLeadByte(
+ BYTE TestChar);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsDBCSLeadByteEx(
+ UINT CodePage,
+ BYTE TestChar);
+
+__declspec(dllimport)
+int
+__stdcall
+MultiByteToWideChar(
+ UINT CodePage,
+ DWORD dwFlags,
+ LPCSTR lpMultiByteStr,
+ int cchMultiByte,
+ LPWSTR lpWideCharStr,
+ int cchWideChar);
+
+__declspec(dllimport)
+int
+__stdcall
+WideCharToMultiByte(
+ UINT CodePage,
+ DWORD dwFlags,
+ LPCWSTR lpWideCharStr,
+ int cchWideChar,
+ LPSTR lpMultiByteStr,
+ int cchMultiByte,
+ LPCSTR lpDefaultChar,
+ LPBOOL lpUsedDefaultChar);
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+CompareStringA(
+ LCID Locale,
+ DWORD dwCmpFlags,
+ LPCSTR lpString1,
+ int cchCount1,
+ LPCSTR lpString2,
+ int cchCount2);
+__declspec(dllimport)
+int
+__stdcall
+CompareStringW(
+ LCID Locale,
+ DWORD dwCmpFlags,
+ LPCWSTR lpString1,
+ int cchCount1,
+ LPCWSTR lpString2,
+ int cchCount2);
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+LCMapStringA(
+ LCID Locale,
+ DWORD dwMapFlags,
+ LPCSTR lpSrcStr,
+ int cchSrc,
+ LPSTR lpDestStr,
+ int cchDest);
+__declspec(dllimport)
+int
+__stdcall
+LCMapStringW(
+ LCID Locale,
+ DWORD dwMapFlags,
+ LPCWSTR lpSrcStr,
+ int cchSrc,
+ LPWSTR lpDestStr,
+ int cchDest);
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+GetLocaleInfoA(
+ LCID Locale,
+ LCTYPE LCType,
+ LPSTR lpLCData,
+ int cchData);
+__declspec(dllimport)
+int
+__stdcall
+GetLocaleInfoW(
+ LCID Locale,
+ LCTYPE LCType,
+ LPWSTR lpLCData,
+ int cchData);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetLocaleInfoA(
+ LCID Locale,
+ LCTYPE LCType,
+ LPCSTR lpLCData);
+__declspec(dllimport)
+BOOL
+__stdcall
+SetLocaleInfoW(
+ LCID Locale,
+ LCTYPE LCType,
+ LPCWSTR lpLCData);
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+GetTimeFormatA(
+ LCID Locale,
+ DWORD dwFlags,
+ const SYSTEMTIME *lpTime,
+ LPCSTR lpFormat,
+ LPSTR lpTimeStr,
+ int cchTime);
+__declspec(dllimport)
+int
+__stdcall
+GetTimeFormatW(
+ LCID Locale,
+ DWORD dwFlags,
+ const SYSTEMTIME *lpTime,
+ LPCWSTR lpFormat,
+ LPWSTR lpTimeStr,
+ int cchTime);
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+GetDateFormatA(
+ LCID Locale,
+ DWORD dwFlags,
+ const SYSTEMTIME *lpDate,
+ LPCSTR lpFormat,
+ LPSTR lpDateStr,
+ int cchDate);
+__declspec(dllimport)
+int
+__stdcall
+GetDateFormatW(
+ LCID Locale,
+ DWORD dwFlags,
+ const SYSTEMTIME *lpDate,
+ LPCWSTR lpFormat,
+ LPWSTR lpDateStr,
+ int cchDate);
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+GetNumberFormatA(
+ LCID Locale,
+ DWORD dwFlags,
+ LPCSTR lpValue,
+ const NUMBERFMTA *lpFormat,
+ LPSTR lpNumberStr,
+ int cchNumber);
+__declspec(dllimport)
+int
+__stdcall
+GetNumberFormatW(
+ LCID Locale,
+ DWORD dwFlags,
+ LPCWSTR lpValue,
+ const NUMBERFMTW *lpFormat,
+ LPWSTR lpNumberStr,
+ int cchNumber);
+
+
+
+
+
+
+__declspec(dllimport)
+int
+__stdcall
+GetCurrencyFormatA(
+ LCID Locale,
+ DWORD dwFlags,
+ LPCSTR lpValue,
+ const CURRENCYFMTA *lpFormat,
+ LPSTR lpCurrencyStr,
+ int cchCurrency);
+__declspec(dllimport)
+int
+__stdcall
+GetCurrencyFormatW(
+ LCID Locale,
+ DWORD dwFlags,
+ LPCWSTR lpValue,
+ const CURRENCYFMTW *lpFormat,
+ LPWSTR lpCurrencyStr,
+ int cchCurrency);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumCalendarInfoA(
+ CALINFO_ENUMPROCA lpCalInfoEnumProc,
+ LCID Locale,
+ CALID Calendar,
+ CALTYPE CalType);
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumCalendarInfoW(
+ CALINFO_ENUMPROCW lpCalInfoEnumProc,
+ LCID Locale,
+ CALID Calendar,
+ CALTYPE CalType);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumTimeFormatsA(
+ TIMEFMT_ENUMPROCA lpTimeFmtEnumProc,
+ LCID Locale,
+ DWORD dwFlags);
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumTimeFormatsW(
+ TIMEFMT_ENUMPROCW lpTimeFmtEnumProc,
+ LCID Locale,
+ DWORD dwFlags);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumDateFormatsA(
+ DATEFMT_ENUMPROCA lpDateFmtEnumProc,
+ LCID Locale,
+ DWORD dwFlags);
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumDateFormatsW(
+ DATEFMT_ENUMPROCW lpDateFmtEnumProc,
+ LCID Locale,
+ DWORD dwFlags);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+IsValidLocale(
+ LCID Locale,
+ DWORD dwFlags);
+
+__declspec(dllimport)
+LCID
+__stdcall
+ConvertDefaultLocale(
+ LCID Locale);
+
+__declspec(dllimport)
+LCID
+__stdcall
+GetThreadLocale(void);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetThreadLocale(
+ LCID Locale
+ );
+
+__declspec(dllimport)
+LANGID
+__stdcall
+GetSystemDefaultLangID(void);
+
+__declspec(dllimport)
+LANGID
+__stdcall
+GetUserDefaultLangID(void);
+
+__declspec(dllimport)
+LCID
+__stdcall
+GetSystemDefaultLCID(void);
+
+__declspec(dllimport)
+LCID
+__stdcall
+GetUserDefaultLCID(void);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetStringTypeExA(
+ LCID Locale,
+ DWORD dwInfoType,
+ LPCSTR lpSrcStr,
+ int cchSrc,
+ LPWORD lpCharType);
+__declspec(dllimport)
+BOOL
+__stdcall
+GetStringTypeExW(
+ LCID Locale,
+ DWORD dwInfoType,
+ LPCWSTR lpSrcStr,
+ int cchSrc,
+ LPWORD lpCharType);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetStringTypeA(
+ LCID Locale,
+ DWORD dwInfoType,
+ LPCSTR lpSrcStr,
+ int cchSrc,
+ LPWORD lpCharType);
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetStringTypeW(
+ DWORD dwInfoType,
+ LPCWSTR lpSrcStr,
+ int cchSrc,
+ LPWORD lpCharType);
+
+
+__declspec(dllimport)
+int
+__stdcall
+FoldStringA(
+ DWORD dwMapFlags,
+ LPCSTR lpSrcStr,
+ int cchSrc,
+ LPSTR lpDestStr,
+ int cchDest);
+__declspec(dllimport)
+int
+__stdcall
+FoldStringW(
+ DWORD dwMapFlags,
+ LPCWSTR lpSrcStr,
+ int cchSrc,
+ LPWSTR lpDestStr,
+ int cchDest);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumSystemLocalesA(
+ LOCALE_ENUMPROCA lpLocaleEnumProc,
+ DWORD dwFlags);
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumSystemLocalesW(
+ LOCALE_ENUMPROCW lpLocaleEnumProc,
+ DWORD dwFlags);
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumSystemCodePagesA(
+ CODEPAGE_ENUMPROCA lpCodePageEnumProc,
+ DWORD dwFlags);
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumSystemCodePagesW(
+ CODEPAGE_ENUMPROCW lpCodePageEnumProc,
+ DWORD dwFlags);
+
+
+
+
+
+
+
+
+
+
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+
+
+typedef struct _COORD {
+ SHORT X;
+ SHORT Y;
+} COORD, *PCOORD;
+
+typedef struct _SMALL_RECT {
+ SHORT Left;
+ SHORT Top;
+ SHORT Right;
+ SHORT Bottom;
+} SMALL_RECT, *PSMALL_RECT;
+
+typedef struct _KEY_EVENT_RECORD {
+ BOOL bKeyDown;
+ WORD wRepeatCount;
+ WORD wVirtualKeyCode;
+ WORD wVirtualScanCode;
+ union {
+ WCHAR UnicodeChar;
+ CHAR AsciiChar;
+ } uChar;
+ DWORD dwControlKeyState;
+} KEY_EVENT_RECORD, *PKEY_EVENT_RECORD;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _MOUSE_EVENT_RECORD {
+ COORD dwMousePosition;
+ DWORD dwButtonState;
+ DWORD dwControlKeyState;
+ DWORD dwEventFlags;
+} MOUSE_EVENT_RECORD, *PMOUSE_EVENT_RECORD;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _WINDOW_BUFFER_SIZE_RECORD {
+ COORD dwSize;
+} WINDOW_BUFFER_SIZE_RECORD, *PWINDOW_BUFFER_SIZE_RECORD;
+
+typedef struct _MENU_EVENT_RECORD {
+ UINT dwCommandId;
+} MENU_EVENT_RECORD, *PMENU_EVENT_RECORD;
+
+typedef struct _FOCUS_EVENT_RECORD {
+ BOOL bSetFocus;
+} FOCUS_EVENT_RECORD, *PFOCUS_EVENT_RECORD;
+
+typedef struct _INPUT_RECORD {
+ WORD EventType;
+ union {
+ KEY_EVENT_RECORD KeyEvent;
+ MOUSE_EVENT_RECORD MouseEvent;
+ WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent;
+ MENU_EVENT_RECORD MenuEvent;
+ FOCUS_EVENT_RECORD FocusEvent;
+ } Event;
+} INPUT_RECORD, *PINPUT_RECORD;
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _CHAR_INFO {
+ union {
+ WCHAR UnicodeChar;
+ CHAR AsciiChar;
+ } Char;
+ WORD Attributes;
+} CHAR_INFO, *PCHAR_INFO;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _CONSOLE_SCREEN_BUFFER_INFO {
+ COORD dwSize;
+ COORD dwCursorPosition;
+ WORD wAttributes;
+ SMALL_RECT srWindow;
+ COORD dwMaximumWindowSize;
+} CONSOLE_SCREEN_BUFFER_INFO, *PCONSOLE_SCREEN_BUFFER_INFO;
+
+typedef struct _CONSOLE_CURSOR_INFO {
+ DWORD dwSize;
+ BOOL bVisible;
+} CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO;
+
+
+
+
+
+typedef
+BOOL
+(__stdcall *PHANDLER_ROUTINE)(
+ DWORD CtrlType
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+PeekConsoleInputA(
+ HANDLE hConsoleInput,
+ PINPUT_RECORD lpBuffer,
+ DWORD nLength,
+ LPDWORD lpNumberOfEventsRead
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+PeekConsoleInputW(
+ HANDLE hConsoleInput,
+ PINPUT_RECORD lpBuffer,
+ DWORD nLength,
+ LPDWORD lpNumberOfEventsRead
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ReadConsoleInputA(
+ HANDLE hConsoleInput,
+ PINPUT_RECORD lpBuffer,
+ DWORD nLength,
+ LPDWORD lpNumberOfEventsRead
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+ReadConsoleInputW(
+ HANDLE hConsoleInput,
+ PINPUT_RECORD lpBuffer,
+ DWORD nLength,
+ LPDWORD lpNumberOfEventsRead
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+WriteConsoleInputA(
+ HANDLE hConsoleInput,
+ const INPUT_RECORD *lpBuffer,
+ DWORD nLength,
+ LPDWORD lpNumberOfEventsWritten
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+WriteConsoleInputW(
+ HANDLE hConsoleInput,
+ const INPUT_RECORD *lpBuffer,
+ DWORD nLength,
+ LPDWORD lpNumberOfEventsWritten
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ReadConsoleOutputA(
+ HANDLE hConsoleOutput,
+ PCHAR_INFO lpBuffer,
+ COORD dwBufferSize,
+ COORD dwBufferCoord,
+ PSMALL_RECT lpReadRegion
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+ReadConsoleOutputW(
+ HANDLE hConsoleOutput,
+ PCHAR_INFO lpBuffer,
+ COORD dwBufferSize,
+ COORD dwBufferCoord,
+ PSMALL_RECT lpReadRegion
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+WriteConsoleOutputA(
+ HANDLE hConsoleOutput,
+ const CHAR_INFO *lpBuffer,
+ COORD dwBufferSize,
+ COORD dwBufferCoord,
+ PSMALL_RECT lpWriteRegion
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+WriteConsoleOutputW(
+ HANDLE hConsoleOutput,
+ const CHAR_INFO *lpBuffer,
+ COORD dwBufferSize,
+ COORD dwBufferCoord,
+ PSMALL_RECT lpWriteRegion
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ReadConsoleOutputCharacterA(
+ HANDLE hConsoleOutput,
+ LPSTR lpCharacter,
+ DWORD nLength,
+ COORD dwReadCoord,
+ LPDWORD lpNumberOfCharsRead
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+ReadConsoleOutputCharacterW(
+ HANDLE hConsoleOutput,
+ LPWSTR lpCharacter,
+ DWORD nLength,
+ COORD dwReadCoord,
+ LPDWORD lpNumberOfCharsRead
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ReadConsoleOutputAttribute(
+ HANDLE hConsoleOutput,
+ LPWORD lpAttribute,
+ DWORD nLength,
+ COORD dwReadCoord,
+ LPDWORD lpNumberOfAttrsRead
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+WriteConsoleOutputCharacterA(
+ HANDLE hConsoleOutput,
+ LPCSTR lpCharacter,
+ DWORD nLength,
+ COORD dwWriteCoord,
+ LPDWORD lpNumberOfCharsWritten
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+WriteConsoleOutputCharacterW(
+ HANDLE hConsoleOutput,
+ LPCWSTR lpCharacter,
+ DWORD nLength,
+ COORD dwWriteCoord,
+ LPDWORD lpNumberOfCharsWritten
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+WriteConsoleOutputAttribute(
+ HANDLE hConsoleOutput,
+ const WORD *lpAttribute,
+ DWORD nLength,
+ COORD dwWriteCoord,
+ LPDWORD lpNumberOfAttrsWritten
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+FillConsoleOutputCharacterA(
+ HANDLE hConsoleOutput,
+ CHAR cCharacter,
+ DWORD nLength,
+ COORD dwWriteCoord,
+ LPDWORD lpNumberOfCharsWritten
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+FillConsoleOutputCharacterW(
+ HANDLE hConsoleOutput,
+ WCHAR cCharacter,
+ DWORD nLength,
+ COORD dwWriteCoord,
+ LPDWORD lpNumberOfCharsWritten
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+FillConsoleOutputAttribute(
+ HANDLE hConsoleOutput,
+ WORD wAttribute,
+ DWORD nLength,
+ COORD dwWriteCoord,
+ LPDWORD lpNumberOfAttrsWritten
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetConsoleMode(
+ HANDLE hConsoleHandle,
+ LPDWORD lpMode
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetNumberOfConsoleInputEvents(
+ HANDLE hConsoleInput,
+ LPDWORD lpNumberOfEvents
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetConsoleScreenBufferInfo(
+ HANDLE hConsoleOutput,
+ PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo
+ );
+
+__declspec(dllimport)
+COORD
+__stdcall
+GetLargestConsoleWindowSize(
+ HANDLE hConsoleOutput
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetConsoleCursorInfo(
+ HANDLE hConsoleOutput,
+ PCONSOLE_CURSOR_INFO lpConsoleCursorInfo
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetNumberOfConsoleMouseButtons(
+ LPDWORD lpNumberOfMouseButtons
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetConsoleMode(
+ HANDLE hConsoleHandle,
+ DWORD dwMode
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetConsoleActiveScreenBuffer(
+ HANDLE hConsoleOutput
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+FlushConsoleInputBuffer(
+ HANDLE hConsoleInput
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetConsoleScreenBufferSize(
+ HANDLE hConsoleOutput,
+ COORD dwSize
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetConsoleCursorPosition(
+ HANDLE hConsoleOutput,
+ COORD dwCursorPosition
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetConsoleCursorInfo(
+ HANDLE hConsoleOutput,
+ const CONSOLE_CURSOR_INFO *lpConsoleCursorInfo
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ScrollConsoleScreenBufferA(
+ HANDLE hConsoleOutput,
+ const SMALL_RECT *lpScrollRectangle,
+ const SMALL_RECT *lpClipRectangle,
+ COORD dwDestinationOrigin,
+ const CHAR_INFO *lpFill
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+ScrollConsoleScreenBufferW(
+ HANDLE hConsoleOutput,
+ const SMALL_RECT *lpScrollRectangle,
+ const SMALL_RECT *lpClipRectangle,
+ COORD dwDestinationOrigin,
+ const CHAR_INFO *lpFill
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetConsoleWindowInfo(
+ HANDLE hConsoleOutput,
+ BOOL bAbsolute,
+ const SMALL_RECT *lpConsoleWindow
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetConsoleTextAttribute(
+ HANDLE hConsoleOutput,
+ WORD wAttributes
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetConsoleCtrlHandler(
+ PHANDLER_ROUTINE HandlerRoutine,
+ BOOL Add
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GenerateConsoleCtrlEvent(
+ DWORD dwCtrlEvent,
+ DWORD dwProcessGroupId
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+AllocConsole( void );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+FreeConsole( void );
+
+
+__declspec(dllimport)
+DWORD
+__stdcall
+GetConsoleTitleA(
+ LPSTR lpConsoleTitle,
+ DWORD nSize
+ );
+__declspec(dllimport)
+DWORD
+__stdcall
+GetConsoleTitleW(
+ LPWSTR lpConsoleTitle,
+ DWORD nSize
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetConsoleTitleA(
+ LPCSTR lpConsoleTitle
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+SetConsoleTitleW(
+ LPCWSTR lpConsoleTitle
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ReadConsoleA(
+ HANDLE hConsoleInput,
+ LPVOID lpBuffer,
+ DWORD nNumberOfCharsToRead,
+ LPDWORD lpNumberOfCharsRead,
+ LPVOID lpReserved
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+ReadConsoleW(
+ HANDLE hConsoleInput,
+ LPVOID lpBuffer,
+ DWORD nNumberOfCharsToRead,
+ LPDWORD lpNumberOfCharsRead,
+ LPVOID lpReserved
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+WriteConsoleA(
+ HANDLE hConsoleOutput,
+ const void *lpBuffer,
+ DWORD nNumberOfCharsToWrite,
+ LPDWORD lpNumberOfCharsWritten,
+ LPVOID lpReserved
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+WriteConsoleW(
+ HANDLE hConsoleOutput,
+ const void *lpBuffer,
+ DWORD nNumberOfCharsToWrite,
+ LPDWORD lpNumberOfCharsWritten,
+ LPVOID lpReserved
+ );
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+HANDLE
+__stdcall
+CreateConsoleScreenBuffer(
+ DWORD dwDesiredAccess,
+ DWORD dwShareMode,
+ const SECURITY_ATTRIBUTES *lpSecurityAttributes,
+ DWORD dwFlags,
+ LPVOID lpScreenBufferData
+ );
+
+__declspec(dllimport)
+UINT
+__stdcall
+GetConsoleCP( void );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetConsoleCP(
+ UINT wCodePageID
+ );
+
+__declspec(dllimport)
+UINT
+__stdcall
+GetConsoleOutputCP( void );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetConsoleOutputCP(
+ UINT wCodePageID
+ );
+
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagVS_FIXEDFILEINFO
+{
+ DWORD dwSignature;
+ DWORD dwStrucVersion;
+ DWORD dwFileVersionMS;
+ DWORD dwFileVersionLS;
+ DWORD dwProductVersionMS;
+ DWORD dwProductVersionLS;
+ DWORD dwFileFlagsMask;
+ DWORD dwFileFlags;
+ DWORD dwFileOS;
+ DWORD dwFileType;
+ DWORD dwFileSubtype;
+ DWORD dwFileDateMS;
+ DWORD dwFileDateLS;
+} VS_FIXEDFILEINFO;
+
+
+
+DWORD
+__stdcall
+VerFindFileA(
+ DWORD uFlags,
+ LPSTR szFileName,
+ LPSTR szWinDir,
+ LPSTR szAppDir,
+ LPSTR szCurDir,
+ PUINT lpuCurDirLen,
+ LPSTR szDestDir,
+ PUINT lpuDestDirLen
+ );
+DWORD
+__stdcall
+VerFindFileW(
+ DWORD uFlags,
+ LPWSTR szFileName,
+ LPWSTR szWinDir,
+ LPWSTR szAppDir,
+ LPWSTR szCurDir,
+ PUINT lpuCurDirLen,
+ LPWSTR szDestDir,
+ PUINT lpuDestDirLen
+ );
+
+
+
+
+
+
+DWORD
+__stdcall
+VerInstallFileA(
+ DWORD uFlags,
+ LPSTR szSrcFileName,
+ LPSTR szDestFileName,
+ LPSTR szSrcDir,
+ LPSTR szDestDir,
+ LPSTR szCurDir,
+ LPSTR szTmpFile,
+ PUINT lpuTmpFileLen
+ );
+DWORD
+__stdcall
+VerInstallFileW(
+ DWORD uFlags,
+ LPWSTR szSrcFileName,
+ LPWSTR szDestFileName,
+ LPWSTR szSrcDir,
+ LPWSTR szDestDir,
+ LPWSTR szCurDir,
+ LPWSTR szTmpFile,
+ PUINT lpuTmpFileLen
+ );
+
+
+
+
+
+
+
+DWORD
+__stdcall
+GetFileVersionInfoSizeA(
+ LPSTR lptstrFilename,
+ LPDWORD lpdwHandle
+ );
+
+DWORD
+__stdcall
+GetFileVersionInfoSizeW(
+ LPWSTR lptstrFilename,
+ LPDWORD lpdwHandle
+ );
+
+
+
+
+
+
+
+BOOL
+__stdcall
+GetFileVersionInfoA(
+ LPSTR lptstrFilename,
+ DWORD dwHandle,
+ DWORD dwLen,
+ LPVOID lpData
+ );
+
+BOOL
+__stdcall
+GetFileVersionInfoW(
+ LPWSTR lptstrFilename,
+ DWORD dwHandle,
+ DWORD dwLen,
+ LPVOID lpData
+ );
+
+
+
+
+
+
+DWORD
+__stdcall
+VerLanguageNameA(
+ DWORD wLang,
+ LPSTR szLang,
+ DWORD nSize
+ );
+DWORD
+__stdcall
+VerLanguageNameW(
+ DWORD wLang,
+ LPWSTR szLang,
+ DWORD nSize
+ );
+
+
+
+
+
+
+BOOL
+__stdcall
+VerQueryValueA(
+ const LPVOID pBlock,
+ LPSTR lpSubBlock,
+ LPVOID * lplpBuffer,
+ PUINT puLen
+ );
+BOOL
+__stdcall
+VerQueryValueW(
+ const LPVOID pBlock,
+ LPWSTR lpSubBlock,
+ LPVOID * lplpBuffer,
+ PUINT puLen
+ );
+
+
+
+
+
+
+
+
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+
+
+
+
+
+
+
+
+
+
+typedef ACCESS_MASK REGSAM;
+
+
+
+
+
+struct HKEY__ { int unused; }; typedef struct HKEY__ *HKEY;
+typedef HKEY *PHKEY;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+struct val_context {
+ int valuelen;
+ LPVOID value_context;
+ LPVOID val_buff_ptr;
+};
+
+typedef struct val_context *PVALCONTEXT;
+
+typedef struct pvalueA {
+ LPSTR pv_valuename;
+ int pv_valuelen;
+ LPVOID pv_value_context;
+ DWORD pv_type;
+}PVALUEA, *PPVALUEA;
+typedef struct pvalueW {
+ LPWSTR pv_valuename;
+ int pv_valuelen;
+ LPVOID pv_value_context;
+ DWORD pv_type;
+}PVALUEW, *PPVALUEW;
+
+
+
+
+typedef PVALUEA PVALUE;
+typedef PPVALUEA PPVALUE;
+
+
+typedef
+DWORD _cdecl
+QUERYHANDLER (LPVOID keycontext, PVALCONTEXT val_list, DWORD num_vals,
+ LPVOID outputbuffer, DWORD *total_outlen, DWORD input_blen);
+
+typedef QUERYHANDLER *PQUERYHANDLER;
+
+typedef struct provider_info {
+ PQUERYHANDLER pi_R0_1val;
+ PQUERYHANDLER pi_R0_allvals;
+ PQUERYHANDLER pi_R3_1val;
+ PQUERYHANDLER pi_R3_allvals;
+ DWORD pi_flags;
+ LPVOID pi_key_context;
+}REG_PROVIDER;
+
+typedef struct provider_info *PPROVIDER;
+
+typedef struct value_entA {
+ LPSTR ve_valuename;
+ DWORD ve_valuelen;
+ DWORD ve_valueptr;
+ DWORD ve_type;
+}VALENTA, *PVALENTA;
+typedef struct value_entW {
+ LPWSTR ve_valuename;
+ DWORD ve_valuelen;
+ DWORD ve_valueptr;
+ DWORD ve_type;
+}VALENTW, *PVALENTW;
+
+
+
+
+typedef VALENTA VALENT;
+typedef PVALENTA PVALENT;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegCloseKey (
+ HKEY hKey
+ );
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegOverridePredefKey (
+ HKEY hKey,
+ HKEY hNewHKey
+ );
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegConnectRegistryA (
+ LPCSTR lpMachineName,
+ HKEY hKey,
+ PHKEY phkResult
+ );
+__declspec(dllimport)
+LONG
+__stdcall
+RegConnectRegistryW (
+ LPCWSTR lpMachineName,
+ HKEY hKey,
+ PHKEY phkResult
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegCreateKeyA (
+ HKEY hKey,
+ LPCSTR lpSubKey,
+ PHKEY phkResult
+ );
+__declspec(dllimport)
+LONG
+__stdcall
+RegCreateKeyW (
+ HKEY hKey,
+ LPCWSTR lpSubKey,
+ PHKEY phkResult
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegCreateKeyExA (
+ HKEY hKey,
+ LPCSTR lpSubKey,
+ DWORD Reserved,
+ LPSTR lpClass,
+ DWORD dwOptions,
+ REGSAM samDesired,
+ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
+ PHKEY phkResult,
+ LPDWORD lpdwDisposition
+ );
+__declspec(dllimport)
+LONG
+__stdcall
+RegCreateKeyExW (
+ HKEY hKey,
+ LPCWSTR lpSubKey,
+ DWORD Reserved,
+ LPWSTR lpClass,
+ DWORD dwOptions,
+ REGSAM samDesired,
+ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
+ PHKEY phkResult,
+ LPDWORD lpdwDisposition
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegDeleteKeyA (
+ HKEY hKey,
+ LPCSTR lpSubKey
+ );
+__declspec(dllimport)
+LONG
+__stdcall
+RegDeleteKeyW (
+ HKEY hKey,
+ LPCWSTR lpSubKey
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegDeleteValueA (
+ HKEY hKey,
+ LPCSTR lpValueName
+ );
+__declspec(dllimport)
+LONG
+__stdcall
+RegDeleteValueW (
+ HKEY hKey,
+ LPCWSTR lpValueName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegEnumKeyA (
+ HKEY hKey,
+ DWORD dwIndex,
+ LPSTR lpName,
+ DWORD cbName
+ );
+__declspec(dllimport)
+LONG
+__stdcall
+RegEnumKeyW (
+ HKEY hKey,
+ DWORD dwIndex,
+ LPWSTR lpName,
+ DWORD cbName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegEnumKeyExA (
+ HKEY hKey,
+ DWORD dwIndex,
+ LPSTR lpName,
+ LPDWORD lpcbName,
+ LPDWORD lpReserved,
+ LPSTR lpClass,
+ LPDWORD lpcbClass,
+ PFILETIME lpftLastWriteTime
+ );
+__declspec(dllimport)
+LONG
+__stdcall
+RegEnumKeyExW (
+ HKEY hKey,
+ DWORD dwIndex,
+ LPWSTR lpName,
+ LPDWORD lpcbName,
+ LPDWORD lpReserved,
+ LPWSTR lpClass,
+ LPDWORD lpcbClass,
+ PFILETIME lpftLastWriteTime
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegEnumValueA (
+ HKEY hKey,
+ DWORD dwIndex,
+ LPSTR lpValueName,
+ LPDWORD lpcbValueName,
+ LPDWORD lpReserved,
+ LPDWORD lpType,
+ LPBYTE lpData,
+ LPDWORD lpcbData
+ );
+__declspec(dllimport)
+LONG
+__stdcall
+RegEnumValueW (
+ HKEY hKey,
+ DWORD dwIndex,
+ LPWSTR lpValueName,
+ LPDWORD lpcbValueName,
+ LPDWORD lpReserved,
+ LPDWORD lpType,
+ LPBYTE lpData,
+ LPDWORD lpcbData
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegFlushKey (
+ HKEY hKey
+ );
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegGetKeySecurity (
+ HKEY hKey,
+ SECURITY_INFORMATION SecurityInformation,
+ PSECURITY_DESCRIPTOR pSecurityDescriptor,
+ LPDWORD lpcbSecurityDescriptor
+ );
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegLoadKeyA (
+ HKEY hKey,
+ LPCSTR lpSubKey,
+ LPCSTR lpFile
+ );
+__declspec(dllimport)
+LONG
+__stdcall
+RegLoadKeyW (
+ HKEY hKey,
+ LPCWSTR lpSubKey,
+ LPCWSTR lpFile
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegNotifyChangeKeyValue (
+ HKEY hKey,
+ BOOL bWatchSubtree,
+ DWORD dwNotifyFilter,
+ HANDLE hEvent,
+ BOOL fAsynchronus
+ );
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegOpenKeyA (
+ HKEY hKey,
+ LPCSTR lpSubKey,
+ PHKEY phkResult
+ );
+__declspec(dllimport)
+LONG
+__stdcall
+RegOpenKeyW (
+ HKEY hKey,
+ LPCWSTR lpSubKey,
+ PHKEY phkResult
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegOpenKeyExA (
+ HKEY hKey,
+ LPCSTR lpSubKey,
+ DWORD ulOptions,
+ REGSAM samDesired,
+ PHKEY phkResult
+ );
+__declspec(dllimport)
+LONG
+__stdcall
+RegOpenKeyExW (
+ HKEY hKey,
+ LPCWSTR lpSubKey,
+ DWORD ulOptions,
+ REGSAM samDesired,
+ PHKEY phkResult
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegQueryInfoKeyA (
+ HKEY hKey,
+ LPSTR lpClass,
+ LPDWORD lpcbClass,
+ LPDWORD lpReserved,
+ LPDWORD lpcSubKeys,
+ LPDWORD lpcbMaxSubKeyLen,
+ LPDWORD lpcbMaxClassLen,
+ LPDWORD lpcValues,
+ LPDWORD lpcbMaxValueNameLen,
+ LPDWORD lpcbMaxValueLen,
+ LPDWORD lpcbSecurityDescriptor,
+ PFILETIME lpftLastWriteTime
+ );
+__declspec(dllimport)
+LONG
+__stdcall
+RegQueryInfoKeyW (
+ HKEY hKey,
+ LPWSTR lpClass,
+ LPDWORD lpcbClass,
+ LPDWORD lpReserved,
+ LPDWORD lpcSubKeys,
+ LPDWORD lpcbMaxSubKeyLen,
+ LPDWORD lpcbMaxClassLen,
+ LPDWORD lpcValues,
+ LPDWORD lpcbMaxValueNameLen,
+ LPDWORD lpcbMaxValueLen,
+ LPDWORD lpcbSecurityDescriptor,
+ PFILETIME lpftLastWriteTime
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegQueryValueA (
+ HKEY hKey,
+ LPCSTR lpSubKey,
+ LPSTR lpValue,
+ PLONG lpcbValue
+ );
+__declspec(dllimport)
+LONG
+__stdcall
+RegQueryValueW (
+ HKEY hKey,
+ LPCWSTR lpSubKey,
+ LPWSTR lpValue,
+ PLONG lpcbValue
+ );
+
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegQueryMultipleValuesA (
+ HKEY hKey,
+ PVALENTA val_list,
+ DWORD num_vals,
+ LPSTR lpValueBuf,
+ LPDWORD ldwTotsize
+ );
+__declspec(dllimport)
+LONG
+__stdcall
+RegQueryMultipleValuesW (
+ HKEY hKey,
+ PVALENTW val_list,
+ DWORD num_vals,
+ LPWSTR lpValueBuf,
+ LPDWORD ldwTotsize
+ );
+
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegQueryValueExA (
+ HKEY hKey,
+ LPCSTR lpValueName,
+ LPDWORD lpReserved,
+ LPDWORD lpType,
+ LPBYTE lpData,
+ LPDWORD lpcbData
+ );
+__declspec(dllimport)
+LONG
+__stdcall
+RegQueryValueExW (
+ HKEY hKey,
+ LPCWSTR lpValueName,
+ LPDWORD lpReserved,
+ LPDWORD lpType,
+ LPBYTE lpData,
+ LPDWORD lpcbData
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegReplaceKeyA (
+ HKEY hKey,
+ LPCSTR lpSubKey,
+ LPCSTR lpNewFile,
+ LPCSTR lpOldFile
+ );
+__declspec(dllimport)
+LONG
+__stdcall
+RegReplaceKeyW (
+ HKEY hKey,
+ LPCWSTR lpSubKey,
+ LPCWSTR lpNewFile,
+ LPCWSTR lpOldFile
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegRestoreKeyA (
+ HKEY hKey,
+ LPCSTR lpFile,
+ DWORD dwFlags
+ );
+__declspec(dllimport)
+LONG
+__stdcall
+RegRestoreKeyW (
+ HKEY hKey,
+ LPCWSTR lpFile,
+ DWORD dwFlags
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegSaveKeyA (
+ HKEY hKey,
+ LPCSTR lpFile,
+ LPSECURITY_ATTRIBUTES lpSecurityAttributes
+ );
+__declspec(dllimport)
+LONG
+__stdcall
+RegSaveKeyW (
+ HKEY hKey,
+ LPCWSTR lpFile,
+ LPSECURITY_ATTRIBUTES lpSecurityAttributes
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegSetKeySecurity (
+ HKEY hKey,
+ SECURITY_INFORMATION SecurityInformation,
+ PSECURITY_DESCRIPTOR pSecurityDescriptor
+ );
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegSetValueA (
+ HKEY hKey,
+ LPCSTR lpSubKey,
+ DWORD dwType,
+ LPCSTR lpData,
+ DWORD cbData
+ );
+__declspec(dllimport)
+LONG
+__stdcall
+RegSetValueW (
+ HKEY hKey,
+ LPCWSTR lpSubKey,
+ DWORD dwType,
+ LPCWSTR lpData,
+ DWORD cbData
+ );
+
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegSetValueExA (
+ HKEY hKey,
+ LPCSTR lpValueName,
+ DWORD Reserved,
+ DWORD dwType,
+ const BYTE* lpData,
+ DWORD cbData
+ );
+__declspec(dllimport)
+LONG
+__stdcall
+RegSetValueExW (
+ HKEY hKey,
+ LPCWSTR lpValueName,
+ DWORD Reserved,
+ DWORD dwType,
+ const BYTE* lpData,
+ DWORD cbData
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+LONG
+__stdcall
+RegUnLoadKeyA (
+ HKEY hKey,
+ LPCSTR lpSubKey
+ );
+__declspec(dllimport)
+LONG
+__stdcall
+RegUnLoadKeyW (
+ HKEY hKey,
+ LPCWSTR lpSubKey
+ );
+
+
+
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+InitiateSystemShutdownA(
+ LPSTR lpMachineName,
+ LPSTR lpMessage,
+ DWORD dwTimeout,
+ BOOL bForceAppsClosed,
+ BOOL bRebootAfterShutdown
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+InitiateSystemShutdownW(
+ LPWSTR lpMachineName,
+ LPWSTR lpMessage,
+ DWORD dwTimeout,
+ BOOL bForceAppsClosed,
+ BOOL bRebootAfterShutdown
+ );
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+AbortSystemShutdownA(
+ LPSTR lpMachineName
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+AbortSystemShutdownW(
+ LPWSTR lpMachineName
+ );
+
+
+
+
+
+
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _NETRESOURCEA {
+ DWORD dwScope;
+ DWORD dwType;
+ DWORD dwDisplayType;
+ DWORD dwUsage;
+ LPSTR lpLocalName;
+ LPSTR lpRemoteName;
+ LPSTR lpComment ;
+ LPSTR lpProvider;
+}NETRESOURCEA, *LPNETRESOURCEA;
+typedef struct _NETRESOURCEW {
+ DWORD dwScope;
+ DWORD dwType;
+ DWORD dwDisplayType;
+ DWORD dwUsage;
+ LPWSTR lpLocalName;
+ LPWSTR lpRemoteName;
+ LPWSTR lpComment ;
+ LPWSTR lpProvider;
+}NETRESOURCEW, *LPNETRESOURCEW;
+
+
+
+
+typedef NETRESOURCEA NETRESOURCE;
+typedef LPNETRESOURCEA LPNETRESOURCE;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+DWORD __stdcall
+WNetAddConnectionA(
+ LPCSTR lpRemoteName,
+ LPCSTR lpPassword,
+ LPCSTR lpLocalName
+ );
+DWORD __stdcall
+WNetAddConnectionW(
+ LPCWSTR lpRemoteName,
+ LPCWSTR lpPassword,
+ LPCWSTR lpLocalName
+ );
+
+
+
+
+
+
+DWORD __stdcall
+WNetAddConnection2A(
+ LPNETRESOURCEA lpNetResource,
+ LPCSTR lpPassword,
+ LPCSTR lpUserName,
+ DWORD dwFlags
+ );
+DWORD __stdcall
+WNetAddConnection2W(
+ LPNETRESOURCEW lpNetResource,
+ LPCWSTR lpPassword,
+ LPCWSTR lpUserName,
+ DWORD dwFlags
+ );
+
+
+
+
+
+
+DWORD __stdcall
+WNetAddConnection3A(
+ HWND hwndOwner,
+ LPNETRESOURCEA lpNetResource,
+ LPCSTR lpPassword,
+ LPCSTR lpUserName,
+ DWORD dwFlags
+ );
+DWORD __stdcall
+WNetAddConnection3W(
+ HWND hwndOwner,
+ LPNETRESOURCEW lpNetResource,
+ LPCWSTR lpPassword,
+ LPCWSTR lpUserName,
+ DWORD dwFlags
+ );
+
+
+
+
+
+
+DWORD __stdcall
+WNetCancelConnectionA(
+ LPCSTR lpName,
+ BOOL fForce
+ );
+DWORD __stdcall
+WNetCancelConnectionW(
+ LPCWSTR lpName,
+ BOOL fForce
+ );
+
+
+
+
+
+
+DWORD __stdcall
+WNetCancelConnection2A(
+ LPCSTR lpName,
+ DWORD dwFlags,
+ BOOL fForce
+ );
+DWORD __stdcall
+WNetCancelConnection2W(
+ LPCWSTR lpName,
+ DWORD dwFlags,
+ BOOL fForce
+ );
+
+
+
+
+
+
+DWORD __stdcall
+WNetGetConnectionA(
+ LPCSTR lpLocalName,
+ LPSTR lpRemoteName,
+ LPDWORD lpnLength
+ );
+DWORD __stdcall
+WNetGetConnectionW(
+ LPCWSTR lpLocalName,
+ LPWSTR lpRemoteName,
+ LPDWORD lpnLength
+ );
+
+
+
+
+
+
+
+
+DWORD __stdcall
+WNetUseConnectionA(
+ HWND hwndOwner,
+ LPNETRESOURCEA lpNetResource,
+ LPCSTR lpUserID,
+ LPCSTR lpPassword,
+ DWORD dwFlags,
+ LPSTR lpAccessName,
+ LPDWORD lpBufferSize,
+ LPDWORD lpResult
+ );
+DWORD __stdcall
+WNetUseConnectionW(
+ HWND hwndOwner,
+ LPNETRESOURCEW lpNetResource,
+ LPCWSTR lpUserID,
+ LPCWSTR lpPassword,
+ DWORD dwFlags,
+ LPWSTR lpAccessName,
+ LPDWORD lpBufferSize,
+ LPDWORD lpResult
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+DWORD __stdcall
+WNetConnectionDialog(
+ HWND hwnd,
+ DWORD dwType
+ );
+
+DWORD __stdcall
+WNetDisconnectDialog(
+ HWND hwnd,
+ DWORD dwType
+ );
+
+
+typedef struct _CONNECTDLGSTRUCTA{
+ DWORD cbStructure;
+ HWND hwndOwner;
+ LPNETRESOURCEA lpConnRes;
+ DWORD dwFlags;
+ DWORD dwDevNum;
+} CONNECTDLGSTRUCTA, *LPCONNECTDLGSTRUCTA;
+typedef struct _CONNECTDLGSTRUCTW{
+ DWORD cbStructure;
+ HWND hwndOwner;
+ LPNETRESOURCEW lpConnRes;
+ DWORD dwFlags;
+ DWORD dwDevNum;
+} CONNECTDLGSTRUCTW, *LPCONNECTDLGSTRUCTW;
+
+
+
+
+typedef CONNECTDLGSTRUCTA CONNECTDLGSTRUCT;
+typedef LPCONNECTDLGSTRUCTA LPCONNECTDLGSTRUCT;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+DWORD __stdcall
+WNetConnectionDialog1A(
+ LPCONNECTDLGSTRUCTA lpConnDlgStruct
+ );
+DWORD __stdcall
+WNetConnectionDialog1W(
+ LPCONNECTDLGSTRUCTW lpConnDlgStruct
+ );
+
+
+
+
+
+
+typedef struct _DISCDLGSTRUCTA{
+ DWORD cbStructure;
+ HWND hwndOwner;
+ LPSTR lpLocalName;
+ LPSTR lpRemoteName;
+ DWORD dwFlags;
+} DISCDLGSTRUCTA, *LPDISCDLGSTRUCTA;
+typedef struct _DISCDLGSTRUCTW{
+ DWORD cbStructure;
+ HWND hwndOwner;
+ LPWSTR lpLocalName;
+ LPWSTR lpRemoteName;
+ DWORD dwFlags;
+} DISCDLGSTRUCTW, *LPDISCDLGSTRUCTW;
+
+
+
+
+typedef DISCDLGSTRUCTA DISCDLGSTRUCT;
+typedef LPDISCDLGSTRUCTA LPDISCDLGSTRUCT;
+
+
+
+
+
+DWORD __stdcall
+WNetDisconnectDialog1A(
+ LPDISCDLGSTRUCTA lpConnDlgStruct
+ );
+DWORD __stdcall
+WNetDisconnectDialog1W(
+ LPDISCDLGSTRUCTW lpConnDlgStruct
+ );
+
+
+
+
+
+
+
+
+
+
+
+DWORD __stdcall
+WNetOpenEnumA(
+ DWORD dwScope,
+ DWORD dwType,
+ DWORD dwUsage,
+ LPNETRESOURCEA lpNetResource,
+ LPHANDLE lphEnum
+ );
+DWORD __stdcall
+WNetOpenEnumW(
+ DWORD dwScope,
+ DWORD dwType,
+ DWORD dwUsage,
+ LPNETRESOURCEW lpNetResource,
+ LPHANDLE lphEnum
+ );
+
+
+
+
+
+
+DWORD __stdcall
+WNetEnumResourceA(
+ HANDLE hEnum,
+ LPDWORD lpcCount,
+ LPVOID lpBuffer,
+ LPDWORD lpBufferSize
+ );
+DWORD __stdcall
+WNetEnumResourceW(
+ HANDLE hEnum,
+ LPDWORD lpcCount,
+ LPVOID lpBuffer,
+ LPDWORD lpBufferSize
+ );
+
+
+
+
+
+
+DWORD __stdcall
+WNetCloseEnum(
+ HANDLE hEnum
+ );
+
+
+
+
+
+
+
+
+
+typedef struct _UNIVERSAL_NAME_INFOA {
+ LPSTR lpUniversalName;
+}UNIVERSAL_NAME_INFOA, *LPUNIVERSAL_NAME_INFOA;
+typedef struct _UNIVERSAL_NAME_INFOW {
+ LPWSTR lpUniversalName;
+}UNIVERSAL_NAME_INFOW, *LPUNIVERSAL_NAME_INFOW;
+
+
+
+
+typedef UNIVERSAL_NAME_INFOA UNIVERSAL_NAME_INFO;
+typedef LPUNIVERSAL_NAME_INFOA LPUNIVERSAL_NAME_INFO;
+
+
+typedef struct _REMOTE_NAME_INFOA {
+ LPSTR lpUniversalName;
+ LPSTR lpConnectionName;
+ LPSTR lpRemainingPath;
+}REMOTE_NAME_INFOA, *LPREMOTE_NAME_INFOA;
+typedef struct _REMOTE_NAME_INFOW {
+ LPWSTR lpUniversalName;
+ LPWSTR lpConnectionName;
+ LPWSTR lpRemainingPath;
+}REMOTE_NAME_INFOW, *LPREMOTE_NAME_INFOW;
+
+
+
+
+typedef REMOTE_NAME_INFOA REMOTE_NAME_INFO;
+typedef LPREMOTE_NAME_INFOA LPREMOTE_NAME_INFO;
+
+
+DWORD __stdcall
+WNetGetUniversalNameA(
+ LPCSTR lpLocalPath,
+ DWORD dwInfoLevel,
+ LPVOID lpBuffer,
+ LPDWORD lpBufferSize
+ );
+DWORD __stdcall
+WNetGetUniversalNameW(
+ LPCWSTR lpLocalPath,
+ DWORD dwInfoLevel,
+ LPVOID lpBuffer,
+ LPDWORD lpBufferSize
+ );
+
+
+
+
+
+
+
+
+
+
+DWORD __stdcall
+WNetGetUserA(
+ LPCSTR lpName,
+ LPSTR lpUserName,
+ LPDWORD lpnLength
+ );
+DWORD __stdcall
+WNetGetUserW(
+ LPCWSTR lpName,
+ LPWSTR lpUserName,
+ LPDWORD lpnLength
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+DWORD __stdcall
+WNetGetProviderNameA(
+ DWORD dwNetType,
+ LPSTR lpProviderName,
+ LPDWORD lpBufferSize
+ );
+DWORD __stdcall
+WNetGetProviderNameW(
+ DWORD dwNetType,
+ LPWSTR lpProviderName,
+ LPDWORD lpBufferSize
+ );
+
+
+
+
+
+
+typedef struct _NETINFOSTRUCT{
+ DWORD cbStructure;
+ DWORD dwProviderVersion;
+ DWORD dwStatus;
+ DWORD dwCharacteristics;
+ DWORD dwHandle;
+ WORD wNetType;
+ DWORD dwPrinters;
+ DWORD dwDrives;
+} NETINFOSTRUCT, *LPNETINFOSTRUCT;
+
+
+
+
+
+DWORD __stdcall
+WNetGetNetworkInformationA(
+ LPCSTR lpProvider,
+ LPNETINFOSTRUCT lpNetInfoStruct
+ );
+DWORD __stdcall
+WNetGetNetworkInformationW(
+ LPCWSTR lpProvider,
+ LPNETINFOSTRUCT lpNetInfoStruct
+ );
+
+
+
+
+
+
+
+
+
+
+typedef UINT ( __stdcall *PFNGETPROFILEPATHA) (
+ LPCSTR pszUsername,
+ LPSTR pszBuffer,
+ UINT cbBuffer
+ );
+typedef UINT ( __stdcall *PFNGETPROFILEPATHW) (
+ LPCWSTR pszUsername,
+ LPWSTR pszBuffer,
+ UINT cbBuffer
+ );
+
+
+
+
+
+
+typedef UINT ( __stdcall *PFNRECONCILEPROFILEA) (
+ LPCSTR pszCentralFile,
+ LPCSTR pszLocalFile,
+ DWORD dwFlags
+ );
+typedef UINT ( __stdcall *PFNRECONCILEPROFILEW) (
+ LPCWSTR pszCentralFile,
+ LPCWSTR pszLocalFile,
+ DWORD dwFlags
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef BOOL ( __stdcall *PFNPROCESSPOLICIESA) (
+ HWND hwnd,
+ LPCSTR pszPath,
+ LPCSTR pszUsername,
+ LPCSTR pszComputerName,
+ DWORD dwFlags
+ );
+typedef BOOL ( __stdcall *PFNPROCESSPOLICIESW) (
+ HWND hwnd,
+ LPCWSTR pszPath,
+ LPCWSTR pszUsername,
+ LPCWSTR pszComputerName,
+ DWORD dwFlags
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+DWORD __stdcall
+WNetGetLastErrorA(
+ LPDWORD lpError,
+ LPSTR lpErrorBuf,
+ DWORD nErrorBufSize,
+ LPSTR lpNameBuf,
+ DWORD nNameBufSize
+ );
+DWORD __stdcall
+WNetGetLastErrorW(
+ LPDWORD lpError,
+ LPWSTR lpErrorBuf,
+ DWORD nErrorBufSize,
+ LPWSTR lpNameBuf,
+ DWORD nNameBufSize
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _NETCONNECTINFOSTRUCT{
+ DWORD cbStructure;
+ DWORD dwFlags;
+ DWORD dwSpeed;
+ DWORD dwDelay;
+ DWORD dwOptDataSize;
+} NETCONNECTINFOSTRUCT, *LPNETCONNECTINFOSTRUCT;
+
+
+
+
+
+
+DWORD __stdcall
+MultinetGetConnectionPerformanceA(
+ LPNETRESOURCEA lpNetResource,
+ LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct
+ );
+DWORD __stdcall
+MultinetGetConnectionPerformanceW(
+ LPNETRESOURCEW lpNetResource,
+ LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct
+ );
+
+
+
+
+
+
+
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _SERVICE_DESCRIPTIONA {
+ LPSTR lpDescription;
+} SERVICE_DESCRIPTIONA, *LPSERVICE_DESCRIPTIONA;
+
+
+
+typedef struct _SERVICE_DESCRIPTIONW {
+ LPWSTR lpDescription;
+} SERVICE_DESCRIPTIONW, *LPSERVICE_DESCRIPTIONW;
+
+
+
+
+typedef SERVICE_DESCRIPTIONA SERVICE_DESCRIPTION;
+typedef LPSERVICE_DESCRIPTIONA LPSERVICE_DESCRIPTION;
+
+
+
+
+
+typedef enum _SC_ACTION_TYPE {
+ SC_ACTION_NONE = 0,
+ SC_ACTION_RESTART = 1,
+ SC_ACTION_REBOOT = 2,
+ SC_ACTION_RUN_COMMAND = 3
+} SC_ACTION_TYPE;
+
+typedef struct _SC_ACTION {
+ SC_ACTION_TYPE Type;
+ DWORD Delay;
+} SC_ACTION, *LPSC_ACTION;
+
+typedef struct _SERVICE_FAILURE_ACTIONSA {
+ DWORD dwResetPeriod;
+ LPSTR lpRebootMsg;
+ LPSTR lpCommand;
+ DWORD cActions;
+
+
+
+ SC_ACTION * lpsaActions;
+} SERVICE_FAILURE_ACTIONSA, *LPSERVICE_FAILURE_ACTIONSA;
+typedef struct _SERVICE_FAILURE_ACTIONSW {
+ DWORD dwResetPeriod;
+ LPWSTR lpRebootMsg;
+ LPWSTR lpCommand;
+ DWORD cActions;
+
+
+
+ SC_ACTION * lpsaActions;
+} SERVICE_FAILURE_ACTIONSW, *LPSERVICE_FAILURE_ACTIONSW;
+
+
+
+
+typedef SERVICE_FAILURE_ACTIONSA SERVICE_FAILURE_ACTIONS;
+typedef LPSERVICE_FAILURE_ACTIONSA LPSERVICE_FAILURE_ACTIONS;
+
+
+
+
+
+
+
+typedef HANDLE SC_HANDLE;
+typedef SC_HANDLE *LPSC_HANDLE;
+
+typedef DWORD SERVICE_STATUS_HANDLE;
+
+
+
+
+
+typedef struct _SERVICE_STATUS {
+ DWORD dwServiceType;
+ DWORD dwCurrentState;
+ DWORD dwControlsAccepted;
+ DWORD dwWin32ExitCode;
+ DWORD dwServiceSpecificExitCode;
+ DWORD dwCheckPoint;
+ DWORD dwWaitHint;
+} SERVICE_STATUS, *LPSERVICE_STATUS;
+
+
+
+
+
+
+
+typedef struct _ENUM_SERVICE_STATUSA {
+ LPSTR lpServiceName;
+ LPSTR lpDisplayName;
+ SERVICE_STATUS ServiceStatus;
+} ENUM_SERVICE_STATUSA, *LPENUM_SERVICE_STATUSA;
+typedef struct _ENUM_SERVICE_STATUSW {
+ LPWSTR lpServiceName;
+ LPWSTR lpDisplayName;
+ SERVICE_STATUS ServiceStatus;
+} ENUM_SERVICE_STATUSW, *LPENUM_SERVICE_STATUSW;
+
+
+
+
+typedef ENUM_SERVICE_STATUSA ENUM_SERVICE_STATUS;
+typedef LPENUM_SERVICE_STATUSA LPENUM_SERVICE_STATUS;
+
+
+
+
+
+
+
+typedef LPVOID SC_LOCK;
+
+typedef struct _QUERY_SERVICE_LOCK_STATUSA {
+ DWORD fIsLocked;
+ LPSTR lpLockOwner;
+ DWORD dwLockDuration;
+} QUERY_SERVICE_LOCK_STATUSA, *LPQUERY_SERVICE_LOCK_STATUSA;
+typedef struct _QUERY_SERVICE_LOCK_STATUSW {
+ DWORD fIsLocked;
+ LPWSTR lpLockOwner;
+ DWORD dwLockDuration;
+} QUERY_SERVICE_LOCK_STATUSW, *LPQUERY_SERVICE_LOCK_STATUSW;
+
+
+
+
+typedef QUERY_SERVICE_LOCK_STATUSA QUERY_SERVICE_LOCK_STATUS;
+typedef LPQUERY_SERVICE_LOCK_STATUSA LPQUERY_SERVICE_LOCK_STATUS;
+
+
+
+
+
+
+
+
+typedef struct _QUERY_SERVICE_CONFIGA {
+ DWORD dwServiceType;
+ DWORD dwStartType;
+ DWORD dwErrorControl;
+ LPSTR lpBinaryPathName;
+ LPSTR lpLoadOrderGroup;
+ DWORD dwTagId;
+ LPSTR lpDependencies;
+ LPSTR lpServiceStartName;
+ LPSTR lpDisplayName;
+} QUERY_SERVICE_CONFIGA, *LPQUERY_SERVICE_CONFIGA;
+typedef struct _QUERY_SERVICE_CONFIGW {
+ DWORD dwServiceType;
+ DWORD dwStartType;
+ DWORD dwErrorControl;
+ LPWSTR lpBinaryPathName;
+ LPWSTR lpLoadOrderGroup;
+ DWORD dwTagId;
+ LPWSTR lpDependencies;
+ LPWSTR lpServiceStartName;
+ LPWSTR lpDisplayName;
+} QUERY_SERVICE_CONFIGW, *LPQUERY_SERVICE_CONFIGW;
+
+
+
+
+typedef QUERY_SERVICE_CONFIGA QUERY_SERVICE_CONFIG;
+typedef LPQUERY_SERVICE_CONFIGA LPQUERY_SERVICE_CONFIG;
+
+
+
+
+
+
+
+
+typedef void (__stdcall *LPSERVICE_MAIN_FUNCTIONW)(
+ DWORD dwNumServicesArgs,
+ LPWSTR *lpServiceArgVectors
+ );
+
+typedef void (__stdcall *LPSERVICE_MAIN_FUNCTIONA)(
+ DWORD dwNumServicesArgs,
+ LPSTR *lpServiceArgVectors
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _SERVICE_TABLE_ENTRYA {
+ LPSTR lpServiceName;
+ LPSERVICE_MAIN_FUNCTIONA lpServiceProc;
+}SERVICE_TABLE_ENTRYA, *LPSERVICE_TABLE_ENTRYA;
+typedef struct _SERVICE_TABLE_ENTRYW {
+ LPWSTR lpServiceName;
+ LPSERVICE_MAIN_FUNCTIONW lpServiceProc;
+}SERVICE_TABLE_ENTRYW, *LPSERVICE_TABLE_ENTRYW;
+
+
+
+
+typedef SERVICE_TABLE_ENTRYA SERVICE_TABLE_ENTRY;
+typedef LPSERVICE_TABLE_ENTRYA LPSERVICE_TABLE_ENTRY;
+
+
+
+
+
+
+typedef void (__stdcall *LPHANDLER_FUNCTION)(
+ DWORD dwControl
+ );
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ChangeServiceConfigA(
+ SC_HANDLE hService,
+ DWORD dwServiceType,
+ DWORD dwStartType,
+ DWORD dwErrorControl,
+ LPCSTR lpBinaryPathName,
+ LPCSTR lpLoadOrderGroup,
+ LPDWORD lpdwTagId,
+ LPCSTR lpDependencies,
+ LPCSTR lpServiceStartName,
+ LPCSTR lpPassword,
+ LPCSTR lpDisplayName
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+ChangeServiceConfigW(
+ SC_HANDLE hService,
+ DWORD dwServiceType,
+ DWORD dwStartType,
+ DWORD dwErrorControl,
+ LPCWSTR lpBinaryPathName,
+ LPCWSTR lpLoadOrderGroup,
+ LPDWORD lpdwTagId,
+ LPCWSTR lpDependencies,
+ LPCWSTR lpServiceStartName,
+ LPCWSTR lpPassword,
+ LPCWSTR lpDisplayName
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ChangeServiceConfig2A(
+ SC_HANDLE hService,
+ DWORD dwInfoLevel,
+ LPVOID lpInfo
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+ChangeServiceConfig2W(
+ SC_HANDLE hService,
+ DWORD dwInfoLevel,
+ LPVOID lpInfo
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+CloseServiceHandle(
+ SC_HANDLE hSCObject
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+ControlService(
+ SC_HANDLE hService,
+ DWORD dwControl,
+ LPSERVICE_STATUS lpServiceStatus
+ );
+
+__declspec(dllimport)
+SC_HANDLE
+__stdcall
+CreateServiceA(
+ SC_HANDLE hSCManager,
+ LPCSTR lpServiceName,
+ LPCSTR lpDisplayName,
+ DWORD dwDesiredAccess,
+ DWORD dwServiceType,
+ DWORD dwStartType,
+ DWORD dwErrorControl,
+ LPCSTR lpBinaryPathName,
+ LPCSTR lpLoadOrderGroup,
+ LPDWORD lpdwTagId,
+ LPCSTR lpDependencies,
+ LPCSTR lpServiceStartName,
+ LPCSTR lpPassword
+ );
+__declspec(dllimport)
+SC_HANDLE
+__stdcall
+CreateServiceW(
+ SC_HANDLE hSCManager,
+ LPCWSTR lpServiceName,
+ LPCWSTR lpDisplayName,
+ DWORD dwDesiredAccess,
+ DWORD dwServiceType,
+ DWORD dwStartType,
+ DWORD dwErrorControl,
+ LPCWSTR lpBinaryPathName,
+ LPCWSTR lpLoadOrderGroup,
+ LPDWORD lpdwTagId,
+ LPCWSTR lpDependencies,
+ LPCWSTR lpServiceStartName,
+ LPCWSTR lpPassword
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+DeleteService(
+ SC_HANDLE hService
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumDependentServicesA(
+ SC_HANDLE hService,
+ DWORD dwServiceState,
+ LPENUM_SERVICE_STATUSA lpServices,
+ DWORD cbBufSize,
+ LPDWORD pcbBytesNeeded,
+ LPDWORD lpServicesReturned
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumDependentServicesW(
+ SC_HANDLE hService,
+ DWORD dwServiceState,
+ LPENUM_SERVICE_STATUSW lpServices,
+ DWORD cbBufSize,
+ LPDWORD pcbBytesNeeded,
+ LPDWORD lpServicesReturned
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumServicesStatusA(
+ SC_HANDLE hSCManager,
+ DWORD dwServiceType,
+ DWORD dwServiceState,
+ LPENUM_SERVICE_STATUSA lpServices,
+ DWORD cbBufSize,
+ LPDWORD pcbBytesNeeded,
+ LPDWORD lpServicesReturned,
+ LPDWORD lpResumeHandle
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+EnumServicesStatusW(
+ SC_HANDLE hSCManager,
+ DWORD dwServiceType,
+ DWORD dwServiceState,
+ LPENUM_SERVICE_STATUSW lpServices,
+ DWORD cbBufSize,
+ LPDWORD pcbBytesNeeded,
+ LPDWORD lpServicesReturned,
+ LPDWORD lpResumeHandle
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetServiceKeyNameA(
+ SC_HANDLE hSCManager,
+ LPCSTR lpDisplayName,
+ LPSTR lpServiceName,
+ LPDWORD lpcchBuffer
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+GetServiceKeyNameW(
+ SC_HANDLE hSCManager,
+ LPCWSTR lpDisplayName,
+ LPWSTR lpServiceName,
+ LPDWORD lpcchBuffer
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+GetServiceDisplayNameA(
+ SC_HANDLE hSCManager,
+ LPCSTR lpServiceName,
+ LPSTR lpDisplayName,
+ LPDWORD lpcchBuffer
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+GetServiceDisplayNameW(
+ SC_HANDLE hSCManager,
+ LPCWSTR lpServiceName,
+ LPWSTR lpDisplayName,
+ LPDWORD lpcchBuffer
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+SC_LOCK
+__stdcall
+LockServiceDatabase(
+ SC_HANDLE hSCManager
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+NotifyBootConfigStatus(
+ BOOL BootAcceptable
+ );
+
+__declspec(dllimport)
+SC_HANDLE
+__stdcall
+OpenSCManagerA(
+ LPCSTR lpMachineName,
+ LPCSTR lpDatabaseName,
+ DWORD dwDesiredAccess
+ );
+__declspec(dllimport)
+SC_HANDLE
+__stdcall
+OpenSCManagerW(
+ LPCWSTR lpMachineName,
+ LPCWSTR lpDatabaseName,
+ DWORD dwDesiredAccess
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+SC_HANDLE
+__stdcall
+OpenServiceA(
+ SC_HANDLE hSCManager,
+ LPCSTR lpServiceName,
+ DWORD dwDesiredAccess
+ );
+__declspec(dllimport)
+SC_HANDLE
+__stdcall
+OpenServiceW(
+ SC_HANDLE hSCManager,
+ LPCWSTR lpServiceName,
+ DWORD dwDesiredAccess
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+QueryServiceConfigA(
+ SC_HANDLE hService,
+ LPQUERY_SERVICE_CONFIGA lpServiceConfig,
+ DWORD cbBufSize,
+ LPDWORD pcbBytesNeeded
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+QueryServiceConfigW(
+ SC_HANDLE hService,
+ LPQUERY_SERVICE_CONFIGW lpServiceConfig,
+ DWORD cbBufSize,
+ LPDWORD pcbBytesNeeded
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+QueryServiceConfig2A(
+ SC_HANDLE hService,
+ DWORD dwInfoLevel,
+ LPBYTE lpBuffer,
+ DWORD cbBufSize,
+ LPDWORD pcbBytesNeeded
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+QueryServiceConfig2W(
+ SC_HANDLE hService,
+ DWORD dwInfoLevel,
+ LPBYTE lpBuffer,
+ DWORD cbBufSize,
+ LPDWORD pcbBytesNeeded
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+QueryServiceLockStatusA(
+ SC_HANDLE hSCManager,
+ LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus,
+ DWORD cbBufSize,
+ LPDWORD pcbBytesNeeded
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+QueryServiceLockStatusW(
+ SC_HANDLE hSCManager,
+ LPQUERY_SERVICE_LOCK_STATUSW lpLockStatus,
+ DWORD cbBufSize,
+ LPDWORD pcbBytesNeeded
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+QueryServiceObjectSecurity(
+ SC_HANDLE hService,
+ SECURITY_INFORMATION dwSecurityInformation,
+ PSECURITY_DESCRIPTOR lpSecurityDescriptor,
+ DWORD cbBufSize,
+ LPDWORD pcbBytesNeeded
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+QueryServiceStatus(
+ SC_HANDLE hService,
+ LPSERVICE_STATUS lpServiceStatus
+ );
+
+__declspec(dllimport)
+SERVICE_STATUS_HANDLE
+__stdcall
+RegisterServiceCtrlHandlerA(
+ LPCSTR lpServiceName,
+ LPHANDLER_FUNCTION lpHandlerProc
+ );
+__declspec(dllimport)
+SERVICE_STATUS_HANDLE
+__stdcall
+RegisterServiceCtrlHandlerW(
+ LPCWSTR lpServiceName,
+ LPHANDLER_FUNCTION lpHandlerProc
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetServiceObjectSecurity(
+ SC_HANDLE hService,
+ SECURITY_INFORMATION dwSecurityInformation,
+ PSECURITY_DESCRIPTOR lpSecurityDescriptor
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+SetServiceStatus(
+ SERVICE_STATUS_HANDLE hServiceStatus,
+ LPSERVICE_STATUS lpServiceStatus
+ );
+
+__declspec(dllimport)
+BOOL
+__stdcall
+StartServiceCtrlDispatcherA(
+ const SERVICE_TABLE_ENTRYA *lpServiceStartTable
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+StartServiceCtrlDispatcherW(
+ const SERVICE_TABLE_ENTRYW *lpServiceStartTable
+ );
+
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+StartServiceA(
+ SC_HANDLE hService,
+ DWORD dwNumServiceArgs,
+ LPCSTR *lpServiceArgVectors
+ );
+__declspec(dllimport)
+BOOL
+__stdcall
+StartServiceW(
+ SC_HANDLE hService,
+ DWORD dwNumServiceArgs,
+ LPCWSTR *lpServiceArgVectors
+ );
+
+
+
+
+
+
+__declspec(dllimport)
+BOOL
+__stdcall
+UnlockServiceDatabase(
+ SC_LOCK ScLock
+ );
+
+
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _MODEMDEVCAPS {
+ DWORD dwActualSize;
+ DWORD dwRequiredSize;
+ DWORD dwDevSpecificOffset;
+ DWORD dwDevSpecificSize;
+
+
+ DWORD dwModemProviderVersion;
+ DWORD dwModemManufacturerOffset;
+ DWORD dwModemManufacturerSize;
+ DWORD dwModemModelOffset;
+ DWORD dwModemModelSize;
+ DWORD dwModemVersionOffset;
+ DWORD dwModemVersionSize;
+
+
+ DWORD dwDialOptions;
+ DWORD dwCallSetupFailTimer;
+ DWORD dwInactivityTimeout;
+ DWORD dwSpeakerVolume;
+ DWORD dwSpeakerMode;
+ DWORD dwModemOptions;
+ DWORD dwMaxDTERate;
+ DWORD dwMaxDCERate;
+
+
+ BYTE abVariablePortion [1];
+} MODEMDEVCAPS, *PMODEMDEVCAPS, *LPMODEMDEVCAPS;
+
+typedef struct _MODEMSETTINGS {
+ DWORD dwActualSize;
+ DWORD dwRequiredSize;
+ DWORD dwDevSpecificOffset;
+ DWORD dwDevSpecificSize;
+
+
+ DWORD dwCallSetupFailTimer;
+ DWORD dwInactivityTimeout;
+ DWORD dwSpeakerVolume;
+ DWORD dwSpeakerMode;
+ DWORD dwPreferredModemOptions;
+
+
+ DWORD dwNegotiatedModemOptions;
+ DWORD dwNegotiatedDCERate;
+
+
+ BYTE abVariablePortion [1];
+} MODEMSETTINGS, *PMODEMSETTINGS, *LPMODEMSETTINGS;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+
+
+
+
+
+
+typedef DWORD HIMC;
+typedef DWORD HIMCC;
+
+
+typedef HKL *LPHKL;
+typedef UINT *LPUINT;
+
+
+typedef struct tagCOMPOSITIONFORM {
+ DWORD dwStyle;
+ POINT ptCurrentPos;
+ RECT rcArea;
+} COMPOSITIONFORM, *PCOMPOSITIONFORM, *NPCOMPOSITIONFORM, *LPCOMPOSITIONFORM;
+
+
+typedef struct tagCANDIDATEFORM {
+ DWORD dwIndex;
+ DWORD dwStyle;
+ POINT ptCurrentPos;
+ RECT rcArea;
+} CANDIDATEFORM, *PCANDIDATEFORM, *NPCANDIDATEFORM, *LPCANDIDATEFORM;
+
+
+typedef struct tagCANDIDATELIST {
+ DWORD dwSize;
+ DWORD dwStyle;
+ DWORD dwCount;
+ DWORD dwSelection;
+ DWORD dwPageStart;
+ DWORD dwPageSize;
+ DWORD dwOffset[1];
+} CANDIDATELIST, *PCANDIDATELIST, *NPCANDIDATELIST, *LPCANDIDATELIST;
+
+typedef struct tagREGISTERWORDA {
+ LPSTR lpReading;
+ LPSTR lpWord;
+} REGISTERWORDA, *PREGISTERWORDA, *NPREGISTERWORDA, *LPREGISTERWORDA;
+typedef struct tagREGISTERWORDW {
+ LPWSTR lpReading;
+ LPWSTR lpWord;
+} REGISTERWORDW, *PREGISTERWORDW, *NPREGISTERWORDW, *LPREGISTERWORDW;
+
+
+
+
+
+
+typedef REGISTERWORDA REGISTERWORD;
+typedef PREGISTERWORDA PREGISTERWORD;
+typedef NPREGISTERWORDA NPREGISTERWORD;
+typedef LPREGISTERWORDA LPREGISTERWORD;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct tagSTYLEBUFA {
+ DWORD dwStyle;
+ CHAR szDescription[32];
+} STYLEBUFA, *PSTYLEBUFA, *NPSTYLEBUFA, *LPSTYLEBUFA;
+typedef struct tagSTYLEBUFW {
+ DWORD dwStyle;
+ WCHAR szDescription[32];
+} STYLEBUFW, *PSTYLEBUFW, *NPSTYLEBUFW, *LPSTYLEBUFW;
+
+
+
+
+
+
+typedef STYLEBUFA STYLEBUF;
+typedef PSTYLEBUFA PSTYLEBUF;
+typedef NPSTYLEBUFA NPSTYLEBUF;
+typedef LPSTYLEBUFA LPSTYLEBUF;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+HKL __stdcall ImmInstallIMEA(LPCSTR lpszIMEFileName, LPCSTR lpszLayoutText);
+HKL __stdcall ImmInstallIMEW(LPCWSTR lpszIMEFileName, LPCWSTR lpszLayoutText);
+
+
+
+
+
+
+HWND __stdcall ImmGetDefaultIMEWnd(HWND);
+
+UINT __stdcall ImmGetDescriptionA(HKL, LPSTR, UINT uBufLen);
+UINT __stdcall ImmGetDescriptionW(HKL, LPWSTR, UINT uBufLen);
+
+
+
+
+
+
+UINT __stdcall ImmGetIMEFileNameA(HKL, LPSTR, UINT uBufLen);
+UINT __stdcall ImmGetIMEFileNameW(HKL, LPWSTR, UINT uBufLen);
+
+
+
+
+
+
+DWORD __stdcall ImmGetProperty(HKL, DWORD);
+
+
+BOOL __stdcall ImmIsIME(HKL);
+BOOL __stdcall ImmSimulateHotKey(HWND, DWORD);
+
+HIMC __stdcall ImmCreateContext(void);
+BOOL __stdcall ImmDestroyContext(HIMC);
+HIMC __stdcall ImmGetContext(HWND);
+BOOL __stdcall ImmReleaseContext(HWND, HIMC);
+HIMC __stdcall ImmAssociateContext(HWND, HIMC);
+
+
+
+
+LONG __stdcall ImmGetCompositionStringA(HIMC, DWORD, LPVOID, DWORD);
+LONG __stdcall ImmGetCompositionStringW(HIMC, DWORD, LPVOID, DWORD);
+
+
+
+
+
+
+BOOL __stdcall ImmSetCompositionStringA(HIMC, DWORD dwIndex, LPCVOID lpComp, DWORD, LPCVOID lpRead, DWORD);
+BOOL __stdcall ImmSetCompositionStringW(HIMC, DWORD dwIndex, LPCVOID lpComp, DWORD, LPCVOID lpRead, DWORD);
+
+
+
+
+
+
+DWORD __stdcall ImmGetCandidateListCountA(HIMC, LPDWORD lpdwListCount);
+DWORD __stdcall ImmGetCandidateListCountW(HIMC, LPDWORD lpdwListCount);
+
+
+
+
+
+
+DWORD __stdcall ImmGetCandidateListA(HIMC, DWORD deIndex, LPCANDIDATELIST, DWORD dwBufLen);
+DWORD __stdcall ImmGetCandidateListW(HIMC, DWORD deIndex, LPCANDIDATELIST, DWORD dwBufLen);
+
+
+
+
+
+
+DWORD __stdcall ImmGetGuideLineA(HIMC, DWORD dwIndex, LPSTR, DWORD dwBufLen);
+DWORD __stdcall ImmGetGuideLineW(HIMC, DWORD dwIndex, LPWSTR, DWORD dwBufLen);
+
+
+
+
+
+
+BOOL __stdcall ImmGetConversionStatus(HIMC, LPDWORD, LPDWORD);
+BOOL __stdcall ImmSetConversionStatus(HIMC, DWORD, DWORD);
+BOOL __stdcall ImmGetOpenStatus(HIMC);
+BOOL __stdcall ImmSetOpenStatus(HIMC, BOOL);
+
+
+
+BOOL __stdcall ImmGetCompositionFontA(HIMC, LPLOGFONTA);
+BOOL __stdcall ImmGetCompositionFontW(HIMC, LPLOGFONTW);
+
+
+
+
+
+
+BOOL __stdcall ImmSetCompositionFontA(HIMC, LPLOGFONTA);
+BOOL __stdcall ImmSetCompositionFontW(HIMC, LPLOGFONTW);
+
+
+
+
+
+
+
+
+BOOL __stdcall ImmConfigureIMEA(HKL, HWND, DWORD, LPVOID);
+BOOL __stdcall ImmConfigureIMEW(HKL, HWND, DWORD, LPVOID);
+
+
+
+
+
+
+LRESULT __stdcall ImmEscapeA(HKL, HIMC, UINT, LPVOID);
+LRESULT __stdcall ImmEscapeW(HKL, HIMC, UINT, LPVOID);
+
+
+
+
+
+
+DWORD __stdcall ImmGetConversionListA(HKL, HIMC, LPCSTR, LPCANDIDATELIST, DWORD dwBufLen, UINT uFlag);
+DWORD __stdcall ImmGetConversionListW(HKL, HIMC, LPCWSTR, LPCANDIDATELIST, DWORD dwBufLen, UINT uFlag);
+
+
+
+
+
+
+BOOL __stdcall ImmNotifyIME(HIMC, DWORD dwAction, DWORD dwIndex, DWORD dwValue);
+
+
+BOOL __stdcall ImmGetStatusWindowPos(HIMC, LPPOINT);
+BOOL __stdcall ImmSetStatusWindowPos(HIMC, LPPOINT);
+BOOL __stdcall ImmGetCompositionWindow(HIMC, LPCOMPOSITIONFORM);
+BOOL __stdcall ImmSetCompositionWindow(HIMC, LPCOMPOSITIONFORM);
+BOOL __stdcall ImmGetCandidateWindow(HIMC, DWORD, LPCANDIDATEFORM);
+BOOL __stdcall ImmSetCandidateWindow(HIMC, LPCANDIDATEFORM);
+
+BOOL __stdcall ImmIsUIMessageA(HWND, UINT, WPARAM, LPARAM);
+BOOL __stdcall ImmIsUIMessageW(HWND, UINT, WPARAM, LPARAM);
+
+
+
+
+
+
+
+UINT __stdcall ImmGetVirtualKey(HWND);
+
+typedef int (__stdcall *REGISTERWORDENUMPROCA)(LPCSTR, DWORD, LPCSTR, LPVOID);
+typedef int (__stdcall *REGISTERWORDENUMPROCW)(LPCWSTR, DWORD, LPCWSTR, LPVOID);
+
+
+
+
+
+
+BOOL __stdcall ImmRegisterWordA(HKL, LPCSTR lpszReading, DWORD, LPCSTR lpszRegister);
+BOOL __stdcall ImmRegisterWordW(HKL, LPCWSTR lpszReading, DWORD, LPCWSTR lpszRegister);
+
+
+
+
+
+
+BOOL __stdcall ImmUnregisterWordA(HKL, LPCSTR lpszReading, DWORD, LPCSTR lpszUnregister);
+BOOL __stdcall ImmUnregisterWordW(HKL, LPCWSTR lpszReading, DWORD, LPCWSTR lpszUnregister);
+
+
+
+
+
+
+UINT __stdcall ImmGetRegisterWordStyleA(HKL, UINT nItem, LPSTYLEBUFA);
+UINT __stdcall ImmGetRegisterWordStyleW(HKL, UINT nItem, LPSTYLEBUFW);
+
+
+
+
+
+
+UINT __stdcall ImmEnumRegisterWordA(HKL, REGISTERWORDENUMPROCA, LPCSTR lpszReading, DWORD, LPCSTR lpszRegister, LPVOID);
+UINT __stdcall ImmEnumRegisterWordW(HKL, REGISTERWORDENUMPROCW, LPCWSTR lpszReading, DWORD, LPCWSTR lpszRegister, LPVOID);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma warning(default:4001)
+#pragma warning(default:4201)
+#pragma warning(default:4214)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+namespace sf {
+ namespace application {
+ namespace scene {
+
+
+
+ class __declspec(novtable) Fade
+ {
+ public:
+ enum TYPE {
+ FADE_IN,
+ FADE_OUT
+ };
+
+ Fade(){};
+ virtual ~Fade(){};
+
+
+
+ virtual void speed(const float value) = 0;
+ virtual const float speed() = 0;
+
+ virtual const Fade::TYPE fadeType() = 0;
+ virtual void fadeType(const Fade::TYPE value) = 0;
+
+ virtual const system::console::COLOR startColor(void) = 0;
+ virtual void startColor(const system::console::COLOR value ) = 0;
+
+ virtual const system::console::COLOR endColor(void) = 0;
+ virtual void endColor(const system::console::COLOR value) = 0;
+
+ virtual const bool fadeVolumeFlag() = 0;
+ virtual void fadeVolumeFlag(const bool value) = 0;
+
+
+
+ virtual void initialize() = 0;
+
+ };
+ }
+ }
+}
+
+
+
+
+
+
+
+
+Fade::Fade()
+{
+
+}
+
+Fade::~Fade()
+{
+
+}
--- /dev/null
+#pragma warning( disable : 4786 )
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+
+
+extern "C" {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef unsigned int size_t;
+
+
+
+
+
+typedef unsigned short wchar_t;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef int (__cdecl * _onexit_t)(void);
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _div_t {
+ int quot;
+ int rem;
+} div_t;
+
+typedef struct _ldiv_t {
+ long quot;
+ long rem;
+} ldiv_t;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ extern int __mb_cur_max;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ int * __cdecl _errno(void);
+ unsigned long * __cdecl __doserrno(void);
+
+
+
+
+
+
+
+
+
+
+
+
+
+ extern char * _sys_errlist[];
+ extern int _sys_nerr;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ extern int __argc;
+ extern char ** __argv;
+
+ extern wchar_t ** __wargv;
+
+
+
+
+
+ extern char ** _environ;
+
+ extern wchar_t ** _wenviron;
+
+
+
+ extern char * _pgmptr;
+
+ extern wchar_t * _wpgmptr;
+
+
+
+
+
+ extern int _fmode;
+ extern int _fileinfo;
+
+
+
+
+ extern unsigned int _osver;
+ extern unsigned int _winver;
+ extern unsigned int _winmajor;
+ extern unsigned int _winminor;
+
+
+
+
+
+ __declspec(noreturn) void __cdecl abort(void);
+ __declspec(noreturn) void __cdecl exit(int);
+
+
+
+
+
+
+
+
+ int __cdecl abs(int);
+
+ int __cdecl atexit(void (__cdecl *)(void));
+ double __cdecl atof(const char *);
+ int __cdecl atoi(const char *);
+ long __cdecl atol(const char *);
+
+
+
+ void * __cdecl bsearch(const void *, const void *, size_t, size_t,
+ int (__cdecl *)(const void *, const void *));
+ void * __cdecl calloc(size_t, size_t);
+ div_t __cdecl div(int, int);
+ void __cdecl free(void *);
+ char * __cdecl getenv(const char *);
+ char * __cdecl _itoa(int, char *, int);
+
+ char * __cdecl _i64toa(__int64, char *, int);
+ char * __cdecl _ui64toa(unsigned __int64, char *, int);
+ __int64 __cdecl _atoi64(const char *);
+
+
+
+
+ long __cdecl labs(long);
+
+ ldiv_t __cdecl ldiv(long, long);
+ char * __cdecl _ltoa(long, char *, int);
+ void * __cdecl malloc(size_t);
+ int __cdecl mblen(const char *, size_t);
+ size_t __cdecl _mbstrlen(const char *s);
+ int __cdecl mbtowc(wchar_t *, const char *, size_t);
+ size_t __cdecl mbstowcs(wchar_t *, const char *, size_t);
+ void __cdecl qsort(void *, size_t, size_t, int (__cdecl *)
+ (const void *, const void *));
+ int __cdecl rand(void);
+ void * __cdecl realloc(void *, size_t);
+ int __cdecl _set_error_mode(int);
+ void __cdecl srand(unsigned int);
+ double __cdecl strtod(const char *, char **);
+ long __cdecl strtol(const char *, char **, int);
+
+
+
+ unsigned long __cdecl strtoul(const char *, char **, int);
+
+ int __cdecl system(const char *);
+
+ char * __cdecl _ultoa(unsigned long, char *, int);
+ int __cdecl wctomb(char *, wchar_t);
+ size_t __cdecl wcstombs(char *, const wchar_t *, size_t);
+
+
+
+
+
+
+
+ wchar_t * __cdecl _itow (int, wchar_t *, int);
+ wchar_t * __cdecl _ltow (long, wchar_t *, int);
+ wchar_t * __cdecl _ultow (unsigned long, wchar_t *, int);
+ double __cdecl wcstod(const wchar_t *, wchar_t **);
+ long __cdecl wcstol(const wchar_t *, wchar_t **, int);
+ unsigned long __cdecl wcstoul(const wchar_t *, wchar_t **, int);
+ wchar_t * __cdecl _wgetenv(const wchar_t *);
+ int __cdecl _wsystem(const wchar_t *);
+ int __cdecl _wtoi(const wchar_t *);
+ long __cdecl _wtol(const wchar_t *);
+
+ wchar_t * __cdecl _i64tow(__int64, wchar_t *, int);
+ wchar_t * __cdecl _ui64tow(unsigned __int64, wchar_t *, int);
+ __int64 __cdecl _wtoi64(const wchar_t *);
+
+
+
+
+
+
+
+
+
+ char * __cdecl _ecvt(double, int, int *, int *);
+
+ __declspec(noreturn) void __cdecl _exit(int);
+
+
+
+ char * __cdecl _fcvt(double, int, int *, int *);
+ char * __cdecl _fullpath(char *, const char *, size_t);
+ char * __cdecl _gcvt(double, int, char *);
+ unsigned long __cdecl _lrotl(unsigned long, int);
+ unsigned long __cdecl _lrotr(unsigned long, int);
+
+ void __cdecl _makepath(char *, const char *, const char *, const char *,
+ const char *);
+
+ _onexit_t __cdecl _onexit(_onexit_t);
+ void __cdecl perror(const char *);
+ int __cdecl _putenv(const char *);
+ unsigned int __cdecl _rotl(unsigned int, int);
+ unsigned int __cdecl _rotr(unsigned int, int);
+ void __cdecl _searchenv(const char *, const char *, char *);
+
+ void __cdecl _splitpath(const char *, char *, char *, char *, char *);
+
+ void __cdecl _swab(char *, char *, int);
+
+
+
+
+
+
+ wchar_t * __cdecl _wfullpath(wchar_t *, const wchar_t *, size_t);
+ void __cdecl _wmakepath(wchar_t *, const wchar_t *, const wchar_t *, const wchar_t *,
+ const wchar_t *);
+ void __cdecl _wperror(const wchar_t *);
+ int __cdecl _wputenv(const wchar_t *);
+ void __cdecl _wsearchenv(const wchar_t *, const wchar_t *, wchar_t *);
+ void __cdecl _wsplitpath(const wchar_t *, wchar_t *, wchar_t *, wchar_t *, wchar_t *);
+
+
+
+
+
+
+
+
+ void __cdecl _seterrormode(int);
+ void __cdecl _beep(unsigned, unsigned);
+ void __cdecl _sleep(unsigned long);
+
+
+
+
+
+
+
+
+
+
+
+ int __cdecl tolower(int);
+
+
+ int __cdecl toupper(int);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ char * __cdecl ecvt(double, int, int *, int *);
+ char * __cdecl fcvt(double, int, int *, int *);
+ char * __cdecl gcvt(double, int, char *);
+ char * __cdecl itoa(int, char *, int);
+ char * __cdecl ltoa(long, char *, int);
+ _onexit_t __cdecl onexit(_onexit_t);
+ int __cdecl putenv(const char *);
+ void __cdecl swab(char *, char *, int);
+ char * __cdecl ultoa(unsigned long, char *, int);
+
+
+
+
+
+
+}
+
+
+
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef void *_HFILE;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef int (__cdecl * _CRT_REPORT_HOOK)(int, char *, int *);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef int (__cdecl * _CRT_ALLOC_HOOK)(int, void *, size_t, int, long, const unsigned char *, int);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef void (__cdecl * _CRT_DUMP_CLIENT)(void *, size_t);
+
+typedef struct _CrtMemState
+{
+ struct _CrtMemBlockHeader * pBlockHeader;
+ unsigned long lCounts[5];
+ unsigned long lSizes[5];
+ unsigned long lHighWaterCount;
+ unsigned long lTotalCount;
+} _CrtMemState;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ extern long _crtAssertBusy;
+
+ _CRT_REPORT_HOOK __cdecl _CrtSetReportHook(
+ _CRT_REPORT_HOOK
+ );
+
+ int __cdecl _CrtSetReportMode(
+ int,
+ int
+ );
+
+ _HFILE __cdecl _CrtSetReportFile(
+ int,
+ _HFILE
+ );
+
+ int __cdecl _CrtDbgReport(
+ int,
+ const char *,
+ int,
+ const char *,
+ const char *,
+ ...);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ extern long _crtBreakAlloc;
+
+ long __cdecl _CrtSetBreakAlloc(
+ long
+ );
+
+
+
+
+
+ void * __cdecl _malloc_dbg(
+ size_t,
+ int,
+ const char *,
+ int
+ );
+
+ void * __cdecl _calloc_dbg(
+ size_t,
+ size_t,
+ int,
+ const char *,
+ int
+ );
+
+ void * __cdecl _realloc_dbg(
+ void *,
+ size_t,
+ int,
+ const char *,
+ int
+ );
+
+ void * __cdecl _expand_dbg(
+ void *,
+ size_t,
+ int,
+ const char *,
+ int
+ );
+
+ void __cdecl _free_dbg(
+ void *,
+ int
+ );
+
+ size_t __cdecl _msize_dbg (
+ void *,
+ int
+ );
+
+
+
+
+
+
+
+
+ _CRT_ALLOC_HOOK __cdecl _CrtSetAllocHook(
+ _CRT_ALLOC_HOOK
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+ extern int _crtDbgFlag;
+
+ int __cdecl _CrtCheckMemory(
+ void
+ );
+
+ int __cdecl _CrtSetDbgFlag(
+ int
+ );
+
+ void __cdecl _CrtDoForAllClientObjects(
+ void (*pfn)(void *, void *),
+ void *
+ );
+
+ int __cdecl _CrtIsValidPointer(
+ const void *,
+ unsigned int,
+ int
+ );
+
+ int __cdecl _CrtIsValidHeapPointer(
+ const void *
+ );
+
+ int __cdecl _CrtIsMemoryBlock(
+ const void *,
+ unsigned int,
+ long *,
+ char **,
+ int *
+ );
+
+
+
+
+
+
+
+
+ _CRT_DUMP_CLIENT __cdecl _CrtSetDumpClient(
+ _CRT_DUMP_CLIENT
+ );
+
+ void __cdecl _CrtMemCheckpoint(
+ _CrtMemState *
+ );
+
+ int __cdecl _CrtMemDifference(
+ _CrtMemState *,
+ const _CrtMemState *,
+ const _CrtMemState *
+ );
+
+ void __cdecl _CrtMemDumpAllObjectsSince(
+ const _CrtMemState *
+ );
+
+ void __cdecl _CrtMemDumpStatistics(
+ const _CrtMemState *
+ );
+
+ int __cdecl _CrtDumpMemoryLeaks(
+ void
+ );
+
+
+
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ void * __cdecl operator new(
+ unsigned int,
+ int,
+ const char *,
+ int
+ );
+
+
+
+inline void __cdecl operator delete(void * _P, int, const char *, int)
+ { ::operator delete(_P); }
+
+
+
+
+inline void* __cdecl operator new(unsigned int s)
+ { return ::operator new(s, 1, "c:\\progra~1\\micros~1\\vc98\\include\\crtdbg.h", 552); };
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+
+
+extern "C" {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef wchar_t wint_t;
+typedef wchar_t wctype_t;
+
+
+
+
+
+
+
+
+
+
+
+
+typedef char * va_list;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+struct _iobuf {
+ char *_ptr;
+ int _cnt;
+ char *_base;
+ int _flag;
+ int _file;
+ int _charbuf;
+ int _bufsiz;
+ char *_tmpfname;
+ };
+typedef struct _iobuf FILE;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ extern FILE _iob[];
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef __int64 fpos_t;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ int __cdecl _filbuf(FILE *);
+ int __cdecl _flsbuf(int, FILE *);
+
+
+
+
+ FILE * __cdecl _fsopen(const char *, const char *, int);
+
+
+ void __cdecl clearerr(FILE *);
+ int __cdecl fclose(FILE *);
+ int __cdecl _fcloseall(void);
+
+
+
+
+ FILE * __cdecl _fdopen(int, const char *);
+
+
+ int __cdecl feof(FILE *);
+ int __cdecl ferror(FILE *);
+ int __cdecl fflush(FILE *);
+ int __cdecl fgetc(FILE *);
+ int __cdecl _fgetchar(void);
+ int __cdecl fgetpos(FILE *, fpos_t *);
+ char * __cdecl fgets(char *, int, FILE *);
+
+
+
+
+ int __cdecl _fileno(FILE *);
+
+
+ int __cdecl _flushall(void);
+ FILE * __cdecl fopen(const char *, const char *);
+ int __cdecl fprintf(FILE *, const char *, ...);
+ int __cdecl fputc(int, FILE *);
+ int __cdecl _fputchar(int);
+ int __cdecl fputs(const char *, FILE *);
+ size_t __cdecl fread(void *, size_t, size_t, FILE *);
+ FILE * __cdecl freopen(const char *, const char *, FILE *);
+ int __cdecl fscanf(FILE *, const char *, ...);
+ int __cdecl fsetpos(FILE *, const fpos_t *);
+ int __cdecl fseek(FILE *, long, int);
+ long __cdecl ftell(FILE *);
+ size_t __cdecl fwrite(const void *, size_t, size_t, FILE *);
+ int __cdecl getc(FILE *);
+ int __cdecl getchar(void);
+ int __cdecl _getmaxstdio(void);
+ char * __cdecl gets(char *);
+ int __cdecl _getw(FILE *);
+ void __cdecl perror(const char *);
+ int __cdecl _pclose(FILE *);
+ FILE * __cdecl _popen(const char *, const char *);
+ int __cdecl printf(const char *, ...);
+ int __cdecl putc(int, FILE *);
+ int __cdecl putchar(int);
+ int __cdecl puts(const char *);
+ int __cdecl _putw(int, FILE *);
+ int __cdecl remove(const char *);
+ int __cdecl rename(const char *, const char *);
+ void __cdecl rewind(FILE *);
+ int __cdecl _rmtmp(void);
+ int __cdecl scanf(const char *, ...);
+ void __cdecl setbuf(FILE *, char *);
+ int __cdecl _setmaxstdio(int);
+ int __cdecl setvbuf(FILE *, char *, int, size_t);
+ int __cdecl _snprintf(char *, size_t, const char *, ...);
+ int __cdecl sprintf(char *, const char *, ...);
+ int __cdecl sscanf(const char *, const char *, ...);
+ char * __cdecl _tempnam(const char *, const char *);
+ FILE * __cdecl tmpfile(void);
+ char * __cdecl tmpnam(char *);
+ int __cdecl ungetc(int, FILE *);
+ int __cdecl _unlink(const char *);
+ int __cdecl vfprintf(FILE *, const char *, va_list);
+ int __cdecl vprintf(const char *, va_list);
+ int __cdecl _vsnprintf(char *, size_t, const char *, va_list);
+ int __cdecl vsprintf(char *, const char *, va_list);
+
+
+
+
+
+
+
+
+
+
+
+
+
+ FILE * __cdecl _wfsopen(const wchar_t *, const wchar_t *, int);
+
+
+ wint_t __cdecl fgetwc(FILE *);
+ wint_t __cdecl _fgetwchar(void);
+ wint_t __cdecl fputwc(wint_t, FILE *);
+ wint_t __cdecl _fputwchar(wint_t);
+ wint_t __cdecl getwc(FILE *);
+ wint_t __cdecl getwchar(void);
+ wint_t __cdecl putwc(wint_t, FILE *);
+ wint_t __cdecl putwchar(wint_t);
+ wint_t __cdecl ungetwc(wint_t, FILE *);
+
+ wchar_t * __cdecl fgetws(wchar_t *, int, FILE *);
+ int __cdecl fputws(const wchar_t *, FILE *);
+ wchar_t * __cdecl _getws(wchar_t *);
+ int __cdecl _putws(const wchar_t *);
+
+ int __cdecl fwprintf(FILE *, const wchar_t *, ...);
+ int __cdecl wprintf(const wchar_t *, ...);
+ int __cdecl _snwprintf(wchar_t *, size_t, const wchar_t *, ...);
+ int __cdecl swprintf(wchar_t *, const wchar_t *, ...);
+ int __cdecl vfwprintf(FILE *, const wchar_t *, va_list);
+ int __cdecl vwprintf(const wchar_t *, va_list);
+ int __cdecl _vsnwprintf(wchar_t *, size_t, const wchar_t *, va_list);
+ int __cdecl vswprintf(wchar_t *, const wchar_t *, va_list);
+ int __cdecl fwscanf(FILE *, const wchar_t *, ...);
+ int __cdecl swscanf(const wchar_t *, const wchar_t *, ...);
+ int __cdecl wscanf(const wchar_t *, ...);
+
+
+
+
+
+
+ FILE * __cdecl _wfdopen(int, const wchar_t *);
+ FILE * __cdecl _wfopen(const wchar_t *, const wchar_t *);
+ FILE * __cdecl _wfreopen(const wchar_t *, const wchar_t *, FILE *);
+ void __cdecl _wperror(const wchar_t *);
+ FILE * __cdecl _wpopen(const wchar_t *, const wchar_t *);
+ int __cdecl _wremove(const wchar_t *);
+ wchar_t * __cdecl _wtempnam(const wchar_t *, const wchar_t *);
+ wchar_t * __cdecl _wtmpnam(wchar_t *);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ int __cdecl fcloseall(void);
+ FILE * __cdecl fdopen(int, const char *);
+ int __cdecl fgetchar(void);
+ int __cdecl fileno(FILE *);
+ int __cdecl flushall(void);
+ int __cdecl fputchar(int);
+ int __cdecl getw(FILE *);
+ int __cdecl putw(int, FILE *);
+ int __cdecl rmtmp(void);
+ char * __cdecl tempnam(const char *, const char *);
+ int __cdecl unlink(const char *);
+
+
+
+
+}
+
+
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ void * __cdecl memcpy(void *, const void *, size_t);
+ int __cdecl memcmp(const void *, const void *, size_t);
+ void * __cdecl memset(void *, int, size_t);
+ char * __cdecl _strset(char *, int);
+ char * __cdecl strcpy(char *, const char *);
+ char * __cdecl strcat(char *, const char *);
+ int __cdecl strcmp(const char *, const char *);
+ size_t __cdecl strlen(const char *);
+
+ void * __cdecl _memccpy(void *, const void *, int, unsigned int);
+ void * __cdecl memchr(const void *, int, size_t);
+ int __cdecl _memicmp(const void *, const void *, unsigned int);
+
+
+
+
+
+ void * __cdecl memmove(void *, const void *, size_t);
+
+
+
+ char * __cdecl strchr(const char *, int);
+ int __cdecl _strcmpi(const char *, const char *);
+ int __cdecl _stricmp(const char *, const char *);
+ int __cdecl strcoll(const char *, const char *);
+ int __cdecl _stricoll(const char *, const char *);
+ int __cdecl _strncoll(const char *, const char *, size_t);
+ int __cdecl _strnicoll(const char *, const char *, size_t);
+ size_t __cdecl strcspn(const char *, const char *);
+ char * __cdecl _strdup(const char *);
+ char * __cdecl _strerror(const char *);
+ char * __cdecl strerror(int);
+ char * __cdecl _strlwr(char *);
+ char * __cdecl strncat(char *, const char *, size_t);
+ int __cdecl strncmp(const char *, const char *, size_t);
+ int __cdecl _strnicmp(const char *, const char *, size_t);
+ char * __cdecl strncpy(char *, const char *, size_t);
+ char * __cdecl _strnset(char *, int, size_t);
+ char * __cdecl strpbrk(const char *, const char *);
+ char * __cdecl strrchr(const char *, int);
+ char * __cdecl _strrev(char *);
+ size_t __cdecl strspn(const char *, const char *);
+ char * __cdecl strstr(const char *, const char *);
+ char * __cdecl strtok(char *, const char *);
+ char * __cdecl _strupr(char *);
+ size_t __cdecl strxfrm (char *, const char *, size_t);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ void * __cdecl memccpy(void *, const void *, int, unsigned int);
+ int __cdecl memicmp(const void *, const void *, unsigned int);
+ int __cdecl strcmpi(const char *, const char *);
+ int __cdecl stricmp(const char *, const char *);
+ char * __cdecl strdup(const char *);
+ char * __cdecl strlwr(char *);
+ int __cdecl strnicmp(const char *, const char *, size_t);
+ char * __cdecl strnset(char *, int, size_t);
+ char * __cdecl strrev(char *);
+ char * __cdecl strset(char *, int);
+ char * __cdecl strupr(char *);
+
+
+
+
+
+
+
+
+
+ wchar_t * __cdecl wcscat(wchar_t *, const wchar_t *);
+ wchar_t * __cdecl wcschr(const wchar_t *, wchar_t);
+ int __cdecl wcscmp(const wchar_t *, const wchar_t *);
+ wchar_t * __cdecl wcscpy(wchar_t *, const wchar_t *);
+ size_t __cdecl wcscspn(const wchar_t *, const wchar_t *);
+ size_t __cdecl wcslen(const wchar_t *);
+ wchar_t * __cdecl wcsncat(wchar_t *, const wchar_t *, size_t);
+ int __cdecl wcsncmp(const wchar_t *, const wchar_t *, size_t);
+ wchar_t * __cdecl wcsncpy(wchar_t *, const wchar_t *, size_t);
+ wchar_t * __cdecl wcspbrk(const wchar_t *, const wchar_t *);
+ wchar_t * __cdecl wcsrchr(const wchar_t *, wchar_t);
+ size_t __cdecl wcsspn(const wchar_t *, const wchar_t *);
+ wchar_t * __cdecl wcsstr(const wchar_t *, const wchar_t *);
+ wchar_t * __cdecl wcstok(wchar_t *, const wchar_t *);
+
+ wchar_t * __cdecl _wcsdup(const wchar_t *);
+ int __cdecl _wcsicmp(const wchar_t *, const wchar_t *);
+ int __cdecl _wcsnicmp(const wchar_t *, const wchar_t *, size_t);
+ wchar_t * __cdecl _wcsnset(wchar_t *, wchar_t, size_t);
+ wchar_t * __cdecl _wcsrev(wchar_t *);
+ wchar_t * __cdecl _wcsset(wchar_t *, wchar_t);
+
+ wchar_t * __cdecl _wcslwr(wchar_t *);
+ wchar_t * __cdecl _wcsupr(wchar_t *);
+ size_t __cdecl wcsxfrm(wchar_t *, const wchar_t *, size_t);
+ int __cdecl wcscoll(const wchar_t *, const wchar_t *);
+ int __cdecl _wcsicoll(const wchar_t *, const wchar_t *);
+ int __cdecl _wcsncoll(const wchar_t *, const wchar_t *, size_t);
+ int __cdecl _wcsnicoll(const wchar_t *, const wchar_t *, size_t);
+
+
+
+
+
+
+
+ wchar_t * __cdecl wcsdup(const wchar_t *);
+ int __cdecl wcsicmp(const wchar_t *, const wchar_t *);
+ int __cdecl wcsnicmp(const wchar_t *, const wchar_t *, size_t);
+ wchar_t * __cdecl wcsnset(wchar_t *, wchar_t, size_t);
+ wchar_t * __cdecl wcsrev(wchar_t *);
+ wchar_t * __cdecl wcsset(wchar_t *, wchar_t);
+ wchar_t * __cdecl wcslwr(wchar_t *);
+ wchar_t * __cdecl wcsupr(wchar_t *);
+ int __cdecl wcsicoll(const wchar_t *, const wchar_t *);
+
+
+
+
+
+
+
+
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+
+
+extern "C" {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef long time_t;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef unsigned long _fsize_t;
+
+
+
+
+
+struct _wfinddata_t {
+ unsigned attrib;
+ time_t time_create;
+ time_t time_access;
+ time_t time_write;
+ _fsize_t size;
+ wchar_t name[260];
+};
+
+
+
+struct _wfinddatai64_t {
+ unsigned attrib;
+ time_t time_create;
+ time_t time_access;
+ time_t time_write;
+ __int64 size;
+ wchar_t name[260];
+};
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ extern unsigned short _ctype[];
+ extern unsigned short *_pctype;
+
+ extern wctype_t *_pwctype;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ int __cdecl iswalpha(wint_t);
+ int __cdecl iswupper(wint_t);
+ int __cdecl iswlower(wint_t);
+ int __cdecl iswdigit(wint_t);
+ int __cdecl iswxdigit(wint_t);
+ int __cdecl iswspace(wint_t);
+ int __cdecl iswpunct(wint_t);
+ int __cdecl iswalnum(wint_t);
+ int __cdecl iswprint(wint_t);
+ int __cdecl iswgraph(wint_t);
+ int __cdecl iswcntrl(wint_t);
+ int __cdecl iswascii(wint_t);
+ int __cdecl isleadbyte(int);
+
+ wchar_t __cdecl towupper(wchar_t);
+ wchar_t __cdecl towlower(wchar_t);
+
+ int __cdecl iswctype(wint_t, wctype_t);
+
+
+ int __cdecl is_wctype(wint_t, wctype_t);
+
+
+
+
+
+
+
+
+
+ int __cdecl _wchdir(const wchar_t *);
+ wchar_t * __cdecl _wgetcwd(wchar_t *, int);
+ wchar_t * __cdecl _wgetdcwd(int, wchar_t *, int);
+ int __cdecl _wmkdir(const wchar_t *);
+ int __cdecl _wrmdir(const wchar_t *);
+
+
+
+
+
+
+
+
+ int __cdecl _waccess(const wchar_t *, int);
+ int __cdecl _wchmod(const wchar_t *, int);
+ int __cdecl _wcreat(const wchar_t *, int);
+ long __cdecl _wfindfirst(wchar_t *, struct _wfinddata_t *);
+ int __cdecl _wfindnext(long, struct _wfinddata_t *);
+ int __cdecl _wunlink(const wchar_t *);
+ int __cdecl _wrename(const wchar_t *, const wchar_t *);
+ int __cdecl _wopen(const wchar_t *, int, ...);
+ int __cdecl _wsopen(const wchar_t *, int, int, ...);
+ wchar_t * __cdecl _wmktemp(wchar_t *);
+
+
+ long __cdecl _wfindfirsti64(wchar_t *, struct _wfinddatai64_t *);
+ int __cdecl _wfindnexti64(long, struct _wfinddatai64_t *);
+
+
+
+
+
+
+
+
+
+ wchar_t * __cdecl _wsetlocale(int, const wchar_t *);
+
+
+
+
+
+
+
+
+ int __cdecl _wexecl(const wchar_t *, const wchar_t *, ...);
+ int __cdecl _wexecle(const wchar_t *, const wchar_t *, ...);
+ int __cdecl _wexeclp(const wchar_t *, const wchar_t *, ...);
+ int __cdecl _wexeclpe(const wchar_t *, const wchar_t *, ...);
+ int __cdecl _wexecv(const wchar_t *, const wchar_t * const *);
+ int __cdecl _wexecve(const wchar_t *, const wchar_t * const *, const wchar_t * const *);
+ int __cdecl _wexecvp(const wchar_t *, const wchar_t * const *);
+ int __cdecl _wexecvpe(const wchar_t *, const wchar_t * const *, const wchar_t * const *);
+ int __cdecl _wspawnl(int, const wchar_t *, const wchar_t *, ...);
+ int __cdecl _wspawnle(int, const wchar_t *, const wchar_t *, ...);
+ int __cdecl _wspawnlp(int, const wchar_t *, const wchar_t *, ...);
+ int __cdecl _wspawnlpe(int, const wchar_t *, const wchar_t *, ...);
+ int __cdecl _wspawnv(int, const wchar_t *, const wchar_t * const *);
+ int __cdecl _wspawnve(int, const wchar_t *, const wchar_t * const *,
+ const wchar_t * const *);
+ int __cdecl _wspawnvp(int, const wchar_t *, const wchar_t * const *);
+ int __cdecl _wspawnvpe(int, const wchar_t *, const wchar_t * const *,
+ const wchar_t * const *);
+ int __cdecl _wsystem(const wchar_t *);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+inline int __cdecl iswalpha(wint_t _C) {return (iswctype(_C,(0x0100|0x1|0x2))); }
+inline int __cdecl iswupper(wint_t _C) {return (iswctype(_C,0x1)); }
+inline int __cdecl iswlower(wint_t _C) {return (iswctype(_C,0x2)); }
+inline int __cdecl iswdigit(wint_t _C) {return (iswctype(_C,0x4)); }
+inline int __cdecl iswxdigit(wint_t _C) {return (iswctype(_C,0x80)); }
+inline int __cdecl iswspace(wint_t _C) {return (iswctype(_C,0x8)); }
+inline int __cdecl iswpunct(wint_t _C) {return (iswctype(_C,0x10)); }
+inline int __cdecl iswalnum(wint_t _C) {return (iswctype(_C,(0x0100|0x1|0x2)|0x4)); }
+inline int __cdecl iswprint(wint_t _C)
+ {return (iswctype(_C,0x40|0x10|(0x0100|0x1|0x2)|0x4)); }
+inline int __cdecl iswgraph(wint_t _C)
+ {return (iswctype(_C,0x10|(0x0100|0x1|0x2)|0x4)); }
+inline int __cdecl iswcntrl(wint_t _C) {return (iswctype(_C,0x20)); }
+inline int __cdecl iswascii(wint_t _C) {return ((unsigned)(_C) < 0x80); }
+
+
+inline int __cdecl isleadbyte(int _C)
+ {return (_pctype[(unsigned char)(_C)] & 0x8000); }
+
+
+
+
+
+
+
+
+
+
+
+typedef unsigned short _ino_t;
+
+
+typedef unsigned short ino_t;
+
+
+
+
+
+typedef unsigned int _dev_t;
+
+
+typedef unsigned int dev_t;
+
+
+
+
+
+typedef long _off_t;
+
+
+typedef long off_t;
+
+
+
+
+
+
+struct _stat {
+ _dev_t st_dev;
+ _ino_t st_ino;
+ unsigned short st_mode;
+ short st_nlink;
+ short st_uid;
+ short st_gid;
+ _dev_t st_rdev;
+ _off_t st_size;
+ time_t st_atime;
+ time_t st_mtime;
+ time_t st_ctime;
+ };
+
+
+
+struct stat {
+ _dev_t st_dev;
+ _ino_t st_ino;
+ unsigned short st_mode;
+ short st_nlink;
+ short st_uid;
+ short st_gid;
+ _dev_t st_rdev;
+ _off_t st_size;
+ time_t st_atime;
+ time_t st_mtime;
+ time_t st_ctime;
+ };
+
+
+
+struct _stati64 {
+ _dev_t st_dev;
+ _ino_t st_ino;
+ unsigned short st_mode;
+ short st_nlink;
+ short st_uid;
+ short st_gid;
+ _dev_t st_rdev;
+ __int64 st_size;
+ time_t st_atime;
+ time_t st_mtime;
+ time_t st_ctime;
+ };
+
+
+
+
+
+
+
+
+
+
+ int __cdecl _wstat(const wchar_t *, struct _stat *);
+
+
+ int __cdecl _wstati64(const wchar_t *, struct _stati64 *);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+struct tm {
+ int tm_sec;
+ int tm_min;
+ int tm_hour;
+ int tm_mday;
+ int tm_mon;
+ int tm_year;
+ int tm_wday;
+ int tm_yday;
+ int tm_isdst;
+ };
+
+
+
+
+
+
+
+ wchar_t * __cdecl _wasctime(const struct tm *);
+ wchar_t * __cdecl _wctime(const time_t *);
+ size_t __cdecl wcsftime(wchar_t *, size_t, const wchar_t *,
+ const struct tm *);
+ wchar_t * __cdecl _wstrdate(wchar_t *);
+ wchar_t * __cdecl _wstrtime(wchar_t *);
+
+
+
+
+
+
+typedef int mbstate_t;
+typedef wchar_t _Wint_t;
+
+ wint_t __cdecl btowc(int);
+ size_t __cdecl mbrlen(const char *, size_t, mbstate_t *);
+ size_t __cdecl mbrtowc(wchar_t *, const char *, size_t, mbstate_t *);
+ size_t __cdecl mbsrtowcs(wchar_t *, const char **, size_t, mbstate_t *);
+
+ size_t __cdecl wcrtomb(char *, wchar_t, mbstate_t *);
+ size_t __cdecl wcsrtombs(char *, const wchar_t **, size_t, mbstate_t *);
+ int __cdecl wctob(wint_t);
+
+
+inline int fwide(FILE *, int _M)
+ {return (_M); }
+inline int mbsinit(const mbstate_t *)
+ {return (1); }
+inline const wchar_t *wmemchr(const wchar_t *_S, wchar_t _C, size_t _N)
+ {for (; 0 < _N; ++_S, --_N)
+ if (*_S == _C)
+ return (_S);
+ return (0); }
+inline int wmemcmp(const wchar_t *_S1, const wchar_t *_S2, size_t _N)
+ {for (; 0 < _N; ++_S1, ++_S2, --_N)
+ if (*_S1 != *_S2)
+ return (*_S1 < *_S2 ? -1 : +1);
+ return (0); }
+inline wchar_t *wmemcpy(wchar_t *_S1, const wchar_t *_S2, size_t _N)
+ {wchar_t *_Su1 = _S1;
+ for (; 0 < _N; ++_Su1, ++_S2, --_N)
+ *_Su1 = *_S2;
+ return (_S1); }
+inline wchar_t *wmemmove(wchar_t *_S1, const wchar_t *_S2, size_t _N)
+ {wchar_t *_Su1 = _S1;
+ if (_S2 < _Su1 && _Su1 < _S2 + _N)
+ for (_Su1 += _N, _S2 += _N; 0 < _N; --_N)
+ *--_Su1 = *--_S2;
+ else
+ for (; 0 < _N; --_N)
+ *_Su1++ = *_S2++;
+ return (_S1); }
+inline wchar_t *wmemset(wchar_t *_S, wchar_t _C, size_t _N)
+ {wchar_t *_Su = _S;
+ for (; 0 < _N; ++_Su, --_N)
+ *_Su = _C;
+ return (_S); }
+}
+inline wchar_t *wmemchr(wchar_t *_S, wchar_t _C, size_t _N)
+ {return ((wchar_t *)wmemchr((const wchar_t *)_S, _C, _N)); }
+inline wchar_t *wcschr(wchar_t *_S, wchar_t _C)
+ {return ((wchar_t *)wcschr((const wchar_t *)_S, _C)); }
+inline wchar_t *wcspbrk(wchar_t *_S, const wchar_t *_P)
+ {return ((wchar_t *)wcspbrk((const wchar_t *)_S, _P)); }
+inline wchar_t *wcsrchr(wchar_t *_S, wchar_t _C)
+ {return ((wchar_t *)wcsrchr((const wchar_t *)_S, _C)); }
+inline wchar_t *wcsstr(wchar_t *_S, const wchar_t *_P)
+ {return ((wchar_t *)wcsstr((const wchar_t *)_S, _P)); }
+
+
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma comment(lib,"libcpmtd")
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+
+ #pragma warning(4: 4018 4114 4146 4244 4245)
+ #pragma warning(4: 4663 4664 4665)
+ #pragma warning(disable: 4237 4284 4290 4514)
+
+
+
+
+
+
+
+
+
+
+
+namespace std {
+
+
+typedef bool _Bool;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+class _Lockit
+ {
+public:
+
+
+ _Lockit();
+ ~_Lockit();
+
+
+
+
+
+
+
+ };
+
+
+
+
+
+
+};
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ extern int * __cdecl _errno(void);
+
+
+
+
+
+
+
+
+
+typedef int ptrdiff_t;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ extern unsigned long __cdecl __threadid(void);
+
+ extern unsigned long __cdecl __threadhandle(void);
+
+
+
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+namespace std {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+enum _Uninitialized {_Noinit};
+
+ void __cdecl _Nomemory();
+};
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+namespace std {
+
+typedef long streamoff;
+const streamoff _BADOFF = -1;
+typedef int streamsize;
+extern const fpos_t _Fpz;
+
+template<class _St>
+ class fpos {
+ typedef fpos<_St> _Myt;
+public:
+
+ fpos(streamoff _O = 0)
+ : _Off(_O), _Fpos(_Fpz)
+ {_Lockit _Lk;
+ _State = _Stz; }
+
+
+
+
+ fpos(_St _S, fpos_t _F)
+ : _Off(0), _Fpos(_F), _State(_S) {}
+ _St state() const
+ {return (_State); }
+ void state(_St _S)
+ {_State = _S; }
+ fpos_t get_fpos_t() const
+ {return (_Fpos); }
+ operator streamoff() const
+ {return (_Off + ((long)(_Fpos))); }
+ streamoff operator-(const _Myt& _R) const
+ {return ((streamoff)*this - (streamoff)_R); }
+ _Myt& operator+=(streamoff _O)
+ {_Off += _O;
+ return (*this); }
+ _Myt& operator-=(streamoff _O)
+ {_Off -= _O;
+ return (*this); }
+ _Myt operator+(streamoff _O) const
+ {_Myt _Tmp = *this;
+ return (_Tmp += _O); }
+ _Myt operator-(streamoff _O) const
+ {_Myt _Tmp = *this;
+ return (_Tmp -= _O); }
+ bool operator==(const _Myt& _R) const
+ {return ((streamoff)*this == (streamoff)_R); }
+ bool operator!=(const _Myt& _R) const
+ {return (!(*this == _R)); }
+private:
+ static _St _Stz;
+ streamoff _Off;
+ fpos_t _Fpos;
+ _St _State;
+ };
+template<class _St>
+ _St fpos<_St>::_Stz;
+typedef fpos<mbstate_t> streampos;
+typedef streampos wstreampos;
+
+template<class _E>
+ struct char_traits {
+ typedef _E char_type;
+ typedef _E int_type;
+ typedef streampos pos_type;
+ typedef streamoff off_type;
+ typedef mbstate_t state_type;
+ static void __cdecl assign(_E& _X, const _E& _Y)
+ {_X = _Y; }
+ static bool __cdecl eq(const _E& _X, const _E& _Y)
+ {return (_X == _Y); }
+ static bool __cdecl lt(const _E& _X, const _E& _Y)
+ {return (_X < _Y); }
+ static int __cdecl compare(const _E *_U, const _E *_V, size_t _N)
+ {for (size_t _I = 0; _I < _N; ++_I, ++_U, ++_V)
+ if (!eq(*_U, *_V))
+ return (lt(*_U, *_V) ? -1 : +1);
+ return (0); }
+ static size_t __cdecl length(const _E *_U)
+ {size_t _N;
+ for (_N = 0; !eq(*_U, _E(0)); ++_U)
+ ++_N;
+ return (_N); }
+ static _E * __cdecl copy(_E *_U, const _E *_V, size_t _N)
+ {_E *_S = _U;
+ for (; 0 < _N; --_N, ++_U, ++_V)
+ assign(*_U, *_V);
+ return (_S); }
+ static const _E * __cdecl find(const _E *_U, size_t _N,
+ const _E& _C)
+ {for (; 0 < _N; --_N, ++_U)
+ if (eq(*_U, _C))
+ return (_U);
+ return (0); }
+ static _E * __cdecl move(_E *_U, const _E *_V, size_t _N)
+ {_E *_Ans = _U;
+ if (_V < _U && _U < _V + _N)
+ for (_U += _N, _V += _N; 0 < _N; --_N)
+ assign(*--_U, *--_V);
+ else
+ for (; 0 < _N; --_N, ++_U, ++_V)
+ assign(*_U, *_V);
+ return (_Ans); }
+ static _E * __cdecl assign(_E *_U, size_t _N, const _E& _C)
+ {_E *_Ans = _U;
+ for (; 0 < _N; --_N, ++_U)
+ assign(*_U, _C);
+ return (_Ans); }
+ static _E __cdecl to_char_type(const int_type& _C)
+ {return ((_E)_C); }
+ static int_type __cdecl to_int_type(const _E& _C)
+ {return ((int_type)_C); }
+ static bool __cdecl eq_int_type(const int_type& _X,
+ const int_type& _Y)
+ {return (_X == _Y); }
+ static int_type __cdecl eof()
+ {return ((-1)); }
+ static int_type __cdecl not_eof(const int_type& _C)
+ {return (_C != eof() ? _C : !eof()); }
+ };
+
+template<> struct char_traits<wchar_t> {
+ typedef wchar_t _E;
+ typedef _E char_type;
+ typedef wint_t int_type;
+ typedef streampos pos_type;
+ typedef streamoff off_type;
+ typedef mbstate_t state_type;
+ static void __cdecl assign(_E& _X, const _E& _Y)
+ {_X = _Y; }
+ static bool __cdecl eq(const _E& _X, const _E& _Y)
+ {return (_X == _Y); }
+ static bool __cdecl lt(const _E& _X, const _E& _Y)
+ {return (_X < _Y); }
+ static int __cdecl compare(const _E *_U, const _E *_V, size_t _N)
+ {return (wmemcmp(_U, _V, _N)); }
+ static size_t __cdecl length(const _E *_U)
+ {return (wcslen(_U)); }
+ static _E *__cdecl copy(_E *_U, const _E *_V, size_t _N)
+ {return (wmemcpy(_U, _V, _N)); }
+ static const _E * __cdecl find(const _E *_U, size_t _N,
+ const _E& _C)
+ {return ((const _E *)wmemchr(_U, _C, _N)); }
+ static _E * __cdecl move(_E *_U, const _E *_V, size_t _N)
+ {return (wmemmove(_U, _V, _N)); }
+ static _E * __cdecl assign(_E *_U, size_t _N, const _E& _C)
+ {return (wmemset(_U, _C, _N)); }
+ static _E __cdecl to_char_type(const int_type& _C)
+ {return ((_E)_C); }
+ static int_type __cdecl to_int_type(const _E& _C)
+ {return ((int_type)_C); }
+ static bool __cdecl eq_int_type(const int_type& _X,
+ const int_type& _Y)
+ {return (_X == _Y); }
+ static int_type __cdecl eof()
+ {return ((wint_t)(0xFFFF)); }
+ static int_type __cdecl not_eof(const int_type& _C)
+ {return (_C != eof() ? _C : !eof()); }
+ };
+
+template<> struct char_traits<char> {
+ typedef char _E;
+ typedef _E char_type;
+ typedef int int_type;
+ typedef streampos pos_type;
+ typedef streamoff off_type;
+ typedef mbstate_t state_type;
+ static void __cdecl assign(_E& _X, const _E& _Y)
+ {_X = _Y; }
+ static bool __cdecl eq(const _E& _X, const _E& _Y)
+ {return (_X == _Y); }
+ static bool __cdecl lt(const _E& _X, const _E& _Y)
+ {return (_X < _Y); }
+ static int __cdecl compare(const _E *_U, const _E *_V, size_t _N)
+ {return (memcmp(_U, _V, _N)); }
+ static size_t __cdecl length(const _E *_U)
+ {return (strlen(_U)); }
+ static _E * __cdecl copy(_E *_U, const _E *_V, size_t _N)
+ {return ((_E *)memcpy(_U, _V, _N)); }
+ static const _E * __cdecl find(const _E *_U, size_t _N,
+ const _E& _C)
+ {return ((const _E *)memchr(_U, _C, _N)); }
+ static _E * __cdecl move(_E *_U, const _E *_V, size_t _N)
+ {return ((_E *)memmove(_U, _V, _N)); }
+ static _E * __cdecl assign(_E *_U, size_t _N, const _E& _C)
+ {return ((_E *)memset(_U, _C, _N)); }
+ static _E __cdecl to_char_type(const int_type& _C)
+ {return ((_E)_C); }
+ static int_type __cdecl to_int_type(const _E& _C)
+ {return ((int_type)((unsigned char)_C)); }
+ static bool __cdecl eq_int_type(const int_type& _X,
+ const int_type& _Y)
+ {return (_X == _Y); }
+ static int_type __cdecl eof()
+ {return ((-1)); }
+ static int_type __cdecl not_eof(const int_type& _C)
+ {return (_C != eof() ? _C : !eof()); }
+ };
+
+template<class T>
+ class allocator;
+class ios_base;
+template<class _E, class _Tr = char_traits<_E> >
+ class basic_ios;
+template<class _E, class _Tr = char_traits<_E> >
+ class istreambuf_iterator;
+template<class _E, class _Tr = char_traits<_E> >
+ class ostreambuf_iterator;
+template<class _E, class _Tr = char_traits<_E> >
+ class basic_streambuf;
+template<class _E, class _Tr = char_traits<_E> >
+ class basic_istream;
+template<class _E, class _Tr = char_traits<_E> >
+ class basic_ostream;
+template<class _E, class _Tr = char_traits<_E> >
+ class basic_iostream;
+template<class _E, class _Tr = char_traits<_E>,
+ class _A = allocator<_E> >
+ class basic_stringbuf;
+template<class _E, class _Tr = char_traits<_E>,
+ class _A = allocator<_E> >
+ class basic_istringstream;
+template<class _E, class _Tr = char_traits<_E>,
+ class _A = allocator<_E> >
+ class basic_ostringstream;
+template<class _E, class _Tr = char_traits<_E>,
+ class _A = allocator<_E> >
+ class basic_stringstream;
+template<class _E, class _Tr = char_traits<_E> >
+ class basic_filebuf;
+template<class _E, class _Tr = char_traits<_E> >
+ class basic_ifstream;
+template<class _E, class _Tr = char_traits<_E> >
+ class basic_ofstream;
+template<class _E, class _Tr = char_traits<_E> >
+ class basic_fstream;
+
+
+typedef basic_ios<char, char_traits<char> > ios;
+typedef basic_streambuf<char, char_traits<char> > streambuf;
+typedef basic_istream<char, char_traits<char> > istream;
+typedef basic_ostream<char, char_traits<char> > ostream;
+typedef basic_iostream<char, char_traits<char> > iostream;
+typedef basic_stringbuf<char, char_traits<char>,
+ allocator<char> > stringbuf;
+typedef basic_istringstream<char, char_traits<char>,
+ allocator<char> > istringstream;
+typedef basic_ostringstream<char, char_traits<char>,
+ allocator<char> > ostringstream;
+typedef basic_stringstream<char, char_traits<char>,
+ allocator<char> > stringstream;
+typedef basic_filebuf<char, char_traits<char> > filebuf;
+typedef basic_ifstream<char, char_traits<char> > ifstream;
+typedef basic_ofstream<char, char_traits<char> > ofstream;
+typedef basic_fstream<char, char_traits<char> > fstream;
+
+typedef basic_ios<wchar_t, char_traits<wchar_t> > wios;
+typedef basic_streambuf<wchar_t, char_traits<wchar_t> >
+ wstreambuf;
+typedef basic_istream<wchar_t, char_traits<wchar_t> > wistream;
+typedef basic_ostream<wchar_t, char_traits<wchar_t> > wostream;
+typedef basic_iostream<wchar_t, char_traits<wchar_t> > wiostream;
+typedef basic_stringbuf<wchar_t, char_traits<wchar_t>,
+ allocator<wchar_t> > wstringbuf;
+typedef basic_istringstream<wchar_t, char_traits<wchar_t>,
+ allocator<wchar_t> > wistringstream;
+typedef basic_ostringstream<wchar_t, char_traits<wchar_t>,
+ allocator<wchar_t> > wostringstream;
+typedef basic_stringstream<wchar_t, char_traits<wchar_t>,
+ allocator<wchar_t> > wstringstream;
+typedef basic_filebuf<wchar_t, char_traits<wchar_t> > wfilebuf;
+typedef basic_ifstream<wchar_t, char_traits<wchar_t> > wifstream;
+typedef basic_ofstream<wchar_t, char_traits<wchar_t> > wofstream;
+typedef basic_fstream<wchar_t, char_traits<wchar_t> > wfstream;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+};
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+namespace std {
+
+template<class _T1, class _T2> struct pair {
+ typedef _T1 first_type;
+ typedef _T2 second_type;
+ pair()
+ : first(_T1()), second(_T2()) {}
+ pair(const _T1& _V1, const _T2& _V2)
+ : first(_V1), second(_V2) {}
+ template<class U, class V> pair(const pair<U, V> &p)
+ : first(p.first), second(p.second) {}
+ _T1 first;
+ _T2 second;
+ };
+template<class _T1, class _T2> inline
+ bool __cdecl operator==(const pair<_T1, _T2>& _X,
+ const pair<_T1, _T2>& _Y)
+ {return (_X.first == _Y.first && _X.second == _Y.second); }
+template<class _T1, class _T2> inline
+ bool __cdecl operator!=(const pair<_T1, _T2>& _X,
+ const pair<_T1, _T2>& _Y)
+ {return (!(_X == _Y)); }
+template<class _T1, class _T2> inline
+ bool __cdecl operator<(const pair<_T1, _T2>& _X,
+ const pair<_T1, _T2>& _Y)
+ {return (_X.first < _Y.first ||
+ !(_Y.first < _X.first) && _X.second < _Y.second); }
+template<class _T1, class _T2> inline
+ bool __cdecl operator>(const pair<_T1, _T2>& _X,
+ const pair<_T1, _T2>& _Y)
+ {return (_Y < _X); }
+template<class _T1, class _T2> inline
+ bool __cdecl operator<=(const pair<_T1, _T2>& _X,
+ const pair<_T1, _T2>& _Y)
+ {return (!(_Y < _X)); }
+template<class _T1, class _T2> inline
+ bool __cdecl operator>=(const pair<_T1, _T2>& _X,
+ const pair<_T1, _T2>& _Y)
+ {return (!(_X < _Y)); }
+template<class _T1, class _T2> inline
+ pair<_T1, _T2> __cdecl make_pair(const _T1& _X, const _T2& _Y)
+ {return (pair<_T1, _T2>(_X, _Y)); }
+
+struct input_iterator_tag {};
+struct output_iterator_tag {};
+struct forward_iterator_tag
+ : public input_iterator_tag {};
+struct bidirectional_iterator_tag
+ : public forward_iterator_tag {};
+struct random_access_iterator_tag
+ : public bidirectional_iterator_tag {};
+
+template<class _C, class _Ty, class _D = ptrdiff_t>
+ struct iterator {
+ typedef _C iterator_category;
+ typedef _Ty value_type;
+ typedef _D distance_type;
+ };
+template<class _Ty, class _D>
+ struct _Bidit : public iterator<bidirectional_iterator_tag,
+ _Ty, _D> {};
+template<class _Ty, class _D>
+ struct _Ranit : public iterator<random_access_iterator_tag,
+ _Ty, _D> {};
+
+template<class _It>
+ struct iterator_traits {
+ typedef _It::iterator_category iterator_category;
+ typedef _It::value_type value_type;
+ typedef _It::distance_type distance_type;
+ };
+
+template<class _C, class _Ty, class _D> inline
+ _C __cdecl _Iter_cat(const iterator<_C, _Ty, _D>&)
+ {_C _IterCatTag;
+ _C* _pIterCatTag;
+ _pIterCatTag = &_IterCatTag;
+ return (_IterCatTag); }
+template<class _Ty> inline
+ random_access_iterator_tag __cdecl _Iter_cat(const _Ty *)
+ {random_access_iterator_tag _RandIterTag;
+ random_access_iterator_tag* _pRandIterTag;
+ _pRandIterTag = &_RandIterTag;
+ return (_RandIterTag); }
+
+template<class _II> inline
+ ptrdiff_t __cdecl distance(_II _F, _II _L)
+ {ptrdiff_t _N = 0;
+ _Distance(_F, _L, _N, _Iter_cat(_F));
+ return (_N); }
+template<class _II, class _D> inline
+ void __cdecl _Distance(_II _F, _II _L, _D& _N)
+ {_Distance(_F, _L, _N, _Iter_cat(_F)); }
+template<class _II, class _D> inline
+ void __cdecl _Distance(_II _F, _II _L, _D& _N, input_iterator_tag)
+ {for (; _F != _L; ++_F)
+ ++_N; }
+template<class _II, class _D> inline
+ void __cdecl _Distance(_II _F, _II _L, _D& _N, forward_iterator_tag)
+ {for (; _F != _L; ++_F)
+ ++_N; }
+template<class _II, class _D> inline
+ void __cdecl _Distance(_II _F, _II _L, _D& _N,
+ bidirectional_iterator_tag)
+ {for (; _F != _L; ++_F)
+ ++_N; }
+template<class _RI, class _D> inline
+ void __cdecl _Distance(_RI _F, _RI _L, _D& _N,
+ random_access_iterator_tag)
+ {_N += _L - _F; }
+
+template<class _RI,
+ class _Ty,
+ class _Rt = _Ty&,
+ class _Pt = _Ty *,
+ class _D = ptrdiff_t>
+ class reverse_iterator : public _Ranit<_Ty, _D> {
+public:
+ typedef reverse_iterator<_RI, _Ty, _Rt, _Pt, _D> _Myt;
+ typedef _RI iter_type;
+ typedef _Rt reference_type;
+ typedef _Pt pointer_type;
+ reverse_iterator()
+ {}
+ explicit reverse_iterator(_RI _X)
+ : current(_X) {}
+ _RI base() const
+ {return (current); }
+ _Rt operator*() const
+ {return (*(current - 1)); }
+ _Pt operator->() const
+ {return (&**this); }
+ _Myt& operator++()
+ {--current;
+ return (*this); }
+ _Myt operator++(int)
+ {_Myt _Tmp = *this;
+ --current;
+ return (_Tmp); }
+ _Myt& operator--()
+ {++current;
+ return (*this); }
+ _Myt operator--(int)
+ {_Myt _Tmp = *this;
+ ++current;
+ return (_Tmp); }
+ _Myt& operator+=(_D _N)
+ {current -= _N;
+ return (*this); }
+ _Myt operator+(_D _N) const
+ {return (_Myt(current - _N)); }
+ _Myt& operator-=(_D _N)
+ {current += _N;
+ return (*this); }
+ _Myt operator-(_D _N) const
+ {return (_Myt(current + _N)); }
+ _Rt operator[](_D _N) const
+ {return (*(*this + _N)); }
+protected:
+ _RI current;
+ };
+template<class _RI, class _Ty, class _Rt, class _Pt,
+ class _D> inline
+ bool __cdecl operator==(
+ const reverse_iterator<_RI, _Ty, _Rt, _Pt, _D>& _X,
+ const reverse_iterator<_RI, _Ty, _Rt, _Pt, _D>& _Y)
+ {return (_X.base() == _Y.base()); }
+template<class _RI, class _Ty, class _Rt, class _Pt,
+ class _D> inline
+ bool __cdecl operator!=(
+ const reverse_iterator<_RI, _Ty, _Rt, _Pt, _D>& _X,
+ const reverse_iterator<_RI, _Ty, _Rt, _Pt, _D>& _Y)
+ {return (!(_X == _Y)); }
+template<class _RI, class _Ty, class _Rt, class _Pt,
+ class _D> inline
+ bool __cdecl operator<(
+ const reverse_iterator<_RI, _Ty, _Rt, _Pt, _D>& _X,
+ const reverse_iterator<_RI, _Ty, _Rt, _Pt, _D>& _Y)
+ {return (_Y.base() < _X.base()); }
+template<class _RI, class _Ty, class _Rt, class _Pt,
+ class _D> inline
+ bool __cdecl operator>(
+ const reverse_iterator<_RI, _Ty, _Rt, _Pt, _D>& _X,
+ const reverse_iterator<_RI, _Ty, _Rt, _Pt, _D>& _Y)
+ {return (_Y < _X); }
+template<class _RI, class _Ty, class _Rt, class _Pt,
+ class _D> inline
+ bool __cdecl operator<=(
+ const reverse_iterator<_RI, _Ty, _Rt, _Pt, _D>& _X,
+ const reverse_iterator<_RI, _Ty, _Rt, _Pt, _D>& _Y)
+ {return (!(_Y < _X)); }
+template<class _RI, class _Ty, class _Rt, class _Pt,
+ class _D> inline
+ bool __cdecl operator>=(
+ const reverse_iterator<_RI, _Ty, _Rt, _Pt, _D>& _X,
+ const reverse_iterator<_RI, _Ty, _Rt, _Pt, _D>& _Y)
+ {return (!(_X < _Y)); }
+template<class _RI, class _Ty, class _Rt, class _Pt,
+ class _D> inline
+ _D __cdecl operator-(
+ const reverse_iterator<_RI, _Ty, _Rt, _Pt, _D>& _X,
+ const reverse_iterator<_RI, _Ty, _Rt, _Pt, _D>& _Y)
+ {return (_Y.base() - _X.base()); }
+template<class _RI, class _Ty, class _Rt, class _Pt,
+ class _D> inline
+ reverse_iterator<_RI, _Ty, _Rt, _Pt, _D> __cdecl operator+(_D _N,
+ const reverse_iterator<_RI, _Ty, _Rt, _Pt, _D>& _Y)
+ {return (reverse_iterator<_RI, _Ty, _Rt, _Pt, _D>(
+ _Y.base() - _N)); }
+
+template<class _E, class _Tr = char_traits<_E> >
+ class istreambuf_iterator
+ : public iterator<input_iterator_tag, _E, _Tr::off_type> {
+public:
+ typedef istreambuf_iterator<_E, _Tr> _Myt;
+ typedef _E char_type;
+ typedef _Tr traits_type;
+ typedef _Tr::int_type int_type;
+ typedef basic_streambuf<_E, _Tr> streambuf_type;
+ typedef basic_istream<_E, _Tr> istream_type;
+ istreambuf_iterator(streambuf_type *_Sb = 0) throw ()
+ : _Sbuf(_Sb), _Got(_Sb == 0) {}
+ istreambuf_iterator(istream_type& _I) throw ()
+ : _Sbuf(_I.rdbuf()), _Got(_I.rdbuf() == 0) {}
+ const _E& operator*() const
+ {if (!_Got)
+ ((_Myt *)this)->_Peek();
+ return (_Val); }
+ const _E *operator->() const
+ {return (&**this); }
+ _Myt& operator++()
+ {_Inc();
+ return (*this); }
+ _Myt operator++(int)
+ {if (!_Got)
+ _Peek();
+ _Myt _Tmp = *this;
+ _Inc();
+ return (_Tmp); }
+ bool equal(const _Myt& _X) const
+ {if (!_Got)
+ ((_Myt *)this)->_Peek();
+ if (!_X._Got)
+ ((_Myt *)&_X)->_Peek();
+ return (_Sbuf == 0 && _X._Sbuf == 0
+ || _Sbuf != 0 && _X._Sbuf != 0); }
+private:
+ void _Inc()
+ {if (_Sbuf == 0
+ || _Tr::eq_int_type(_Tr::eof(), _Sbuf->sbumpc()))
+ _Sbuf = 0, _Got = true;
+ else
+ _Got = false; }
+ _E _Peek()
+ {int_type _C;
+ if (_Sbuf == 0
+ || _Tr::eq_int_type(_Tr::eof(), _C = _Sbuf->sgetc()))
+ _Sbuf = 0;
+ else
+ _Val = _Tr::to_char_type(_C);
+ _Got = true;
+ return (_Val); }
+ streambuf_type *_Sbuf;
+ bool _Got;
+ _E _Val;
+ };
+template<class _E, class _Tr> inline
+ bool __cdecl operator==(const istreambuf_iterator<_E, _Tr>& _X,
+ const istreambuf_iterator<_E, _Tr>& _Y)
+ {return (_X.equal(_Y)); }
+template<class _E, class _Tr> inline
+ bool __cdecl operator!=(const istreambuf_iterator<_E, _Tr>& _X,
+ const istreambuf_iterator<_E, _Tr>& _Y)
+ {return (!(_X == _Y)); }
+
+template<class _E, class _Tr = char_traits<_E> >
+ class ostreambuf_iterator
+ : public iterator<output_iterator_tag, void, void> {
+ typedef ostreambuf_iterator<_E, _Tr> _Myt;
+public:
+ typedef _E char_type;
+ typedef _Tr traits_type;
+ typedef basic_streambuf<_E, _Tr> streambuf_type;
+ typedef basic_ostream<_E, _Tr> ostream_type;
+ ostreambuf_iterator(streambuf_type *_Sb) throw ()
+ : _Failed(false), _Sbuf(_Sb) {}
+ ostreambuf_iterator(ostream_type& _O) throw ()
+ : _Failed(false), _Sbuf(_O.rdbuf()) {}
+ _Myt& operator=(_E _X)
+ {if (_Sbuf == 0
+ || _Tr::eq_int_type(_Tr::eof(), _Sbuf->sputc(_X)))
+ _Failed = true;
+ return (*this); }
+ _Myt& operator*()
+ {return (*this); }
+ _Myt& operator++()
+ {return (*this); }
+ _Myt& operator++(int)
+ {return (*this); }
+ bool failed() const throw ()
+ {return (_Failed); }
+private:
+ bool _Failed;
+ streambuf_type *_Sbuf;
+ };
+
+ namespace rel_ops {
+template<class _Ty> inline
+ bool __cdecl operator!=(const _Ty& _X, const _Ty& _Y)
+ {return (!(_X == _Y)); }
+template<class _Ty> inline
+ bool __cdecl operator>(const _Ty& _X, const _Ty& _Y)
+ {return (_Y < _X); }
+template<class _Ty> inline
+ bool __cdecl operator<=(const _Ty& _X, const _Ty& _Y)
+ {return (!(_Y < _X)); }
+template<class _Ty> inline
+ bool __cdecl operator>=(const _Ty& _X, const _Ty& _Y)
+ {return (!(_X < _Y)); }
+ };
+};
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+namespace std {
+
+template<class _BI,
+ class _Ty,
+ class _Rt = _Ty&,
+ class _Pt = _Ty *,
+ class _D = ptrdiff_t>
+ class reverse_bidirectional_iterator
+ : public _Bidit<_Ty, _D> {
+public:
+ typedef reverse_bidirectional_iterator<_BI,
+ _Ty, _Rt, _Pt, _D> _Myt;
+ typedef _BI iter_type;
+ typedef _Rt reference_type;
+ typedef _Pt pointer_type;
+ reverse_bidirectional_iterator()
+ {}
+ explicit reverse_bidirectional_iterator(_BI _X)
+ : current(_X) {}
+ _BI base() const
+ {return (current); }
+ _Rt operator*() const
+ {_BI _Tmp = current;
+ return (*--_Tmp); }
+ _Pt operator->() const
+ {return (&**this); }
+ _Myt& operator++()
+ {--current;
+ return (*this); }
+ _Myt operator++(int)
+ {_Myt _Tmp = *this;
+ --current;
+ return (_Tmp); }
+ _Myt& operator--()
+ {++current;
+ return (*this); }
+ _Myt operator--(int)
+ {_Myt _Tmp = *this;
+ ++current;
+ return (_Tmp); }
+protected:
+ _BI current;
+ };
+template<class _BI, class _Ty, class _Rt, class _Pt,
+ class _D> inline
+ bool operator==(const reverse_bidirectional_iterator<_BI,
+ _Ty, _Rt, _Pt, _D>& _X,
+ const reverse_bidirectional_iterator<_BI,
+ _Ty, _Rt, _Pt, _D>& _Y)
+ {return (_X.base() == _Y.base()); }
+template<class _BI, class _Ty, class _Rt, class _Pt,
+ class _D> inline
+ bool operator!=(const reverse_bidirectional_iterator<_BI,
+ _Ty, _Rt, _Pt, _D>& _X,
+ const reverse_bidirectional_iterator<_BI,
+ _Ty, _Rt, _Pt, _D>& _Y)
+ {return (!(_X == _Y)); }
+
+template<class _C>
+ class back_insert_iterator
+ : public iterator<output_iterator_tag, void, void> {
+public:
+ typedef _C container_type;
+ typedef _C::value_type value_type;
+ explicit back_insert_iterator(_C& _X)
+ : container(_X) {}
+ back_insert_iterator<_C>& operator=(
+ const value_type& _V)
+ {container.push_back(_V);
+ return (*this); }
+ back_insert_iterator<_C>& operator*()
+ {return (*this); }
+ back_insert_iterator<_C>& operator++()
+ {return (*this); }
+ back_insert_iterator<_C> operator++(int)
+ {return (*this); }
+protected:
+ _C& container;
+ };
+template<class _C> inline
+ back_insert_iterator<_C> back_inserter(_C& _X)
+ {return (back_insert_iterator<_C>(_X)); }
+
+template<class _C>
+ class front_insert_iterator
+ : public iterator<output_iterator_tag, void, void> {
+public:
+ typedef _C container_type;
+ typedef _C::value_type value_type;
+ explicit front_insert_iterator(_C& _X)
+ : container(_X) {}
+ front_insert_iterator<_C>& operator=(
+ const value_type& _V)
+ {container.push_front(_V);
+ return (*this); }
+ front_insert_iterator<_C>& operator*()
+ {return (*this); }
+ front_insert_iterator<_C>& operator++()
+ {return (*this); }
+ front_insert_iterator<_C> operator++(int)
+ {return (*this); }
+protected:
+ _C& container;
+ };
+template<class _C> inline
+ front_insert_iterator<_C> front_inserter(_C& _X)
+ {return (front_insert_iterator<_C>(_X)); }
+
+template<class _C>
+ class insert_iterator
+ : public iterator<output_iterator_tag, void, void> {
+public:
+ typedef _C container_type;
+ typedef _C::value_type value_type;
+ insert_iterator(_C& _X, _C::iterator _I)
+ : container(_X), iter(_I) {}
+ insert_iterator<_C>& operator=(
+ const value_type& _V)
+ {iter = container.insert(iter, _V);
+ ++iter;
+ return (*this); }
+ insert_iterator<_C>& operator*()
+ {return (*this); }
+ insert_iterator<_C>& operator++()
+ {return (*this); }
+ insert_iterator<_C>& operator++(int)
+ {return (*this); }
+protected:
+ _C& container;
+ _C::iterator iter;
+ };
+template<class _C, class _XI> inline
+ insert_iterator<_C> inserter(_C& _X, _XI _I)
+ {return (insert_iterator<_C>(_X, _C::iterator(_I))); }
+
+template<class _U, class _E = char,
+ class _Tr = char_traits<_E> >
+ class istream_iterator
+ : public iterator<input_iterator_tag, _U, ptrdiff_t> {
+public:
+ typedef _E char_type;
+ typedef _Tr traits_type;
+ typedef basic_istream<_E, _Tr> istream_type;
+ istream_iterator()
+ : _Istr(0) {}
+ istream_iterator(istream_type& _I)
+ : _Istr(&_I) {_Getval(); }
+ const _U& operator*() const
+ {return (_Val); }
+ const _U *operator->() const
+ {return (&**this); }
+ istream_iterator<_U, _E, _Tr>& operator++()
+ {_Getval();
+ return (*this); }
+ istream_iterator<_U, _E, _Tr> operator++(int)
+ {istream_iterator<_U, _E, _Tr> _Tmp = *this;
+ _Getval();
+ return (_Tmp); }
+ bool _Equal(const istream_iterator<_U, _E, _Tr>& _X) const
+ {return (_Istr == _X._Istr); }
+protected:
+ void _Getval()
+ {if (_Istr != 0 && !(*_Istr >> _Val))
+ _Istr = 0; }
+ istream_type *_Istr;
+ _U _Val;
+ };
+template<class _U, class _E, class _Tr> inline
+ bool operator==(const istream_iterator<_U, _E, _Tr>& _X,
+ const istream_iterator<_U, _E, _Tr>& _Y)
+ {return (_X._Equal(_Y)); }
+template<class _U, class _E, class _Tr> inline
+ bool operator!=(const istream_iterator<_U, _E, _Tr>& _X,
+ const istream_iterator<_U, _E, _Tr>& _Y)
+ {return (!(_X == _Y)); }
+
+template<class _U, class _E = char,
+ class _Tr = char_traits<_E> >
+ class ostream_iterator
+ : public iterator<output_iterator_tag, void, void> {
+public:
+ typedef _U value_type;
+ typedef _E char_type;
+ typedef _Tr traits_type;
+ typedef basic_ostream<_E, _Tr> ostream_type;
+ ostream_iterator(ostream_type& _O,
+ const _E *_D = 0)
+ : _Ostr(&_O), _Delim(_D) {}
+ ostream_iterator<_U, _E, _Tr>& operator=(const _U& _X)
+ {*_Ostr << _X;
+ if (_Delim != 0)
+ *_Ostr << _Delim;
+ return (*this); }
+ ostream_iterator<_U, _E, _Tr>& operator*()
+ {return (*this); }
+ ostream_iterator<_U, _E, _Tr>& operator++()
+ {return (*this); }
+ ostream_iterator<_U, _E, _Tr> operator++(int)
+ {return (*this); }
+protected:
+ const _E *_Delim;
+ ostream_type *_Ostr;
+ };
+
+template<class _C, class _Ty, class _D> inline
+ _Ty *_Val_type(const iterator<_C, _Ty, _D>&)
+ {return ((_Ty *)0); }
+template<class _Ty> inline
+ _Ty *_Val_type(const _Ty *)
+ {return ((_Ty *)0); }
+
+template<class _II, class _D> inline
+ void advance(_II& _I, _D _N)
+ {_Advance(_I, _N, _Iter_cat(_I)); }
+template<class _II, class _D> inline
+ void _Advance(_II& _I, _D _N, input_iterator_tag)
+ {for (; 0 < _N; --_N)
+ ++_I; }
+template<class _FI, class _D> inline
+ void _Advance(_FI& _I, _D _N, forward_iterator_tag)
+ {for (; 0 < _N; --_N)
+ ++_I; }
+template<class _BI, class _D> inline
+ void _Advance(_BI& _I, _D _N, bidirectional_iterator_tag)
+ {for (; 0 < _N; --_N)
+ ++_I;
+ for (; _N < 0; ++_N)
+ --_I; }
+template<class _RI, class _D> inline
+ void _Advance(_RI& _I, _D _N, random_access_iterator_tag)
+ {_I += _N; }
+
+template<class _C, class _Ty, class _D> inline
+ _D *_Dist_type(const iterator<_C, _Ty, _D>&)
+ {return ((_D *)0); }
+template<class _Ty> inline
+ ptrdiff_t *_Dist_type(const _Ty *)
+ {return ((ptrdiff_t *)0); }
+};
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef void (__cdecl *terminate_function)();
+typedef void (__cdecl *unexpected_function)();
+typedef void (__cdecl *terminate_handler)();
+typedef void (__cdecl *unexpected_handler)();
+
+
+struct _EXCEPTION_POINTERS;
+typedef void (__cdecl *_se_translator_function)(unsigned int, struct _EXCEPTION_POINTERS*);
+
+
+
+ __declspec(noreturn) void __cdecl terminate(void);
+ __declspec(noreturn) void __cdecl unexpected(void);
+
+
+
+
+
+ terminate_function __cdecl set_terminate(terminate_function);
+ unexpected_function __cdecl set_unexpected(unexpected_function);
+
+ _se_translator_function __cdecl _set_se_translator(_se_translator_function);
+
+
+
+#pragma pack(pop)
+
+
+
+
+
+
+#pragma pack(push,8)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef const char *__exString;
+
+class exception
+{
+public:
+ exception();
+ exception(const __exString&);
+ exception(const exception&);
+ exception& operator= (const exception&);
+ virtual ~exception();
+ virtual __exString what() const;
+private:
+ __exString _m_what;
+ int _m_doFree;
+};
+namespace std {
+using ::exception;
+
+
+class bad_exception : public exception {
+public:
+ bad_exception(const char *_S = "bad exception") throw ()
+ : exception(_S) {}
+ virtual ~bad_exception() throw ()
+ {}
+protected:
+ virtual void _Doraise() const
+ {throw (*this); }
+ };
+
+ bool __cdecl uncaught_exception();
+
+};
+
+
+
+
+
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+namespace std {
+
+class bad_alloc : public exception {
+public:
+ bad_alloc(const char *_S = "bad allocation") throw ()
+ : exception(_S) {}
+ virtual ~bad_alloc() throw ()
+ {}
+protected:
+ virtual void _Doraise() const
+ {throw (*this); }
+ };
+
+struct nothrow_t {};
+extern const nothrow_t nothrow;
+};
+
+typedef void (__cdecl *new_handler)();
+
+
+void __cdecl operator delete(void *) throw ();
+void *__cdecl operator new(size_t) throw (std::bad_alloc);
+void *__cdecl operator new(size_t, const std::nothrow_t&)
+ throw ();
+
+
+
+inline void *__cdecl operator new(size_t, void *_P)
+ {return (_P); }
+
+inline void __cdecl operator delete(void *, void *)
+ {return; }
+
+
+
+
+
+
+ new_handler __cdecl set_new_handler(new_handler) throw ();
+
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+
+
+
+
+
+
+
+
+namespace std {
+
+template<class _Ty> inline
+ _Ty *_Allocate(ptrdiff_t _N, _Ty *)
+ {if (_N < 0)
+ _N = 0;
+ return ((_Ty *)operator new(
+ (size_t)_N * sizeof (_Ty))); }
+
+template<class _T1, class _T2> inline
+ void _Construct(_T1 *_P, const _T2& _V)
+ {new ((void *)_P) _T1(_V); }
+
+template<class _Ty> inline
+ void _Destroy(_Ty *_P)
+ {(_P)->~_Ty(); }
+inline void _Destroy(char *_P)
+ {}
+inline void _Destroy(wchar_t *_P)
+ {}
+
+template<class _Ty>
+ class allocator {
+public:
+ typedef size_t size_type;
+ typedef ptrdiff_t difference_type;
+ typedef _Ty *pointer;
+ typedef const _Ty *const_pointer;
+ typedef _Ty & reference;
+ typedef const _Ty & const_reference;
+ typedef _Ty value_type;
+ pointer address(reference _X) const
+ {return (&_X); }
+ const_pointer address(const_reference _X) const
+ {return (&_X); }
+ pointer allocate(size_type _N, const void *)
+ {return (_Allocate((difference_type)_N, (pointer)0)); }
+ char *_Charalloc(size_type _N)
+ {return (_Allocate((difference_type)_N,
+ (char *)0)); }
+ void deallocate(void *_P, size_type)
+ {operator delete(_P); }
+ void construct(pointer _P, const _Ty& _V)
+ {_Construct(_P, _V); }
+ void destroy(pointer _P)
+ {_Destroy(_P); }
+ size_t max_size() const
+ {size_t _N = (size_t)(-1) / sizeof (_Ty);
+ return (0 < _N ? _N : 1); }
+ };
+template<class _Ty, class _U> inline
+ bool operator==(const allocator<_Ty>&, const allocator<_U>&)
+ {return (true); }
+template<class _Ty, class _U> inline
+ bool operator!=(const allocator<_Ty>&, const allocator<_U>&)
+ {return (false); }
+
+template<> class allocator<void> {
+public:
+ typedef void _Ty;
+ typedef _Ty *pointer;
+ typedef const _Ty *const_pointer;
+ typedef _Ty value_type;
+ };
+};
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+
+template<class _Ty>
+ inline void *operator new(size_t _N, std::allocator<_Ty>& _Al)
+ {return (_Al._Charalloc(_N)); }
+namespace std {
+
+template<class _Ty> inline
+ pair<_Ty *, ptrdiff_t>
+ get_temporary_buffer(ptrdiff_t _N, _Ty *)
+ {_Ty *_P;
+ for (_P = 0; 0 < _N; _N /= 2)
+ if ((_P = (_Ty *)operator new(
+ (size_t)_N * sizeof (_Ty), nothrow)) != 0)
+ break;
+ return (pair<_Ty *, ptrdiff_t>(_P, _N)); }
+
+template<class _Ty> inline
+ void return_temporary_buffer(_Ty *_P)
+ {operator delete(_P); }
+
+template<class _II, class _FI> inline
+ _FI uninitialized_copy(_II _F, _II _L, _FI _X)
+ {for (; _F != _L; ++_X, ++_F)
+ _Construct(&*_X, *_F);
+ return (_X); }
+
+template<class _FI, class _Ty> inline
+ void uninitialized_fill(_FI _F, _FI _L, const _Ty& _X)
+ {for (; _F != _L; ++_F)
+ _Construct(&*_F, _X); }
+
+template<class _FI, class _S, class _Ty> inline
+ void uninitialized_fill_n(_FI _F, _S _N, const _Ty& _X)
+ {for (; 0 < _N; --_N, ++_F)
+ _Construct(&*_F, _X); }
+
+template<class _OI, class _Ty>
+ class raw_storage_iterator
+ : public iterator<output_iterator_tag, void, void> {
+public:
+ typedef _OI iterator_type;
+ typedef _Ty element_type;
+ explicit raw_storage_iterator(_OI _X)
+ : _Next(_X) {}
+ raw_storage_iterator<_OI, _Ty>& operator*()
+ {return (*this); }
+ raw_storage_iterator<_OI, _Ty>& operator=(const _Ty& _X)
+ {_Construct(&*_Next, _X);
+ return (*this); }
+ raw_storage_iterator<_OI, _Ty>& operator++()
+ {++_Next;
+ return (*this); }
+ raw_storage_iterator<_OI, _Ty> operator++(int)
+ {raw_storage_iterator<_OI, _Ty> _Ans = *this;
+ ++_Next;
+ return (_Ans); }
+private:
+ _OI _Next;
+ };
+
+template<class _Ty>
+ class _Temp_iterator
+ : public iterator<output_iterator_tag, void, void> {
+public:
+ typedef _Ty *_Pty;
+ _Temp_iterator(ptrdiff_t _N = 0)
+ {pair<_Pty, ptrdiff_t> _Pair =
+ get_temporary_buffer(_N, (_Pty)0);
+ _Buf._Begin = _Pair.first;
+ _Buf._Cur = _Pair.first;
+ _Buf._Hiwater = _Pair.first;
+ _Buf._Len = _Pair.second;
+ _Pb = &_Buf; }
+ _Temp_iterator(const _Temp_iterator<_Ty>& _X)
+ {_Buf._Begin = 0;
+ _Buf._Cur = 0;
+ _Buf._Hiwater = 0;
+ _Buf._Len = 0;
+ *this = _X; }
+ ~_Temp_iterator()
+ {if (_Buf._Begin != 0)
+ {for (_Pty _F = _Buf._Begin;
+ _F != _Buf._Hiwater; ++_F)
+ _Destroy(&*_F);
+ return_temporary_buffer(_Buf._Begin); }}
+ _Temp_iterator<_Ty>& operator=(const _Temp_iterator<_Ty>& _X)
+ {_Pb = _X._Pb;
+ return (*this); }
+ _Temp_iterator<_Ty>& operator=(const _Ty& _V)
+ {if (_Pb->_Cur < _Pb->_Hiwater)
+ *_Pb->_Cur++ = _V;
+ else
+ {_Construct(&*_Pb->_Cur, _V);
+ _Pb->_Hiwater = ++_Pb->_Cur; }
+ return (*this); }
+ _Temp_iterator<_Ty>& operator*()
+ {return (*this); }
+ _Temp_iterator<_Ty>& operator++()
+ {return (*this); }
+ _Temp_iterator<_Ty>& operator++(int)
+ {return (*this); }
+ _Temp_iterator<_Ty>& _Init()
+ {_Pb->_Cur = _Pb->_Begin;
+ return (*this); }
+ _Pty _First() const
+ {return (_Pb->_Begin); }
+ _Pty _Last() const
+ {return (_Pb->_Cur); }
+ ptrdiff_t _Maxlen() const
+ {return (_Pb->_Len); }
+private:
+ struct _Bufpar {
+ _Pty _Begin;
+ _Pty _Cur;
+ _Pty _Hiwater;
+ ptrdiff_t _Len;
+ } _Buf, *_Pb;
+ };
+
+template<class _Ty>
+ class auto_ptr {
+public:
+ typedef _Ty element_type;
+ explicit auto_ptr(_Ty *_P = 0) throw ()
+ : _Owns(_P != 0), _Ptr(_P) {}
+ auto_ptr(const auto_ptr<_Ty>& _Y) throw ()
+ : _Owns(_Y._Owns), _Ptr(_Y.release()) {}
+ auto_ptr<_Ty>& operator=(const auto_ptr<_Ty>& _Y) throw ()
+ {if (this != &_Y)
+ {if (_Ptr != _Y.get())
+ {if (_Owns)
+ delete _Ptr;
+ _Owns = _Y._Owns; }
+ else if (_Y._Owns)
+ _Owns = true;
+ _Ptr = _Y.release(); }
+ return (*this); }
+ ~auto_ptr()
+ {if (_Owns)
+ delete _Ptr; }
+ _Ty& operator*() const throw ()
+ {return (*get()); }
+ _Ty *operator->() const throw ()
+ {return (get()); }
+ _Ty *get() const throw ()
+ {return (_Ptr); }
+ _Ty *release() const throw ()
+ {((auto_ptr<_Ty> *)this)->_Owns = false;
+ return (_Ptr); }
+private:
+ bool _Owns;
+ _Ty *_Ptr;
+ };
+};
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+namespace std {
+
+template<class _II, class _OI> inline
+ _OI copy(_II _F, _II _L, _OI _X)
+ {for (; _F != _L; ++_X, ++_F)
+ *_X = *_F;
+ return (_X); }
+
+template<class _BI1, class _BI2> inline
+ _BI2 copy_backward(_BI1 _F, _BI1 _L, _BI2 _X)
+ {while (_F != _L)
+ *--_X = *--_L;
+ return (_X); }
+
+template<class _II1, class _II2> inline
+ bool equal(_II1 _F, _II1 _L, _II2 _X)
+ {return (mismatch(_F, _L, _X).first == _L); }
+
+template<class _II1, class _II2, class _Pr> inline
+ bool equal(_II1 _F, _II1 _L, _II2 _X, _Pr _P)
+ {return (mismatch(_F, _L, _X, _P).first == _L); }
+
+template<class _FI, class _Ty> inline
+ void fill(_FI _F, _FI _L, const _Ty& _X)
+ {for (; _F != _L; ++_F)
+ *_F = _X; }
+
+template<class _OI, class _Sz, class _Ty> inline
+ void fill_n(_OI _F, _Sz _N, const _Ty& _X)
+ {for (; 0 < _N; --_N, ++_F)
+ *_F = _X; }
+
+template<class _II1, class _II2> inline
+ bool lexicographical_compare(_II1 _F1, _II1 _L1,
+ _II2 _F2, _II2 _L2)
+ {for (; _F1 != _L1 && _F2 != _L2; ++_F1, ++_F2)
+ if (*_F1 < *_F2)
+ return (true);
+ else if (*_F2 < *_F1)
+ return (false);
+ return (_F1 == _L1 && _F2 != _L2); }
+
+template<class _II1, class _II2, class _Pr> inline
+ bool lexicographical_compare(_II1 _F1, _II1 _L1,
+ _II2 _F2, _II2 _L2, _Pr _P)
+ {for (; _F1 != _L1 && _F2 != _L2; ++_F1, ++_F2)
+ if (_P(*_F1, *_F2))
+ return (true);
+ else if (_P(*_F2, *_F1))
+ return (false);
+ return (_F1 == _L1 && _F2 != _L2); }
+
+
+
+
+
+template<class _Ty> inline
+ const _Ty& _cpp_max(const _Ty& _X, const _Ty& _Y)
+ {return (_X < _Y ? _Y : _X); }
+
+template<class _Ty, class _Pr> inline
+ const _Ty& _cpp_max(const _Ty& _X, const _Ty& _Y, _Pr _P)
+ {return (_P(_X, _Y) ? _Y : _X); }
+
+template<class _Ty> inline
+ const _Ty& _cpp_min(const _Ty& _X, const _Ty& _Y)
+ {return (_Y < _X ? _Y : _X); }
+
+template<class _Ty, class _Pr> inline
+ const _Ty& _cpp_min(const _Ty& _X, const _Ty& _Y, _Pr _P)
+ {return (_P(_Y, _X) ? _Y : _X); }
+
+template<class _II1, class _II2> inline
+ pair<_II1, _II2> mismatch(_II1 _F, _II1 _L, _II2 _X)
+ {for (; _F != _L && *_F == *_X; ++_F, ++_X)
+ ;
+ return (pair<_II1, _II2>(_F, _X)); }
+
+template<class _II1, class _II2, class _Pr> inline
+ pair<_II1, _II2> mismatch(_II1 _F, _II1 _L, _II2 _X, _Pr _P)
+ {for (; _F != _L && _P(*_F, *_X); ++_F, ++_X)
+ ;
+ return (pair<_II1, _II2>(_F, _X)); }
+
+template<class _Ty> inline
+ void swap(_Ty& _X, _Ty& _Y)
+ {_Ty _Tmp = _X;
+ _X = _Y, _Y = _Tmp; }
+};
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+namespace std {
+ void __cdecl _Xlen();
+ void __cdecl _Xran();
+
+template<class _E,
+ class _Tr = char_traits<_E>,
+ class _A = allocator<_E> >
+ class basic_string {
+public:
+ typedef basic_string<_E, _Tr, _A> _Myt;
+ typedef _A::size_type size_type;
+ typedef _A::difference_type difference_type;
+ typedef _A::pointer pointer;
+ typedef _A::const_pointer const_pointer;
+ typedef _A::reference reference;
+ typedef _A::const_reference const_reference;
+ typedef _A::value_type value_type;
+ typedef _A::pointer iterator;
+ typedef _A::const_pointer const_iterator;
+ typedef reverse_iterator<const_iterator, value_type,
+ const_reference, const_pointer, difference_type>
+ const_reverse_iterator;
+ typedef reverse_iterator<iterator, value_type,
+ reference, pointer, difference_type>
+ reverse_iterator;
+ explicit basic_string(const _A& _Al = _A())
+ : allocator(_Al) {_Tidy(); }
+ basic_string(const _Myt& _X)
+ : allocator(_X.allocator)
+ {_Tidy(), assign(_X, 0, npos); }
+ basic_string(const _Myt& _X, size_type _P, size_type _M,
+ const _A& _Al = _A())
+ : allocator(_Al) {_Tidy(), assign(_X, _P, _M); }
+ basic_string(const _E *_S, size_type _N,
+ const _A& _Al = _A())
+ : allocator(_Al) {_Tidy(), assign(_S, _N); }
+ basic_string(const _E *_S, const _A& _Al = _A())
+ : allocator(_Al) {_Tidy(), assign(_S); }
+ basic_string(size_type _N, _E _C, const _A& _Al = _A())
+ : allocator(_Al) {_Tidy(), assign(_N, _C); }
+ typedef const_iterator _It;
+ basic_string(_It _F, _It _L, const _A& _Al = _A())
+ : allocator(_Al) {_Tidy(); assign(_F, _L); }
+ ~basic_string()
+ {_Tidy(true); }
+ typedef _Tr traits_type;
+ typedef _A allocator_type;
+ enum _Mref {_FROZEN = 255};
+ static const size_type npos;
+ _Myt& operator=(const _Myt& _X)
+ {return (assign(_X)); }
+ _Myt& operator=(const _E *_S)
+ {return (assign(_S)); }
+ _Myt& operator=(_E _C)
+ {return (assign(1, _C)); }
+ _Myt& operator+=(const _Myt& _X)
+ {return (append(_X)); }
+ _Myt& operator+=(const _E *_S)
+ {return (append(_S)); }
+ _Myt& operator+=(_E _C)
+ {return (append(1, _C)); }
+ _Myt& append(const _Myt& _X)
+ {return (append(_X, 0, npos)); }
+ _Myt& append(const _Myt& _X, size_type _P, size_type _M)
+ {if (_X.size() < _P)
+ _Xran();
+ size_type _N = _X.size() - _P;
+ if (_N < _M)
+ _M = _N;
+ if (npos - _Len <= _M)
+ _Xlen();
+ if (0 < _M && _Grow(_N = _Len + _M))
+ {_Tr::copy(_Ptr + _Len, &_X.c_str()[_P], _M);
+ _Eos(_N); }
+ return (*this); }
+ _Myt& append(const _E *_S, size_type _M)
+ {if (npos - _Len <= _M)
+ _Xlen();
+ size_type _N;
+ if (0 < _M && _Grow(_N = _Len + _M))
+ {_Tr::copy(_Ptr + _Len, _S, _M);
+ _Eos(_N); }
+ return (*this); }
+ _Myt& append(const _E *_S)
+ {return (append(_S, _Tr::length(_S))); }
+ _Myt& append(size_type _M, _E _C)
+ {if (npos - _Len <= _M)
+ _Xlen();
+ size_type _N;
+ if (0 < _M && _Grow(_N = _Len + _M))
+ {_Tr::assign(_Ptr + _Len, _M, _C);
+ _Eos(_N); }
+ return (*this); }
+ _Myt& append(_It _F, _It _L)
+ {return (replace(end(), end(), _F, _L)); }
+ _Myt& assign(const _Myt& _X)
+ {return (assign(_X, 0, npos)); }
+ _Myt& assign(const _Myt& _X, size_type _P, size_type _M)
+ {if (_X.size() < _P)
+ _Xran();
+ size_type _N = _X.size() - _P;
+ if (_M < _N)
+ _N = _M;
+ if (this == &_X)
+ erase((size_type)(_P + _N)), erase(0, _P);
+ else if (0 < _N && _N == _X.size()
+ && _Refcnt(_X.c_str()) < _FROZEN - 1
+ && allocator == _X.allocator)
+ {_Tidy(true);
+ _Ptr = (_E *)_X.c_str();
+ _Len = _X.size();
+ _Res = _X.capacity();
+ ++_Refcnt(_Ptr); }
+ else if (_Grow(_N, true))
+ {_Tr::copy(_Ptr, &_X.c_str()[_P], _N);
+ _Eos(_N); }
+ return (*this); }
+ _Myt& assign(const _E *_S, size_type _N)
+ {if (_Grow(_N, true))
+ {_Tr::copy(_Ptr, _S, _N);
+ _Eos(_N); }
+ return (*this); }
+ _Myt& assign(const _E *_S)
+ {return (assign(_S, _Tr::length(_S))); }
+ _Myt& assign(size_type _N, _E _C)
+ {if (_N == npos)
+ _Xlen();
+ if (_Grow(_N, true))
+ {_Tr::assign(_Ptr, _N, _C);
+ _Eos(_N); }
+ return (*this); }
+ _Myt& assign(_It _F, _It _L)
+ {return (replace(begin(), end(), _F, _L)); }
+ _Myt& insert(size_type _P0, const _Myt& _X)
+ {return (insert(_P0, _X, 0, npos)); }
+ _Myt& insert(size_type _P0, const _Myt& _X, size_type _P,
+ size_type _M)
+ {if (_Len < _P0 || _X.size() < _P)
+ _Xran();
+ size_type _N = _X.size() - _P;
+ if (_N < _M)
+ _M = _N;
+ if (npos - _Len <= _M)
+ _Xlen();
+ if (0 < _M && _Grow(_N = _Len + _M))
+ {_Tr::move(_Ptr + _P0 + _M, _Ptr + _P0, _Len - _P0);
+ _Tr::copy(_Ptr + _P0, &_X.c_str()[_P], _M);
+ _Eos(_N); }
+ return (*this); }
+ _Myt& insert(size_type _P0, const _E *_S, size_type _M)
+ {if (_Len < _P0)
+ _Xran();
+ if (npos - _Len <= _M)
+ _Xlen();
+ size_type _N;
+ if (0 < _M && _Grow(_N = _Len + _M))
+ {_Tr::move(_Ptr + _P0 + _M, _Ptr + _P0, _Len - _P0);
+ _Tr::copy(_Ptr + _P0, _S, _M);
+ _Eos(_N); }
+ return (*this); }
+ _Myt& insert(size_type _P0, const _E *_S)
+ {return (insert(_P0, _S, _Tr::length(_S))); }
+ _Myt& insert(size_type _P0, size_type _M, _E _C)
+ {if (_Len < _P0)
+ _Xran();
+ if (npos - _Len <= _M)
+ _Xlen();
+ size_type _N;
+ if (0 < _M && _Grow(_N = _Len + _M))
+ {_Tr::move(_Ptr + _P0 + _M, _Ptr + _P0, _Len - _P0);
+ _Tr::assign(_Ptr + _P0, _M, _C);
+ _Eos(_N); }
+ return (*this); }
+ iterator insert(iterator _P, _E _C)
+ {size_type _P0 = _Pdif(_P, begin());
+ insert(_P0, 1, _C);
+ return (begin() + _P0); }
+ void insert(iterator _P, size_type _M, _E _C)
+ {size_type _P0 = _Pdif(_P, begin());
+ insert(_P0, _M, _C); }
+ void insert(iterator _P, _It _F, _It _L)
+ {replace(_P, _P, _F, _L); }
+ _Myt& erase(size_type _P0 = 0, size_type _M = npos)
+ {if (_Len < _P0)
+ _Xran();
+ _Split();
+ if (_Len - _P0 < _M)
+ _M = _Len - _P0;
+ if (0 < _M)
+ {_Tr::move(_Ptr + _P0, _Ptr + _P0 + _M,
+ _Len - _P0 - _M);
+ size_type _N = _Len - _M;
+ if (_Grow(_N))
+ _Eos(_N); }
+ return (*this); }
+ iterator erase(iterator _P)
+ {size_t _M = _Pdif(_P, begin());
+ erase(_M, 1);
+ return (_Psum(_Ptr, _M)); }
+ iterator erase(iterator _F, iterator _L)
+ {size_t _M = _Pdif(_F, begin());
+ erase(_M, _Pdif(_L, _F));
+ return (_Psum(_Ptr, _M)); }
+ _Myt& replace(size_type _P0, size_type _N0, const _Myt& _X)
+ {return (replace(_P0, _N0, _X, 0, npos)); }
+ _Myt& replace(size_type _P0, size_type _N0, const _Myt& _X,
+ size_type _P, size_type _M)
+ {if (_Len < _P0 || _X.size() < _P)
+ _Xran();
+ if (_Len - _P0 < _N0)
+ _N0 = _Len - _P0;
+ size_type _N = _X.size() - _P;
+ if (_N < _M)
+ _M = _N;
+ if (npos - _M <= _Len - _N0)
+ _Xlen();
+ _Split();
+ size_type _Nm = _Len - _N0 - _P0;
+ if (_M < _N0)
+ _Tr::move(_Ptr + _P0 + _M, _Ptr + _P0 + _N0, _Nm);
+ if ((0 < _M || 0 < _N0) && _Grow(_N = _Len + _M - _N0))
+ {if (_N0 < _M)
+ _Tr::move(_Ptr + _P0 + _M, _Ptr + _P0 + _N0, _Nm);
+ _Tr::copy(_Ptr + _P0, &_X.c_str()[_P], _M);
+ _Eos(_N); }
+ return (*this); }
+ _Myt& replace(size_type _P0, size_type _N0, const _E *_S,
+ size_type _M)
+ {if (_Len < _P0)
+ _Xran();
+ if (_Len - _P0 < _N0)
+ _N0 = _Len - _P0;
+ if (npos - _M <= _Len - _N0)
+ _Xlen();
+ _Split();
+ size_type _Nm = _Len - _N0 - _P0;
+ if (_M < _N0)
+ _Tr::move(_Ptr + _P0 + _M, _Ptr + _P0 + _N0, _Nm);
+ size_type _N;
+ if ((0 < _M || 0 < _N0) && _Grow(_N = _Len + _M - _N0))
+ {if (_N0 < _M)
+ _Tr::move(_Ptr + _P0 + _M, _Ptr + _P0 + _N0, _Nm);
+ _Tr::copy(_Ptr + _P0, _S, _M);
+ _Eos(_N); }
+ return (*this); }
+ _Myt& replace(size_type _P0, size_type _N0, const _E *_S)
+ {return (replace(_P0, _N0, _S, _Tr::length(_S))); }
+ _Myt& replace(size_type _P0, size_type _N0,
+ size_type _M, _E _C)
+ {if (_Len < _P0)
+ _Xran();
+ if (_Len - _P0 < _N0)
+ _N0 = _Len - _P0;
+ if (npos - _M <= _Len - _N0)
+ _Xlen();
+ _Split();
+ size_type _Nm = _Len - _N0 - _P0;
+ if (_M < _N0)
+ _Tr::move(_Ptr + _P0 + _M, _Ptr + _P0 + _N0, _Nm);
+ size_type _N;
+ if ((0 < _M || 0 < _N0) && _Grow(_N = _Len + _M - _N0))
+ {if (_N0 < _M)
+ _Tr::move(_Ptr + _P0 + _M, _Ptr + _P0 + _N0,
+ _Nm);
+ _Tr::assign(_Ptr + _P0, _M, _C);
+ _Eos(_N); }
+ return (*this); }
+ _Myt& replace(iterator _F, iterator _L, const _Myt& _X)
+ {return (replace(
+ _Pdif(_F, begin()), _Pdif(_L, _F), _X)); }
+ _Myt& replace(iterator _F, iterator _L, const _E *_S,
+ size_type _M)
+ {return (replace(
+ _Pdif(_F, begin()), _Pdif(_L, _F), _S, _M)); }
+ _Myt& replace(iterator _F, iterator _L, const _E *_S)
+ {return (replace(
+ _Pdif(_F, begin()), _Pdif(_L, _F), _S)); }
+ _Myt& replace(iterator _F, iterator _L, size_type _M, _E _C)
+ {return (replace(
+ _Pdif(_F, begin()), _Pdif(_L, _F), _M, _C)); }
+ _Myt& replace(iterator _F1, iterator _L1,
+ _It _F2, _It _L2)
+ {size_type _P0 = _Pdif(_F1, begin());
+ size_type _M = 0;
+ _Distance(_F2, _L2, _M);
+ replace(_P0, _Pdif(_L1, _F1), _M, _E(0));
+ for (_F1 = begin() + _P0; 0 < _M; ++_F1, ++_F2, --_M)
+ *_F1 = *_F2;
+ return (*this); }
+ iterator begin()
+ {_Freeze();
+ return (_Ptr); }
+ const_iterator begin() const
+ {return (_Ptr); }
+ iterator end()
+ {_Freeze();
+ return ((iterator)_Psum(_Ptr, _Len)); }
+ const_iterator end() const
+ {return ((const_iterator)_Psum(_Ptr, _Len)); }
+ reverse_iterator rbegin()
+ {return (reverse_iterator(end())); }
+ const_reverse_iterator rbegin() const
+ {return (const_reverse_iterator(end())); }
+ reverse_iterator rend()
+ {return (reverse_iterator(begin())); }
+ const_reverse_iterator rend() const
+ {return (const_reverse_iterator(begin())); }
+ reference at(size_type _P0)
+ {if (_Len <= _P0)
+ _Xran();
+ _Freeze();
+ return (_Ptr[_P0]); }
+ const_reference at(size_type _P0) const
+ {if (_Len <= _P0)
+ _Xran();
+ return (_Ptr[_P0]); }
+ reference operator[](size_type _P0)
+ {if (_Len < _P0 || _Ptr == 0)
+ return ((reference)*_Nullstr());
+ _Freeze();
+ return (_Ptr[_P0]); }
+ const_reference operator[](size_type _P0) const
+ {if (_Ptr == 0)
+ return (*_Nullstr());
+ else
+ return (_Ptr[_P0]); }
+ const _E *c_str() const
+ {return (_Ptr == 0 ? _Nullstr() : _Ptr); }
+ const _E *data() const
+ {return (c_str()); }
+ size_type length() const
+ {return (_Len); }
+ size_type size() const
+ {return (_Len); }
+ size_type max_size() const
+ {size_type _N = allocator.max_size();
+ return (_N <= 2 ? 1 : _N - 2); }
+ void resize(size_type _N, _E _C)
+ {_N <= _Len ? erase(_N) : append(_N - _Len, _C); }
+ void resize(size_type _N)
+ {_N <= _Len ? erase(_N) : append(_N - _Len, _E(0)); }
+ size_type capacity() const
+ {return (_Res); }
+ void reserve(size_type _N = 0)
+ {if (_Res < _N)
+ _Grow(_N); }
+ bool empty() const
+ {return (_Len == 0); }
+ size_type copy(_E *_S, size_type _N, size_type _P0 = 0) const
+ {if (_Len < _P0)
+ _Xran();
+ if (_Len - _P0 < _N)
+ _N = _Len - _P0;
+ if (0 < _N)
+ _Tr::copy(_S, _Ptr + _P0, _N);
+ return (_N); }
+ void swap(_Myt& _X)
+ {if (allocator == _X.allocator)
+ {std::swap(_Ptr, _X._Ptr);
+ std::swap(_Len, _X._Len);
+ std::swap(_Res, _X._Res); }
+ else
+ {_Myt _Ts = *this; *this = _X, _X = _Ts; }}
+ friend void swap(_Myt& _X, _Myt& _Y)
+ {_X.swap(_Y); }
+ size_type find(const _Myt& _X, size_type _P = 0) const
+ {return (find(_X.c_str(), _P, _X.size())); }
+ size_type find(const _E *_S, size_type _P,
+ size_type _N) const
+ {if (_N == 0 && _P <= _Len)
+ return (_P);
+ size_type _Nm;
+ if (_P < _Len && _N <= (_Nm = _Len - _P))
+ {const _E *_U, *_V;
+ for (_Nm -= _N - 1, _V = _Ptr + _P;
+ (_U = _Tr::find(_V, _Nm, *_S)) != 0;
+ _Nm -= _U - _V + 1, _V = _U + 1)
+ if (_Tr::compare(_U, _S, _N) == 0)
+ return (_U - _Ptr); }
+ return (npos); }
+ size_type find(const _E *_S, size_type _P = 0) const
+ {return (find(_S, _P, _Tr::length(_S))); }
+ size_type find(_E _C, size_type _P = 0) const
+ {return (find((const _E *)&_C, _P, 1)); }
+ size_type rfind(const _Myt& _X, size_type _P = npos) const
+ {return (rfind(_X.c_str(), _P, _X.size())); }
+ size_type rfind(const _E *_S, size_type _P,
+ size_type _N) const
+ {if (_N == 0)
+ return (_P < _Len ? _P : _Len);
+ if (_N <= _Len)
+ for (const _E *_U = _Ptr +
+ + (_P < _Len - _N ? _P : _Len - _N); ; --_U)
+ if (_Tr::eq(*_U, *_S)
+ && _Tr::compare(_U, _S, _N) == 0)
+ return (_U - _Ptr);
+ else if (_U == _Ptr)
+ break;
+ return (npos); }
+ size_type rfind(const _E *_S, size_type _P = npos) const
+ {return (rfind(_S, _P, _Tr::length(_S))); }
+ size_type rfind(_E _C, size_type _P = npos) const
+ {return (rfind((const _E *)&_C, _P, 1)); }
+ size_type find_first_of(const _Myt& _X,
+ size_type _P = 0) const
+ {return (find_first_of(_X.c_str(), _P, _X.size())); }
+ size_type find_first_of(const _E *_S, size_type _P,
+ size_type _N) const
+ {if (0 < _N && _P < _Len)
+ {const _E *const _V = _Ptr + _Len;
+ for (const _E *_U = _Ptr + _P; _U < _V; ++_U)
+ if (_Tr::find(_S, _N, *_U) != 0)
+ return (_U - _Ptr); }
+ return (npos); }
+ size_type find_first_of(const _E *_S, size_type _P = 0) const
+ {return (find_first_of(_S, _P, _Tr::length(_S))); }
+ size_type find_first_of(_E _C, size_type _P = 0) const
+ {return (find((const _E *)&_C, _P, 1)); }
+ size_type find_last_of(const _Myt& _X,
+ size_type _P = npos) const
+ {return (find_last_of(_X.c_str(), _P, _X.size())); }
+ size_type find_last_of(const _E *_S, size_type _P,
+ size_type _N) const
+ {if (0 < _N && 0 < _Len)
+ for (const _E *_U = _Ptr
+ + (_P < _Len ? _P : _Len - 1); ; --_U)
+ if (_Tr::find(_S, _N, *_U) != 0)
+ return (_U - _Ptr);
+ else if (_U == _Ptr)
+ break;
+ return (npos); }
+ size_type find_last_of(const _E *_S,
+ size_type _P = npos) const
+ {return (find_last_of(_S, _P, _Tr::length(_S))); }
+ size_type find_last_of(_E _C, size_type _P = npos) const
+ {return (rfind((const _E *)&_C, _P, 1)); }
+ size_type find_first_not_of(const _Myt& _X,
+ size_type _P = 0) const
+ {return (find_first_not_of(_X.c_str(), _P,
+ _X.size())); }
+ size_type find_first_not_of(const _E *_S, size_type _P,
+ size_type _N) const
+ {if (_P < _Len)
+ {const _E *const _V = _Ptr + _Len;
+ for (const _E *_U = _Ptr + _P; _U < _V; ++_U)
+ if (_Tr::find(_S, _N, *_U) == 0)
+ return (_U - _Ptr); }
+ return (npos); }
+ size_type find_first_not_of(const _E *_S,
+ size_type _P = 0) const
+ {return (find_first_not_of(_S, _P, _Tr::length(_S))); }
+ size_type find_first_not_of(_E _C, size_type _P = 0) const
+ {return (find_first_not_of((const _E *)&_C, _P, 1)); }
+ size_type find_last_not_of(const _Myt& _X,
+ size_type _P = npos) const
+ {return (find_last_not_of(_X.c_str(), _P, _X.size())); }
+ size_type find_last_not_of(const _E *_S, size_type _P,
+ size_type _N) const
+ {if (0 < _Len)
+ for (const _E *_U = _Ptr
+ + (_P < _Len ? _P : _Len - 1); ; --_U)
+ if (_Tr::find(_S, _N, *_U) == 0)
+ return (_U - _Ptr);
+ else if (_U == _Ptr)
+ break;
+ return (npos); }
+ size_type find_last_not_of(const _E *_S,
+ size_type _P = npos) const
+ {return (find_last_not_of(_S, _P, _Tr::length(_S))); }
+ size_type find_last_not_of(_E _C, size_type _P = npos) const
+ {return (find_last_not_of((const _E *)&_C, _P, 1)); }
+ _Myt substr(size_type _P = 0, size_type _M = npos) const
+ {return (_Myt(*this, _P, _M)); }
+ int compare(const _Myt& _X) const
+ {return (compare(0, _Len, _X.c_str(), _X.size())); }
+ int compare(size_type _P0, size_type _N0,
+ const _Myt& _X) const
+ {return (compare(_P0, _N0, _X, 0, npos)); }
+ int compare(size_type _P0, size_type _N0, const _Myt& _X,
+ size_type _P, size_type _M) const
+ {if (_X.size() < _P)
+ _Xran();
+ if (_X._Len - _P < _M)
+ _M = _X._Len - _P;
+ return (compare(_P0, _N0, _X.c_str() + _P, _M)); }
+ int compare(const _E *_S) const
+ {return (compare(0, _Len, _S, _Tr::length(_S))); }
+ int compare(size_type _P0, size_type _N0, const _E *_S) const
+ {return (compare(_P0, _N0, _S, _Tr::length(_S))); }
+ int compare(size_type _P0, size_type _N0, const _E *_S,
+ size_type _M) const
+ {if (_Len < _P0)
+ _Xran();
+ if (_Len - _P0 < _N0)
+ _N0 = _Len - _P0;
+ size_type _Ans = _Tr::compare(_Psum(_Ptr, _P0), _S,
+ _N0 < _M ? _N0 : _M);
+ return (_Ans != 0 ? _Ans : _N0 < _M ? -1
+ : _N0 == _M ? 0 : +1); }
+ _A get_allocator() const
+ {return (allocator); }
+protected:
+ _A allocator;
+private:
+ enum {_MIN_SIZE = sizeof (_E) <= 32 ? 31 : 7};
+ void _Copy(size_type _N)
+ {size_type _Ns = _N | _MIN_SIZE;
+ if (max_size() < _Ns)
+ _Ns = _N;
+ _E *_S;
+ try {
+ _S = allocator.allocate(_Ns + 2, (void *)0);
+ } catch (...) {
+ _Ns = _N;
+ _S = allocator.allocate(_Ns + 2, (void *)0);
+ }
+ if (0 < _Len)
+ _Tr::copy(_S + 1, _Ptr,_Len>_Ns?_Ns:_Len);
+ size_type _Olen = _Len;
+ _Tidy(true);
+ _Ptr = _S + 1;
+ _Refcnt(_Ptr) = 0;
+ _Res = _Ns;
+ _Eos(_Olen>_Ns?_Ns:_Olen); }
+ void _Eos(size_type _N)
+ {_Tr::assign(_Ptr[_Len = _N], _E(0)); }
+ void _Freeze()
+ {if (_Ptr != 0
+ && _Refcnt(_Ptr) != 0 && _Refcnt(_Ptr) != _FROZEN)
+ _Grow(_Len);
+ if (_Ptr != 0)
+ _Refcnt(_Ptr) = _FROZEN; }
+ bool _Grow(size_type _N, bool _Trim = false)
+ {if (max_size() < _N)
+ _Xlen();
+ if (_Ptr != 0
+ && _Refcnt(_Ptr) != 0 && _Refcnt(_Ptr) != _FROZEN)
+ if (_N == 0)
+ {--_Refcnt(_Ptr), _Tidy();
+ return (false); }
+ else
+ {_Copy(_N);
+ return (true); }
+ if (_N == 0)
+ {if (_Trim)
+ _Tidy(true);
+ else if (_Ptr != 0)
+ _Eos(0);
+ return (false); }
+ else
+ {if (_Trim && (_MIN_SIZE < _Res || _Res < _N))
+ {_Tidy(true);
+ _Copy(_N); }
+ else if (!_Trim && _Res < _N)
+ _Copy(_N);
+ return (true); }}
+ static const _E * __cdecl _Nullstr()
+ {static const _E _C = _E(0);
+ return (&_C); }
+ static size_type _Pdif(const_pointer _P2, const_pointer _P1)
+ {return (_P2 == 0 ? 0 : _P2 - _P1); }
+ static const_pointer _Psum(const_pointer _P, size_type _N)
+ {return (_P == 0 ? 0 : _P + _N); }
+ static pointer _Psum(pointer _P, size_type _N)
+ {return (_P == 0 ? 0 : _P + _N); }
+ unsigned char& _Refcnt(const _E *_U)
+ {return (((unsigned char *)_U)[-1]); }
+ void _Split()
+ {if (_Ptr != 0 && _Refcnt(_Ptr) != 0 && _Refcnt(_Ptr) != _FROZEN)
+ {_E *_Temp = _Ptr;
+ _Tidy(true);
+ assign(_Temp); }}
+ void _Tidy(bool _Built = false)
+ {if (!_Built || _Ptr == 0)
+ ;
+ else if (_Refcnt(_Ptr) == 0 || _Refcnt(_Ptr) == _FROZEN)
+ allocator.deallocate(_Ptr - 1, _Res + 2);
+ else
+ --_Refcnt(_Ptr);
+ _Ptr = 0, _Len = 0, _Res = 0; }
+ _E *_Ptr;
+ size_type _Len, _Res;
+ };
+template<class _E, class _Tr, class _A>
+ const basic_string<_E, _Tr, _A>::size_type
+ basic_string<_E, _Tr, _A>::npos = -1;
+
+
+
+
+
+
+
+
+
+
+typedef basic_string<char, char_traits<char>, allocator<char> >
+ string;
+
+typedef basic_string<wchar_t, char_traits<wchar_t>,
+ allocator<wchar_t> > wstring;
+
+};
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+namespace std {
+
+class logic_error : public exception {
+public:
+ explicit logic_error(const string& _S)
+ : exception(""), _Str(_S) {}
+ virtual ~logic_error()
+ {}
+ virtual const char *what() const
+ {return (_Str.c_str()); }
+protected:
+ virtual void _Doraise() const
+ {throw (*this); }
+private:
+ string _Str;
+ };
+
+class domain_error : public logic_error {
+public:
+ explicit domain_error(const string& _S)
+ : logic_error(_S) {}
+ virtual ~domain_error()
+ {}
+protected:
+ virtual void _Doraise() const
+ {throw (*this); }
+ };
+
+class invalid_argument : public logic_error {
+public:
+ explicit invalid_argument(const string& _S)
+ : logic_error(_S) {}
+ virtual ~invalid_argument()
+ {}
+protected:
+ virtual void _Doraise() const
+ {throw (*this); }
+ };
+
+class length_error : public logic_error {
+public:
+ explicit length_error(const string& _S)
+ : logic_error(_S) {}
+ virtual ~length_error()
+ {}
+protected:
+ virtual void _Doraise() const
+ {throw (*this); }
+ };
+
+class out_of_range : public logic_error {
+public:
+ explicit out_of_range(const string& _S)
+ : logic_error(_S) {}
+ virtual ~out_of_range()
+ {}
+protected:
+ virtual void _Doraise() const
+ {throw (*this); }
+ };
+
+class runtime_error : public exception {
+public:
+ explicit runtime_error(const string& _S)
+ : exception(""), _Str(_S) {}
+ virtual ~runtime_error()
+ {}
+ virtual const char *what() const
+ {return (_Str.c_str()); }
+protected:
+ virtual void _Doraise() const
+ {throw (*this); }
+private:
+ string _Str;
+ };
+
+class overflow_error : public runtime_error {
+public:
+ explicit overflow_error(const string& _S)
+ : runtime_error(_S) {}
+ virtual ~overflow_error()
+ {}
+protected:
+ virtual void _Doraise() const
+ {throw (*this); }
+ };
+
+class underflow_error : public runtime_error {
+public:
+ explicit underflow_error(const string& _S)
+ : runtime_error(_S) {}
+ virtual ~underflow_error()
+ {}
+protected:
+ virtual void _Doraise() const
+ {throw (*this); }
+ };
+
+class range_error : public runtime_error {
+public:
+ explicit range_error(const string& _S)
+ : runtime_error(_S) {}
+ virtual ~range_error()
+ {}
+protected:
+ virtual void _Doraise() const
+ {throw (*this); }
+ };
+};
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+namespace std {
+
+
+
+template<class _Ty, class _A = allocator<_Ty> >
+ class deque {
+public:
+ typedef deque<_Ty, _A> _Myt;
+ typedef _A allocator_type;
+ typedef _A::size_type size_type;
+ typedef _A::difference_type difference_type;
+ typedef _A::pointer _Tptr;
+ typedef _A::const_pointer _Ctptr;
+ typedef _Tptr * _Mapptr;
+ typedef _A::reference reference;
+ typedef _A::const_reference const_reference;
+ typedef _A::value_type value_type;
+
+ class iterator;
+ class const_iterator : public _Ranit<_Ty, difference_type> {
+ public:
+ friend class deque<_Ty, _A>;
+ const_iterator()
+ : _First(0), _Last(0), _Next(0), _Map(0) {}
+ const_iterator(_Tptr _P, _Mapptr _M)
+ : _First(*_M), _Last(*_M + (4096 < sizeof (_Ty) ? 1 : 4096 / sizeof (_Ty))),
+ _Next(_P), _Map(_M) {}
+ const_iterator(const iterator& _X)
+ : _First(_X._First), _Last(_X._Last), _Next(_X._Next),
+ _Map(_X._Map) {}
+ const_reference operator*() const
+ {return (*_Next); }
+ _Ctptr operator->() const
+ {return (&**this); }
+ const_iterator& operator++()
+ {if (++_Next == _Last)
+ {_First = *++_Map;
+ _Last = _First + (4096 < sizeof (_Ty) ? 1 : 4096 / sizeof (_Ty));
+ _Next = _First; }
+ return (*this); }
+ const_iterator operator++(int)
+ {const_iterator _Tmp = *this;
+ ++*this;
+ return (_Tmp); }
+ const_iterator& operator--()
+ {if (_Next == _First)
+ {_First = *--_Map;
+ _Last = _First + (4096 < sizeof (_Ty) ? 1 : 4096 / sizeof (_Ty));
+ _Next = _Last; }
+ --_Next;
+ return (*this); }
+ const_iterator operator--(int)
+ {const_iterator _Tmp = *this;
+ --*this;
+ return (_Tmp); }
+ const_iterator& operator+=(difference_type _N)
+ {_Add(_N);
+ return (*this); }
+ const_iterator& operator-=(difference_type _N)
+ {return (*this += -_N); }
+ const_iterator operator+(difference_type _N) const
+ {const_iterator _Tmp = *this;
+ return (_Tmp += _N); }
+ const_iterator operator-(difference_type _N) const
+ {const_iterator _Tmp = *this;
+ return (_Tmp -= _N); }
+ difference_type operator-(const const_iterator& _X) const
+ {return (_Map == _X._Map ? _Next - _X._Next
+ : (4096 < sizeof (_Ty) ? 1 : 4096 / sizeof (_Ty)) * (_Map - _X._Map - 1)
+ + (_Next - _First) + (_X._Last - _X._Next)); }
+ const_reference operator[](difference_type _N) const
+ {return (*(*this + _N)); }
+ bool operator==(const const_iterator& _X) const
+ {return (_Next == _X._Next); }
+ bool operator!=(const const_iterator& _X) const
+ {return (!(*this == _X)); }
+ bool operator<(const const_iterator& _X) const
+ {return (_Map < _X._Map
+ || _Map == _X._Map && _Next < _X._Next); }
+ bool operator<=(const const_iterator& _X) const
+ {return (!(_X < *this)); }
+ bool operator>(const const_iterator& _X) const
+ {return (_X < *this); }
+ bool operator>=(const const_iterator& _X) const
+ {return (!(*this < _X)); }
+ protected:
+ void _Add(difference_type _N)
+ {difference_type _Off = _N + _Next - _First;
+ difference_type _Moff = (0 <= _Off)
+ ? _Off / (4096 < sizeof (_Ty) ? 1 : 4096 / sizeof (_Ty))
+ : -(((4096 < sizeof (_Ty) ? 1 : 4096 / sizeof (_Ty)) - 1 - _Off) / (4096 < sizeof (_Ty) ? 1 : 4096 / sizeof (_Ty)));
+ if (_Moff == 0)
+ _Next += _N;
+ else
+ {_Map += _Moff;
+ _First = *_Map;
+ _Last = _First + (4096 < sizeof (_Ty) ? 1 : 4096 / sizeof (_Ty));
+ _Next = _First + (_Off - _Moff * (4096 < sizeof (_Ty) ? 1 : 4096 / sizeof (_Ty))); }}
+ public:
+ _Tptr _First, _Last, _Next;
+ _Mapptr _Map;
+ };
+
+ class iterator : public const_iterator {
+ public:
+ iterator()
+ {}
+ iterator(_Tptr _P, _Mapptr _M)
+ : const_iterator(_P, _M) {}
+ reference operator*() const
+ {return (*_Next); }
+ _Tptr operator->() const
+ {return (&**this); }
+ iterator& operator++()
+ {if (++_Next == _Last)
+ {_First = *++_Map;
+ _Last = _First + (4096 < sizeof (_Ty) ? 1 : 4096 / sizeof (_Ty));
+ _Next = _First; }
+ return (*this); }
+ iterator operator++(int)
+ {iterator _Tmp = *this;
+ ++*this;
+ return (_Tmp); }
+ iterator& operator--()
+ {if (_Next == _First)
+ {_First = *--_Map;
+ _Last = _First + (4096 < sizeof (_Ty) ? 1 : 4096 / sizeof (_Ty));
+ _Next = _Last; }
+ --_Next;
+ return (*this); }
+ iterator operator--(int)
+ {iterator _Tmp = *this;
+ --*this;
+ return (_Tmp); }
+ iterator& operator+=(difference_type _N)
+ {_Add(_N);
+ return (*this); }
+ iterator& operator-=(difference_type _N)
+ {return (*this += -_N); }
+ iterator operator+(difference_type _N) const
+ {iterator _Tmp = *this;
+ return (_Tmp += _N); }
+ iterator operator-(difference_type _N) const
+ {iterator _Tmp = *this;
+ return (_Tmp -= _N); }
+ difference_type operator-(const iterator& _X) const
+ {return (_Map == _X._Map ? _Next - _X._Next
+ : (4096 < sizeof (_Ty) ? 1 : 4096 / sizeof (_Ty)) * (_Map - _X._Map - 1)
+ + (_Next - _First) + (_X._Last - _X._Next)); }
+ reference operator[](difference_type _N) const
+ {return (*(*this + _N)); }
+ bool operator==(const iterator& _X) const
+ {return (_Next == _X._Next); }
+ bool operator!=(const iterator& _X) const
+ {return (!(*this == _X)); }
+ bool operator<(const iterator& _X) const
+ {return (_Map < _X._Map
+ || _Map == _X._Map && _Next < _X._Next); }
+ bool operator<=(const iterator& _X) const
+ {return (!(_X < *this)); }
+ bool operator>(const iterator& _X) const
+ {return (_X < *this); }
+ bool operator>=(const iterator& _X) const
+ {return (!(*this < _X)); }
+ };
+ typedef reverse_iterator<const_iterator, value_type,
+ const_reference, _Ctptr, difference_type>
+ const_reverse_iterator;
+ typedef reverse_iterator<iterator, value_type,
+ reference, _Tptr, difference_type>
+ reverse_iterator;
+ explicit deque(const _A& _Al = _A())
+ : allocator(_Al),
+ _First(), _Last(), _Map(0), _Mapsize(0), _Size(0)
+ {}
+ explicit deque(size_type _N, const _Ty& _V = _Ty(),
+ const _A& _Al = _A())
+ : allocator(_Al),
+ _First(), _Last(), _Map(0), _Mapsize(0), _Size(0)
+ {insert(begin(), _N, _V); }
+ deque(const _Myt& _X)
+ : allocator(_X.allocator),
+ _First(), _Last(), _Map(0), _Mapsize(0), _Size(0)
+ {copy(_X.begin(), _X.end(), back_inserter(*this)); }
+ typedef const_iterator _It;
+ deque(_It _F, _It _L, const _A& _Al = _A())
+ : allocator(_Al),
+ _First(), _Last(), _Map(0), _Mapsize(0), _Size(0)
+ {copy(_F, _L, back_inserter(*this)); }
+ ~deque()
+ {while (!empty())
+ pop_front(); }
+ _Myt& operator=(const _Myt& _X)
+ {if (this != &_X)
+ {iterator _S;
+ if (_X.size() <= size())
+ {_S = copy(_X.begin(), _X.end(), begin());
+ erase(_S, end()); }
+ else
+ {const_iterator _Sx = _X.begin() + size();
+ _S = copy(_X.begin(), _Sx, begin());
+ copy(_Sx, _X.end(), inserter(*this, _S)); }}
+ return (*this); }
+ iterator begin()
+ {return (_First); }
+ const_iterator begin() const
+ {return ((const_iterator)_First); }
+ iterator end()
+ {return (_Last); }
+ const_iterator end() const
+ {return ((const_iterator)_Last); }
+ reverse_iterator rbegin()
+ {return (reverse_iterator(end())); }
+ const_reverse_iterator rbegin() const
+ {return (const_reverse_iterator(end())); }
+ reverse_iterator rend()
+ {return (reverse_iterator(begin())); }
+ const_reverse_iterator rend() const
+ {return (const_reverse_iterator(begin())); }
+ void resize(size_type _N, _Ty _X = _Ty())
+ {if (size() < _N)
+ insert(end(), _N - size(), _X);
+ else if (_N < size())
+ erase(begin() + _N, end()); }
+ size_type size() const
+ {return (_Size); }
+ size_type max_size() const
+ {return (allocator.max_size()); }
+ bool empty() const
+ {return (size() == 0); }
+ _A get_allocator() const
+ {return (allocator); }
+ const_reference at(size_type _P) const
+ {if (size() <= _P)
+ _Xran();
+ return (*(begin() + _P)); }
+ reference at(size_type _P)
+ {if (size() <= _P)
+ _Xran();
+ return (*(begin() + _P)); }
+ const_reference operator[](size_type _P) const
+ {return (*(begin() + _P)); }
+ reference operator[](size_type _P)
+ {return (*(begin() + _P)); }
+ reference front()
+ {return (*begin()); }
+ const_reference front() const
+ {return (*begin()); }
+ reference back()
+ {return (*(end() - 1)); }
+ const_reference back() const
+ {return (*(end() - 1)); }
+ void push_front(const _Ty& _X)
+ {if (empty() || _First._Next == _First._First)
+ _Buyfront();
+ allocator.construct(--_First._Next, _X);
+ ++_Size; }
+ void pop_front()
+ {allocator.destroy(_First._Next++);
+ --_Size;
+ if (empty() || _First._Next == _First._Last)
+ _Freefront(); }
+ void push_back(const _Ty& _X)
+ {
+ if (empty() || (_Last._Next == _Last._Last))
+ {
+ _Buyback();
+ allocator.construct(_Last._Next++, _X);
+ }
+ else if (_Last._Next + 1 == _Last._Last)
+ {
+ allocator.construct(_Last._Next++, _X);
+ _Buyback();
+ }
+ else
+ allocator.construct(_Last._Next++, _X);
+ ++_Size; }
+ void pop_back()
+ {
+ if (_Last._Next == _Last._First)
+ _Freeback();
+ if (!empty())
+ allocator.destroy(--_Last._Next);
+ --_Size;
+ if (empty())
+ _Freeback(); }
+ void assign(_It _F, _It _L)
+ {erase(begin(), end());
+ insert(begin(), _F, _L); }
+ void assign(size_type _N, const _Ty& _X = _Ty())
+ {erase(begin(), end());
+ insert(begin(), _N, _X); }
+ iterator insert(iterator _P, const _Ty& _X = _Ty())
+ {if (_P == begin())
+ {push_front(_X);
+ return (begin()); }
+ else if (_P == end())
+ {push_back(_X);
+ return (end() - 1); }
+ else
+ {iterator _S;
+ size_type _Off = _P - begin();
+ if (_Off < size() / 2)
+ {push_front(front());
+ _S = begin() + _Off;
+ copy(begin() + 2, _S + 1, begin() + 1); }
+ else
+ {push_back(back());
+ _S = begin() + _Off;
+ copy_backward(_S, end() - 2, end() - 1); }
+ *_S = _X;
+ return (_S); }}
+ void insert(iterator _P, size_type _M, const _Ty& _X)
+ {iterator _S;
+ size_type _I;
+ size_type _Off = _P - begin();
+ size_type _Rem = _Size - _Off;
+ if (_Off < _Rem)
+ if (_Off < _M)
+ {for (_I = _M - _Off; 0 < _I; --_I)
+ push_front(_X);
+ for (_I = _Off; 0 < _I; --_I)
+ push_front(begin()[_M - 1]);
+ _S = begin() + _M;
+ fill(_S, _S + _Off, _X); }
+ else
+ {for (_I = _M; 0 < _I; --_I)
+ push_front(begin()[_M - 1]);
+ _S = begin() + _M;
+ copy(_S + _M, _S + _Off, _S);
+ fill(begin() + _Off, _S + _Off, _X); }
+ else
+ if (_Rem < _M)
+ {for (_I = _M - _Rem; 0 < _I; --_I)
+ push_back(_X);
+ for (_I = 0; _I < _Rem; ++_I)
+ push_back(begin()[_Off + _I]);
+ _S = begin() + _Off;
+ fill(_S, _S + _Rem, _X); }
+ else
+ {for (_I = 0; _I < _M; ++_I)
+ push_back(begin()[_Off + _Rem - _M + _I]);
+ _S = begin() + _Off;
+ copy_backward(_S, _S + _Rem - _M, _S + _Rem);
+ fill(_S, _S + _M, _X); }}
+ void insert(iterator _P, _It _F, _It _L)
+ {size_type _M = 0;
+ _Distance(_F, _L, _M);
+ size_type _I;
+ size_type _Off = _P - begin();
+ size_type _Rem = _Size - _Off;
+ if (_Off < _Rem)
+ if (_Off < _M)
+ {_It _Qx = _F;
+ advance(_Qx, _M - _Off);
+ for (_It _Q = _Qx; _F != _Q; )
+ push_front(*--_Q);
+ for (_I = _Off; 0 < _I; --_I)
+ push_front(begin()[_M - 1]);
+ copy(_Qx, _L, begin() + _M); }
+ else
+ {for (_I = _M; 0 < _I; --_I)
+ push_front(begin()[_M - 1]);
+ iterator _S = begin() + _M;
+ copy(_S + _M, _S + _Off, _S);
+ copy(_F, _L, begin() + _Off); }
+ else
+ if (_Rem < _M)
+ {_It _Qx = _F;
+ advance(_Qx, _Rem);
+ for (_It _Q = _Qx; _Q != _L; ++_Q)
+ push_back(*_Q);
+ for (_I = 0; _I < _Rem; ++_I)
+ push_back(begin()[_Off + _I]);
+ copy(_F, _Qx, begin() + _Off); }
+ else
+ {for (_I = 0; _I < _M; ++_I)
+ push_back(begin()[_Off + _Rem - _M + _I]);
+ iterator _S = begin() + _Off;
+ copy_backward(_S, _S + _Rem - _M, _S + _Rem);
+ copy(_F, _L, _S); }}
+ iterator erase(iterator _P)
+ {return (erase(_P, _P + 1)); }
+ iterator erase(iterator _F, iterator _L)
+ {size_type _N = _L - _F;
+ size_type _M = _F - begin();
+ if (_M < end() - _L)
+ {copy_backward(begin(), _F, _L);
+ for (; 0 < _N; --_N)
+ pop_front(); }
+ else
+ {copy(_L, end(), _F);
+ for (; 0 < _N; --_N)
+ pop_back(); }
+ return (_M == 0 ? begin() : begin() + _M); }
+ void clear()
+ {erase(begin(), end()); }
+ void swap(_Myt& _X)
+ {if (allocator == _X.allocator)
+ {std::swap(_First, _X._First);
+ std::swap(_Last, _X._Last);
+ std::swap(_Map, _X._Map);
+ std::swap(_Mapsize, _X._Mapsize);
+ std::swap(_Size, _X._Size); }
+ else
+ {_Myt _Ts = *this; *this = _X, _X = _Ts; }}
+ friend void swap(_Myt& _X, _Myt& _Y)
+ {_X.swap(_Y); }
+protected:
+ void _Buyback()
+ {_Tptr _P = allocator.allocate((4096 < sizeof (_Ty) ? 1 : 4096 / sizeof (_Ty)), (void *)0);
+ if (empty())
+ {_Mapsize = 2;
+ size_type _N = _Mapsize / 2;
+ _Getmap();
+ _Setptr(_Map + _N, _P);
+ _First = iterator(_P + (4096 < sizeof (_Ty) ? 1 : 4096 / sizeof (_Ty)) / 2, _Map + _N);
+ _Last = _First; }
+ else if (_Last._Map < _Map + (_Mapsize - 1))
+ {_Setptr(++_Last._Map, _P);
+ _Last = iterator(_P, _Last._Map); }
+ else
+ {difference_type _I = _Last._Map - _First._Map + 1;
+ _Mapptr _M = _Growmap(2 * _I);
+ _Setptr(_M + _I, _P);
+ _First = iterator(_First._Next, _M);
+ _Last = iterator(_P, _M + _I); }}
+ void _Buyfront()
+ {_Tptr _P = allocator.allocate((4096 < sizeof (_Ty) ? 1 : 4096 / sizeof (_Ty)), (void *)0);
+ if (empty())
+ {_Mapsize = 2;
+ size_type _N = _Mapsize / 2;
+ _Getmap();
+ _Setptr(_Map + _N, _P);
+ _First = iterator(_P + ((4096 < sizeof (_Ty) ? 1 : 4096 / sizeof (_Ty)) / 2 + 1),
+ _Map + _N);
+ _Last = _First; }
+ else if (_Map < _First._Map)
+ {_Setptr(--_First._Map, _P);
+ _First = iterator(_P + (4096 < sizeof (_Ty) ? 1 : 4096 / sizeof (_Ty)), _First._Map); }
+ else if (_Last._Map == _First._Map)
+ {_Setptr(_Last._Map++, *_First._Map);
+ _Setptr(_First._Map+1, *_First._Map);
+ _Setptr(_First._Map, _P);
+ _First = iterator(_P + (4096 < sizeof (_Ty) ? 1 : 4096 / sizeof (_Ty)), _First._Map); }
+ else
+ {difference_type _I = _Last._Map - _First._Map + 1;
+ _Mapptr _M = _Growmap(2 * _I);
+ _Setptr(--_M, _P);
+ _First = iterator(_P + (4096 < sizeof (_Ty) ? 1 : 4096 / sizeof (_Ty)), _M);
+ _Last = iterator(_Last._Next, _M + _I); }}
+ void _Freeback()
+ {_Freeptr(_Last._Map--);
+ if (empty())
+ {if (_First._Map == _Last._Map)
+ _Freeptr(_First._Map);
+ _First = iterator();
+ _Last = _First;
+ _Freemap(); }
+ else
+ _Last = iterator(*_Last._Map + (4096 < sizeof (_Ty) ? 1 : 4096 / sizeof (_Ty)),
+ _Last._Map); }
+ void _Freefront()
+ {_Freeptr(_First._Map++);
+ if (empty())
+ {_First = iterator();
+ _Last = _First;
+ _Freemap(); }
+ else
+ _First = iterator(*_First._Map, _First._Map); }
+ void _Xran() const
+ {throw out_of_range("invalid deque<T> subscript"); }
+ void _Freemap()
+ {allocator.deallocate(_Map, _Mapsize); }
+ void _Freeptr(_Mapptr _M)
+ {allocator.deallocate(*_M, (4096 < sizeof (_Ty) ? 1 : 4096 / sizeof (_Ty))); }
+ void _Getmap()
+ {_Map = (_Mapptr)allocator._Charalloc(
+ _Mapsize * sizeof (_Tptr)); }
+ _Mapptr _Growmap(size_type _Newsize)
+ {_Mapptr _M = (_Mapptr)allocator._Charalloc(
+ _Newsize * sizeof (_Tptr));
+ copy(_First._Map, _Last._Map + 1,
+ _M + _Newsize / 4);
+ allocator.deallocate(_Map, _Mapsize);
+ _Map = _M;
+ _Mapsize = _Newsize;
+ return (_M + _Newsize / 4); }
+ void _Setptr(_Mapptr _M, _Tptr _P)
+ {*_M = _P; }
+ _A allocator;
+ iterator _First, _Last;
+ _Mapptr _Map;
+ size_type _Mapsize, _Size;
+ };
+
+template<class _Ty, class _A> inline
+ bool operator==(const deque<_Ty, _A>& _X,
+ const deque<_Ty, _A>& _Y)
+ {return (_X.size() == _Y.size()
+ && equal(_X.begin(), _X.end(), _Y.begin())); }
+template<class _Ty, class _A> inline
+ bool operator!=(const deque<_Ty, _A>& _X,
+ const deque<_Ty, _A>& _Y)
+ {return (!(_X == _Y)); }
+template<class _Ty, class _A> inline
+ bool operator<(const deque<_Ty, _A>& _X,
+ const deque<_Ty, _A>& _Y)
+ {return (lexicographical_compare(_X.begin(), _X.end(),
+ _Y.begin(), _Y.end())); }
+template<class _Ty, class _A> inline
+ bool operator<=(const deque<_Ty, _A>& _X,
+ const deque<_Ty, _A>& _Y)
+ {return (!(_Y < _X)); }
+template<class _Ty, class _A> inline
+ bool operator>(const deque<_Ty, _A>& _X,
+ const deque<_Ty, _A>& _Y)
+ {return (_Y < _X); }
+template<class _Ty, class _A> inline
+ bool operator>=(const deque<_Ty, _A>& _X,
+ const deque<_Ty, _A>& _Y)
+ {return (!(_X < _Y)); }
+};
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+namespace std {
+
+template<class _Ty, class _C = deque<_Ty> >
+ class stack {
+public:
+ typedef _C::allocator_type allocator_type;
+ typedef _C::value_type value_type;
+ typedef _C::size_type size_type;
+ explicit stack(const allocator_type& _Al = allocator_type())
+ : c(_Al) {}
+ allocator_type get_allocator() const
+ {return (c.get_allocator()); }
+ bool empty() const
+ {return (c.empty()); }
+ size_type size() const
+ {return (c.size()); }
+ value_type& top()
+ {return (c.back()); }
+ const value_type& top() const
+ {return (c.back()); }
+ void push(const value_type& _X)
+ {c.push_back(_X); }
+ void pop()
+ {c.pop_back(); }
+ bool operator==(const stack<_Ty, _C>& _X) const
+ {return (c == _X.c); }
+ bool operator!=(const stack<_Ty, _C>& _X) const
+ {return (!(*this == _X)); }
+ bool operator<(const stack<_Ty, _C>& _X) const
+ {return (c < _X.c); }
+ bool operator>(const stack<_Ty, _C>& _X) const
+ {return (_X < *this); }
+ bool operator<=(const stack<_Ty, _C>& _X) const
+ {return (!(_X < *this)); }
+ bool operator>=(const stack<_Ty, _C>& _X) const
+ {return (!(*this < _X)); }
+protected:
+ _C c;
+ };
+};
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+namespace std {
+
+template<class _A, class _R>
+ struct unary_function {
+ typedef _A argument_type;
+ typedef _R result_type;
+ };
+
+template<class _A1, class _A2, class _R>
+ struct binary_function {
+ typedef _A1 first_argument_type;
+ typedef _A2 second_argument_type;
+ typedef _R result_type;
+ };
+
+template<class _Ty>
+ struct plus : binary_function<_Ty, _Ty, _Ty> {
+ _Ty operator()(const _Ty& _X, const _Ty& _Y) const
+ {return (_X + _Y); }
+ };
+
+template<class _Ty>
+ struct minus : binary_function<_Ty, _Ty, _Ty> {
+ _Ty operator()(const _Ty& _X, const _Ty& _Y) const
+ {return (_X - _Y); }
+ };
+
+template<class _Ty>
+ struct multiplies : binary_function<_Ty, _Ty, _Ty> {
+ _Ty operator()(const _Ty& _X, const _Ty& _Y) const
+ {return (_X * _Y); }
+ };
+
+template<class _Ty>
+ struct divides : binary_function<_Ty, _Ty, _Ty> {
+ _Ty operator()(const _Ty& _X, const _Ty& _Y) const
+ {return (_X / _Y); }
+ };
+
+template<class _Ty>
+ struct modulus : binary_function<_Ty, _Ty, _Ty> {
+ _Ty operator()(const _Ty& _X, const _Ty& _Y) const
+ {return (_X % _Y); }
+ };
+
+template<class _Ty>
+ struct negate : unary_function<_Ty, _Ty> {
+ _Ty operator()(const _Ty& _X) const
+ {return (-_X); }
+ };
+
+template<class _Ty>
+ struct equal_to : binary_function<_Ty, _Ty, bool> {
+ bool operator()(const _Ty& _X, const _Ty& _Y) const
+ {return (_X == _Y); }
+ };
+
+template<class _Ty>
+ struct not_equal_to : binary_function<_Ty, _Ty, bool> {
+ bool operator()(const _Ty& _X, const _Ty& _Y) const
+ {return (_X != _Y); }
+ };
+
+template<class _Ty>
+ struct greater : binary_function<_Ty, _Ty, bool> {
+ bool operator()(const _Ty& _X, const _Ty& _Y) const
+ {return (_X > _Y); }
+ };
+
+template<class _Ty>
+ struct less : binary_function<_Ty, _Ty, bool> {
+ bool operator()(const _Ty& _X, const _Ty& _Y) const
+ {return (_X < _Y); }
+ };
+
+template<class _Ty>
+ struct greater_equal : binary_function<_Ty, _Ty, bool> {
+ bool operator()(const _Ty& _X, const _Ty& _Y) const
+ {return (_X >= _Y); }
+ };
+
+template<class _Ty>
+ struct less_equal : binary_function<_Ty, _Ty, bool> {
+ bool operator()(const _Ty& _X, const _Ty& _Y) const
+ {return (_X <= _Y); }
+ };
+
+template<class _Ty>
+ struct logical_and : binary_function<_Ty, _Ty, bool> {
+ bool operator()(const _Ty& _X, const _Ty& _Y) const
+ {return (_X && _Y); }
+ };
+
+template<class _Ty>
+ struct logical_or : binary_function<_Ty, _Ty, bool> {
+ bool operator()(const _Ty& _X, const _Ty& _Y) const
+ {return (_X || _Y); }
+ };
+
+template<class _Ty>
+ struct logical_not : unary_function<_Ty, bool> {
+ bool operator()(const _Ty& _X) const
+ {return (!_X); }
+ };
+
+template<class _Ufn>
+ class unary_negate
+ : public unary_function<_Ufn::argument_type, bool> {
+public:
+ explicit unary_negate(const _Ufn& _X)
+ : _Fn(_X) {}
+ bool operator()(const _Ufn::argument_type& _X) const
+ {return (!_Fn(_X)); }
+protected:
+ _Ufn _Fn;
+ };
+
+template<class _Ufn> inline
+ unary_negate<_Ufn> not1(const _Ufn& _X)
+ {return (unary_negate<_Ufn>(_X)); }
+
+template<class _Bfn>
+ class binary_negate
+ : public binary_function<_Bfn::first_argument_type,
+ _Bfn::second_argument_type, bool> {
+public:
+ explicit binary_negate(const _Bfn& _X)
+ : _Fn(_X) {}
+ bool operator()(const _Bfn::first_argument_type& _X,
+ const _Bfn::second_argument_type& _Y) const
+ {return (!_Fn(_X, _Y)); }
+protected:
+ _Bfn _Fn;
+ };
+
+template<class _Bfn> inline
+ binary_negate<_Bfn> not2(const _Bfn& _X)
+ {return (binary_negate<_Bfn>(_X)); }
+
+template<class _Bfn>
+ class binder1st
+ : public unary_function<_Bfn::second_argument_type,
+ _Bfn::result_type> {
+public:
+ binder1st(const _Bfn& _X,
+ const _Bfn::first_argument_type& _Y)
+ : op(_X), value(_Y) {}
+ result_type operator()(const argument_type& _X) const
+ {return (op(value, _X)); }
+protected:
+ _Bfn op;
+ _Bfn::first_argument_type value;
+ };
+
+template<class _Bfn, class _Ty> inline
+ binder1st<_Bfn> bind1st(const _Bfn& _X, const _Ty& _Y)
+ {return (binder1st<_Bfn>(_X,
+ _Bfn::first_argument_type(_Y))); }
+
+template<class _Bfn>
+ class binder2nd
+ : public unary_function<_Bfn::first_argument_type,
+ _Bfn::result_type> {
+public:
+ binder2nd(const _Bfn& _X,
+ const _Bfn::second_argument_type& _Y)
+ : op(_X), value(_Y) {}
+ result_type operator()(const argument_type& _X) const
+ {return (op(_X, value)); }
+protected:
+ _Bfn op;
+ _Bfn::second_argument_type value;
+ };
+
+template<class _Bfn, class _Ty> inline
+ binder2nd<_Bfn> bind2nd(const _Bfn& _X, const _Ty& _Y)
+ {return (binder2nd<_Bfn>(_X,
+ _Bfn::second_argument_type(_Y))); }
+
+template<class _A, class _R>
+ class pointer_to_unary_function
+ : public unary_function<_A, _R> {
+public:
+ explicit pointer_to_unary_function(_R (__cdecl *_X)(_A))
+ : _Fn(_X) {}
+ _R operator()(_A _X) const
+ {return (_Fn(_X)); }
+protected:
+ _R (__cdecl *_Fn)(_A);
+ };
+
+template<class _A1, class _A2, class _R>
+ class pointer_to_binary_function
+ : public binary_function<_A1, _A2, _R> {
+public:
+ explicit pointer_to_binary_function(
+ _R (__cdecl *_X)(_A1, _A2))
+ : _Fn(_X) {}
+ _R operator()(_A1 _X, _A2 _Y) const
+ {return (_Fn(_X, _Y)); }
+protected:
+ _R (__cdecl *_Fn)(_A1, _A2);
+ };
+
+template<class _A, class _R> inline
+ pointer_to_unary_function<_A, _R>
+ ptr_fun(_R (__cdecl *_X)(_A))
+ {return (pointer_to_unary_function<_A, _R>(_X)); }
+template<class _A1, class _A2, class _R> inline
+ pointer_to_binary_function<_A1, _A2, _R>
+ ptr_fun(_R (__cdecl *_X)(_A1, _A2))
+ {return (pointer_to_binary_function<_A1, _A2, _R>(_X)); }
+
+template<class _R, class _Ty>
+ class mem_fun_t : public unary_function<_Ty *, _R> {
+public:
+ explicit mem_fun_t(_R (_Ty::*_Pm)())
+ : _Ptr(_Pm) {}
+ _R operator()(_Ty *_P) const
+ {return ((_P->*_Ptr)()); }
+private:
+ _R (_Ty::*_Ptr)();
+ };
+
+template<class _R, class _Ty> inline
+ mem_fun_t<_R, _Ty> mem_fun(_R (_Ty::*_Pm)())
+ {return (mem_fun_t<_R, _Ty>(_Pm)); }
+
+template<class _R, class _Ty, class _A>
+ class mem_fun1_t : public binary_function<_Ty *, _A, _R> {
+public:
+ explicit mem_fun1_t(_R (_Ty::*_Pm)(_A))
+ : _Ptr(_Pm) {}
+ _R operator()(_Ty *_P, _A _Arg) const
+ {return ((_P->*_Ptr)(_Arg)); }
+private:
+ _R (_Ty::*_Ptr)(_A);
+ };
+
+template<class _R, class _Ty, class _A> inline
+ mem_fun1_t<_R, _Ty, _A> mem_fun1(_R (_Ty::*_Pm)(_A))
+ {return (mem_fun1_t<_R, _Ty, _A>(_Pm)); }
+
+template<class _R, class _Ty>
+ class mem_fun_ref_t : public unary_function<_Ty, _R> {
+public:
+ explicit mem_fun_ref_t(_R (_Ty::*_Pm)())
+ : _Ptr(_Pm) {}
+ _R operator()(_Ty& _X) const
+ {return ((_X.*_Ptr)()); }
+private:
+ _R (_Ty::*_Ptr)();
+ };
+
+template<class _R, class _Ty> inline
+ mem_fun_ref_t<_R, _Ty> mem_fun_ref(_R (_Ty::*_Pm)())
+ {return (mem_fun_ref_t<_R, _Ty>(_Pm)); }
+
+template<class _R, class _Ty, class _A>
+ class mem_fun1_ref_t : public binary_function<_Ty *, _A, _R> {
+public:
+ explicit mem_fun1_ref_t(_R (_Ty::*_Pm)(_A))
+ : _Ptr(_Pm) {}
+ _R operator()(_Ty& _X, _A _Arg) const
+ {return ((_X.*_Ptr)(_Arg)); }
+private:
+ _R (_Ty::*_Ptr)(_A);
+ };
+
+template<class _R, class _Ty, class _A> inline
+ mem_fun1_ref_t<_R, _Ty, _A> mem_fun1_ref(_R (_Ty::*_Pm)(_A))
+ {return (mem_fun1_ref_t<_R, _Ty, _A>(_Pm)); }
+};
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+namespace std {
+
+template<class _Ty, class _A = allocator<_Ty> >
+ class list {
+protected:
+ struct _Node;
+ friend struct _Node;
+ typedef _Node * _Nodeptr;
+ struct _Node {
+ _Nodeptr _Next, _Prev;
+ _Ty _Value;
+ };
+ struct _Acc;
+ friend struct _Acc;
+ struct _Acc {
+ typedef _Nodeptr & _Nodepref;
+ typedef _A::reference _Vref;
+ static _Nodepref _Next(_Nodeptr _P)
+ {return ((_Nodepref)(*_P)._Next); }
+ static _Nodepref _Prev(_Nodeptr _P)
+ {return ((_Nodepref)(*_P)._Prev); }
+ static _Vref _Value(_Nodeptr _P)
+ {return ((_Vref)(*_P)._Value); }
+ };
+public:
+ typedef list<_Ty, _A> _Myt;
+ typedef _A allocator_type;
+ typedef _A::size_type size_type;
+ typedef _A::difference_type difference_type;
+ typedef _A::pointer _Tptr;
+ typedef _A::const_pointer _Ctptr;
+ typedef _A::reference reference;
+ typedef _A::const_reference const_reference;
+ typedef _A::value_type value_type;
+
+ class iterator;
+ class const_iterator;
+ friend class const_iterator;
+ class const_iterator : public _Bidit<_Ty, difference_type> {
+ public:
+ const_iterator()
+ {}
+ const_iterator(_Nodeptr _P)
+ : _Ptr(_P) {}
+ const_iterator(const iterator& _X)
+ : _Ptr(_X._Ptr) {}
+ const_reference operator*() const
+ {return (_Acc::_Value(_Ptr)); }
+ _Ctptr operator->() const
+ {return (&**this); }
+ const_iterator& operator++()
+ {_Ptr = _Acc::_Next(_Ptr);
+ return (*this); }
+ const_iterator operator++(int)
+ {const_iterator _Tmp = *this;
+ ++*this;
+ return (_Tmp); }
+ const_iterator& operator--()
+ {_Ptr = _Acc::_Prev(_Ptr);
+ return (*this); }
+ const_iterator operator--(int)
+ {const_iterator _Tmp = *this;
+ --*this;
+ return (_Tmp); }
+ bool operator==(const const_iterator& _X) const
+ {return (_Ptr == _X._Ptr); }
+ bool operator!=(const const_iterator& _X) const
+ {return (!(*this == _X)); }
+ _Nodeptr _Mynode() const
+ {return (_Ptr); }
+ protected:
+ _Nodeptr _Ptr;
+ };
+
+ friend class iterator;
+ class iterator : public const_iterator {
+ public:
+ iterator()
+ {}
+ iterator(_Nodeptr _P)
+ : const_iterator(_P) {}
+ reference operator*() const
+ {return (_Acc::_Value(_Ptr)); }
+ _Tptr operator->() const
+ {return (&**this); }
+ iterator& operator++()
+ {_Ptr = _Acc::_Next(_Ptr);
+ return (*this); }
+ iterator operator++(int)
+ {iterator _Tmp = *this;
+ ++*this;
+ return (_Tmp); }
+ iterator& operator--()
+ {_Ptr = _Acc::_Prev(_Ptr);
+ return (*this); }
+ iterator operator--(int)
+ {iterator _Tmp = *this;
+ --*this;
+ return (_Tmp); }
+ bool operator==(const iterator& _X) const
+ {return (_Ptr == _X._Ptr); }
+ bool operator!=(const iterator& _X) const
+ {return (!(*this == _X)); }
+ };
+ typedef reverse_bidirectional_iterator<iterator,
+ value_type, reference, _Tptr, difference_type>
+ reverse_iterator;
+ typedef reverse_bidirectional_iterator<const_iterator,
+ value_type, const_reference, _Ctptr, difference_type>
+ const_reverse_iterator;
+ explicit list(const _A& _Al = _A())
+ : allocator(_Al),
+ _Head(_Buynode()), _Size(0) {}
+ explicit list(size_type _N, const _Ty& _V = _Ty(),
+ const _A& _Al = _A())
+ : allocator(_Al),
+ _Head(_Buynode()), _Size(0)
+ {insert(begin(), _N, _V); }
+ list(const _Myt& _X)
+ : allocator(_X.allocator),
+ _Head(_Buynode()), _Size(0)
+ {insert(begin(), _X.begin(), _X.end()); }
+ list(const _Ty *_F, const _Ty *_L, const _A& _Al = _A())
+ : allocator(_Al),
+ _Head(_Buynode()), _Size(0)
+ {insert(begin(), _F, _L); }
+ typedef const_iterator _It;
+ list(_It _F, _It _L, const _A& _Al = _A())
+ : allocator(_Al),
+ _Head(_Buynode()), _Size(0)
+ {insert(begin(), _F, _L); }
+ ~list()
+ {erase(begin(), end());
+ _Freenode(_Head);
+ _Head = 0, _Size = 0; }
+ _Myt& operator=(const _Myt& _X)
+ {if (this != &_X)
+ {iterator _F1 = begin();
+ iterator _L1 = end();
+ const_iterator _F2 = _X.begin();
+ const_iterator _L2 = _X.end();
+ for (; _F1 != _L1 && _F2 != _L2; ++_F1, ++_F2)
+ *_F1 = *_F2;
+ erase(_F1, _L1);
+ insert(_L1, _F2, _L2); }
+ return (*this); }
+ iterator begin()
+ {return (iterator(_Acc::_Next(_Head))); }
+ const_iterator begin() const
+ {return (const_iterator(_Acc::_Next(_Head))); }
+ iterator end()
+ {return (iterator(_Head)); }
+ const_iterator end() const
+ {return (const_iterator(_Head)); }
+ reverse_iterator rbegin()
+ {return (reverse_iterator(end())); }
+ const_reverse_iterator rbegin() const
+ {return (const_reverse_iterator(end())); }
+ reverse_iterator rend()
+ {return (reverse_iterator(begin())); }
+ const_reverse_iterator rend() const
+ {return (const_reverse_iterator(begin())); }
+ void resize(size_type _N, _Ty _X = _Ty())
+ {if (size() < _N)
+ insert(end(), _N - size(), _X);
+ else
+ while (_N < size())
+ pop_back(); }
+ size_type size() const
+ {return (_Size); }
+ size_type max_size() const
+ {return (allocator.max_size()); }
+ bool empty() const
+ {return (size() == 0); }
+ _A get_allocator() const
+ {return (allocator); }
+ reference front()
+ {return (*begin()); }
+ const_reference front() const
+ {return (*begin()); }
+ reference back()
+ {return (*(--end())); }
+ const_reference back() const
+ {return (*(--end())); }
+ void push_front(const _Ty& _X)
+ {insert(begin(), _X); }
+ void pop_front()
+ {erase(begin()); }
+ void push_back(const _Ty& _X)
+ {insert(end(), _X); }
+ void pop_back()
+ {erase(--end()); }
+ void assign(_It _F, _It _L)
+ {erase(begin(), end());
+ insert(begin(), _F, _L); }
+ void assign(size_type _N, const _Ty& _X = _Ty())
+ {erase(begin(), end());
+ insert(begin(), _N, _X); }
+ iterator insert(iterator _P, const _Ty& _X = _Ty())
+ {_Nodeptr _S = _P._Mynode();
+ _Acc::_Prev(_S) = _Buynode(_S, _Acc::_Prev(_S));
+ _S = _Acc::_Prev(_S);
+ _Acc::_Next(_Acc::_Prev(_S)) = _S;
+ allocator.construct(&_Acc::_Value(_S), _X);
+ ++_Size;
+ return (iterator(_S)); }
+ void insert(iterator _P, size_type _M, const _Ty& _X)
+ {for (; 0 < _M; --_M)
+ insert(_P, _X); }
+ void insert(iterator _P, const _Ty *_F, const _Ty *_L)
+ {for (; _F != _L; ++_F)
+ insert(_P, *_F); }
+ void insert(iterator _P, _It _F, _It _L)
+ {for (; _F != _L; ++_F)
+ insert(_P, *_F); }
+ iterator erase(iterator _P)
+ {_Nodeptr _S = (_P++)._Mynode();
+ _Acc::_Next(_Acc::_Prev(_S)) = _Acc::_Next(_S);
+ _Acc::_Prev(_Acc::_Next(_S)) = _Acc::_Prev(_S);
+ allocator.destroy(&_Acc::_Value(_S));
+ _Freenode(_S);
+ --_Size;
+ return (_P); }
+ iterator erase(iterator _F, iterator _L)
+ {while (_F != _L)
+ erase(_F++);
+ return (_F); }
+ void clear()
+ {erase(begin(), end()); }
+ void swap(_Myt& _X)
+ {if (allocator == _X.allocator)
+ {std::swap(_Head, _X._Head);
+ std::swap(_Size, _X._Size); }
+ else
+ {iterator _P = begin();
+ splice(_P, _X);
+ _X.splice(_X.begin(), *this, _P, end()); }}
+ friend void swap(_Myt& _X, _Myt& _Y)
+ {_X.swap(_Y); }
+ void splice(iterator _P, _Myt& _X)
+ {if (!_X.empty())
+ {_Splice(_P, _X, _X.begin(), _X.end());
+ _Size += _X._Size;
+ _X._Size = 0; }}
+ void splice(iterator _P, _Myt& _X, iterator _F)
+ {iterator _L = _F;
+ if (_P != _F && _P != ++_L)
+ {_Splice(_P, _X, _F, _L);
+ ++_Size;
+ --_X._Size; }}
+ void splice(iterator _P, _Myt& _X, iterator _F, iterator _L)
+ {if (_F != _L)
+ {if (&_X != this)
+ {difference_type _N = 0;
+ _Distance(_F, _L, _N);
+ _Size += _N;
+ _X._Size -= _N; }
+ _Splice(_P, _X, _F, _L); }}
+ void remove(const _Ty& _V)
+ {iterator _L = end();
+ for (iterator _F = begin(); _F != _L; )
+ if (*_F == _V)
+ erase(_F++);
+ else
+ ++_F; }
+ typedef binder2nd<not_equal_to<_Ty> > _Pr1;
+ void remove_if(_Pr1 _Pr)
+ {iterator _L = end();
+ for (iterator _F = begin(); _F != _L; )
+ if (_Pr(*_F))
+ erase(_F++);
+ else
+ ++_F; }
+ void unique()
+ {iterator _F = begin(), _L = end();
+ if (_F != _L)
+ for (iterator _M = _F; ++_M != _L; _M = _F)
+ if (*_F == *_M)
+ erase(_M);
+ else
+ _F = _M; }
+ typedef not_equal_to<_Ty> _Pr2;
+ void unique(_Pr2 _Pr)
+ {iterator _F = begin(), _L = end();
+ if (_F != _L)
+ for (iterator _M = _F; ++_M != _L; _M = _F)
+ if (_Pr(*_F, *_M))
+ erase(_M);
+ else
+ _F = _M; }
+ void merge(_Myt& _X)
+ {if (&_X != this)
+ {iterator _F1 = begin(), _L1 = end();
+ iterator _F2 = _X.begin(), _L2 = _X.end();
+ while (_F1 != _L1 && _F2 != _L2)
+ if (*_F2 < *_F1)
+ {iterator _Mid2 = _F2;
+ _Splice(_F1, _X, _F2, ++_Mid2);
+ _F2 = _Mid2; }
+ else
+ ++_F1;
+ if (_F2 != _L2)
+ _Splice(_L1, _X, _F2, _L2);
+ _Size += _X._Size;
+ _X._Size = 0; }}
+ typedef greater<_Ty> _Pr3;
+ void merge(_Myt& _X, _Pr3 _Pr)
+ {if (&_X != this)
+ {iterator _F1 = begin(), _L1 = end();
+ iterator _F2 = _X.begin(), _L2 = _X.end();
+ while (_F1 != _L1 && _F2 != _L2)
+ if (_Pr(*_F2, *_F1))
+ {iterator _Mid2 = _F2;
+ _Splice(_F1, _X, _F2, ++_Mid2);
+ _F2 = _Mid2; }
+ else
+ ++_F1;
+ if (_F2 != _L2)
+ _Splice(_L1, _X, _F2, _L2);
+ _Size += _X._Size;
+ _X._Size = 0; }}
+ void sort()
+ {if (2 <= size())
+ {const size_t _MAXN = 15;
+ _Myt _X(allocator), _A[_MAXN + 1];
+ size_t _N = 0;
+ while (!empty())
+ {_X.splice(_X.begin(), *this, begin());
+ size_t _I;
+ for (_I = 0; _I < _N && !_A[_I].empty(); ++_I)
+ {_A[_I].merge(_X);
+ _A[_I].swap(_X); }
+ if (_I == _MAXN)
+ _A[_I].merge(_X);
+ else
+ {_A[_I].swap(_X);
+ if (_I == _N)
+ ++_N; }}
+ while (0 < _N)
+ merge(_A[--_N]); }}
+ void sort(_Pr3 _Pr)
+ {if (2 <= size())
+ {const size_t _MAXN = 15;
+ _Myt _X(allocator), _A[_MAXN + 1];
+ size_t _N = 0;
+ while (!empty())
+ {_X.splice(_X.begin(), *this, begin());
+ size_t _I;
+ for (_I = 0; _I < _N && !_A[_I].empty(); ++_I)
+ {_A[_I].merge(_X, _Pr);
+ _A[_I].swap(_X); }
+ if (_I == _MAXN)
+ _A[_I].merge(_X, _Pr);
+ else
+ {_A[_I].swap(_X);
+ if (_I == _N)
+ ++_N; }}
+ while (0 < _N)
+ merge(_A[--_N], _Pr); }}
+ void reverse()
+ {if (2 <= size())
+ {iterator _L = end();
+ for (iterator _F = ++begin(); _F != _L; )
+ {iterator _M = _F;
+ _Splice(begin(), *this, _M, ++_F); }}}
+protected:
+ _Nodeptr _Buynode(_Nodeptr _Narg = 0, _Nodeptr _Parg = 0)
+ {_Nodeptr _S = (_Nodeptr)allocator._Charalloc(
+ 1 * sizeof (_Node));
+ _Acc::_Next(_S) = _Narg != 0 ? _Narg : _S;
+ _Acc::_Prev(_S) = _Parg != 0 ? _Parg : _S;
+ return (_S); }
+ void _Freenode(_Nodeptr _S)
+ {allocator.deallocate(_S, 1); }
+ void _Splice(iterator _P, _Myt& _X, iterator _F, iterator _L)
+ {if (allocator == _X.allocator)
+ {_Acc::_Next(_Acc::_Prev(_L._Mynode())) =
+ _P._Mynode();
+ _Acc::_Next(_Acc::_Prev(_F._Mynode())) =
+ _L._Mynode();
+ _Acc::_Next(_Acc::_Prev(_P._Mynode())) =
+ _F._Mynode();
+ _Nodeptr _S = _Acc::_Prev(_P._Mynode());
+ _Acc::_Prev(_P._Mynode()) =
+ _Acc::_Prev(_L._Mynode());
+ _Acc::_Prev(_L._Mynode()) =
+ _Acc::_Prev(_F._Mynode());
+ _Acc::_Prev(_F._Mynode()) = _S; }
+ else
+ {insert(_P, _F, _L);
+ _X.erase(_F, _L); }}
+ void _Xran() const
+ {throw out_of_range("invalid list<T> subscript"); }
+ _A allocator;
+ _Nodeptr _Head;
+ size_type _Size;
+ };
+
+template<class _Ty, class _A> inline
+ bool operator==(const list<_Ty, _A>& _X,
+ const list<_Ty, _A>& _Y)
+ {return (_X.size() == _Y.size()
+ && equal(_X.begin(), _X.end(), _Y.begin())); }
+template<class _Ty, class _A> inline
+ bool operator!=(const list<_Ty, _A>& _X,
+ const list<_Ty, _A>& _Y)
+ {return (!(_X == _Y)); }
+template<class _Ty, class _A> inline
+ bool operator<(const list<_Ty, _A>& _X,
+ const list<_Ty, _A>& _Y)
+ {return (lexicographical_compare(_X.begin(), _X.end(),
+ _Y.begin(), _Y.end())); }
+template<class _Ty, class _A> inline
+ bool operator>(const list<_Ty, _A>& _X,
+ const list<_Ty, _A>& _Y)
+ {return (_Y < _X); }
+template<class _Ty, class _A> inline
+ bool operator<=(const list<_Ty, _A>& _X,
+ const list<_Ty, _A>& _Y)
+ {return (!(_Y < _X)); }
+template<class _Ty, class _A> inline
+ bool operator>=(const list<_Ty, _A>& _X,
+ const list<_Ty, _A>& _Y)
+ {return (!(_X < _Y)); }
+};
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ extern int * __cdecl _errno(void);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+
+class type_info {
+public:
+ virtual ~type_info();
+ int operator==(const type_info& rhs) const;
+ int operator!=(const type_info& rhs) const;
+ int before(const type_info& rhs) const;
+ const char* name() const;
+ const char* raw_name() const;
+private:
+ void *_m_data;
+ char _m_d_name[1];
+ type_info(const type_info& rhs);
+ type_info& operator=(const type_info& rhs);
+};
+
+
+
+
+
+ namespace std {
+
+class bad_cast : public exception {
+public:
+ bad_cast(const char *_S = "bad cast") throw ()
+ : exception(_S) {}
+ virtual ~bad_cast() throw ()
+ {}
+protected:
+ virtual void _Doraise() const
+ {throw (*this); }
+ };
+
+class bad_typeid : public exception {
+public:
+ bad_typeid(const char *_S = "bad typeid") throw ()
+ : exception(_S) {}
+ virtual ~bad_typeid() throw ()
+ {}
+protected:
+ virtual void _Doraise() const
+ {throw (*this); }
+ };
+
+class __non_rtti_object : public bad_typeid {
+public:
+ __non_rtti_object(const char * what_arg) : bad_typeid(what_arg) {}
+};
+using ::type_info;
+ };
+using std::__non_rtti_object;
+
+
+
+
+
+
+
+
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ extern unsigned short _ctype[];
+ extern unsigned short *_pctype;
+
+ extern wctype_t *_pwctype;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ int __cdecl _isctype(int, int);
+ int __cdecl isalpha(int);
+ int __cdecl isupper(int);
+ int __cdecl islower(int);
+ int __cdecl isdigit(int);
+ int __cdecl isxdigit(int);
+ int __cdecl isspace(int);
+ int __cdecl ispunct(int);
+ int __cdecl isalnum(int);
+ int __cdecl isprint(int);
+ int __cdecl isgraph(int);
+ int __cdecl iscntrl(int);
+ int __cdecl toupper(int);
+ int __cdecl tolower(int);
+ int __cdecl _tolower(int);
+ int __cdecl _toupper(int);
+ int __cdecl __isascii(int);
+ int __cdecl __toascii(int);
+ int __cdecl __iscsymf(int);
+ int __cdecl __iscsym(int);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+
+
+extern "C" {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+struct lconv {
+ char *decimal_point;
+ char *thousands_sep;
+ char *grouping;
+ char *int_curr_symbol;
+ char *currency_symbol;
+ char *mon_decimal_point;
+ char *mon_thousands_sep;
+ char *mon_grouping;
+ char *positive_sign;
+ char *negative_sign;
+ char int_frac_digits;
+ char frac_digits;
+ char p_cs_precedes;
+ char p_sep_by_space;
+ char n_cs_precedes;
+ char n_sep_by_space;
+ char p_sign_posn;
+ char n_sign_posn;
+ };
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ char * __cdecl setlocale(int, const char *);
+ struct lconv * __cdecl localeconv(void);
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+
+
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef struct _Collvec {
+ unsigned long _Hand;
+ unsigned int _Page;
+ } _Collvec;
+
+typedef struct _Ctypevec {
+ unsigned long _Hand;
+ unsigned int _Page;
+ const short *_Table;
+ int _Delfl;
+ } _Ctypevec;
+
+typedef struct _Cvtvec {
+ unsigned long _Hand;
+ unsigned int _Page;
+ } _Cvtvec;
+
+
+extern "C" {
+ _Collvec __cdecl _Getcoll();
+ _Ctypevec __cdecl _Getctype();
+ _Cvtvec __cdecl _Getcvt();
+char *__cdecl _Getdays();
+char *__cdecl _Getmonths();
+void *__cdecl _Gettnames();
+ int __cdecl _Mbrtowc(wchar_t *, const char *, size_t,
+ mbstate_t *, const _Cvtvec *);
+extern float __cdecl _Stof(const char *, char **, long);
+extern double __cdecl _Stod(const char *, char **, long);
+extern long double __cdecl _Stold(const char *, char **, long);
+ int __cdecl _Strcoll(const char *, const char *,
+ const char *, const char *, const _Collvec *);
+size_t __cdecl _Strftime(char *, size_t, const char *,
+ const struct tm *, void *);
+ size_t __cdecl _Strxfrm(char *, char *,
+ const char *, const char *, const _Collvec *);
+ int __cdecl _Tolower(int, const _Ctypevec *);
+ int __cdecl _Toupper(int, const _Ctypevec *);
+ int __cdecl _Wcrtomb(char *, wchar_t, mbstate_t *,
+ const _Cvtvec *);
+ int __cdecl _Wcscoll(const wchar_t *, const wchar_t *,
+ const wchar_t *, const wchar_t *, const _Collvec *);
+ size_t __cdecl _Wcsxfrm(wchar_t *, wchar_t *,
+ const wchar_t *, const wchar_t *, const _Collvec *);
+}
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+namespace std {
+
+
+class _Timevec {
+public:
+ _Timevec(void *_P = 0)
+ : _Ptr(_P) {}
+ _Timevec(const _Timevec& _Rhs)
+ {*this = _Rhs; }
+ ~_Timevec()
+ {_free_dbg(_Ptr, 1); }
+ _Timevec& operator=(const _Timevec& _Rhs)
+ {_Ptr = _Rhs._Ptr;
+ ((_Timevec *)&_Rhs)->_Ptr = 0;
+ return (*this); }
+ void *_Getptr() const
+ {return (_Ptr); }
+private:
+ void *_Ptr;
+ };
+
+class _Locinfo {
+public:
+ typedef ::_Collvec _Collvec;
+ typedef ::_Ctypevec _Ctypevec;
+ typedef ::_Cvtvec _Cvtvec;
+ typedef std::_Timevec _Timevec;
+ _Locinfo(const char * = "C");
+ _Locinfo(int, const char *);
+ ~_Locinfo();
+ _Locinfo& _Addcats(int, const char *);
+ string _Getname() const
+ {return (_Nname); }
+ _Collvec _Getcoll() const
+ {return (::_Getcoll()); }
+ _Ctypevec _Getctype() const
+ {return (::_Getctype()); }
+ _Cvtvec _Getcvt() const
+ {return (::_Getcvt()); }
+ const lconv *_Getlconv() const
+ {return (localeconv()); }
+ _Timevec _Gettnames() const
+ {return (_Timevec(::_Gettnames())); }
+ const char *_Getdays() const
+ {char *_S = ::_Getdays();
+ if (_S != 0)
+ {((_Locinfo *)this)->_Days = _S, _free_dbg(_S, 1); }
+ return (_Days.size() != 0 ? _Days.c_str()
+ : ":Sun:Sunday:Mon:Monday:Tue:Tuesday"
+ ":Wed:Wednesday:Thu:Thursday:Fri:Friday"
+ ":Sat:Saturday"); }
+ const char *_Getmonths() const
+ {char *_S = ::_Getmonths();
+ if (_S != 0)
+ {((_Locinfo *)this)->_Months = _S, _free_dbg(_S, 1); }
+ return (_Months.size() != 0 ? _Months.c_str()
+ : ":Jan:January:Feb:February:Mar:March"
+ ":Apr:April:May:May:Jun:June"
+ ":Jul:July:Aug:August:Sep:September"
+ ":Oct:October:Nov:November:Dec:December"); }
+ const char *_Getfalse() const
+ {return ("false"); }
+ const char *_Gettrue() const
+ {return ("true"); }
+ const char *_Getno() const
+ {return ("no"); }
+ const char *_Getyes() const
+ {return ("yes"); }
+private:
+ string _Days, _Months, _Oname, _Nname;
+ };
+
+template<class _E> inline
+ int __cdecl _Strcoll(const _E *_F1, const _E *_L1,
+ const _E *_F2, const _E *_L2, const _Locinfo::_Collvec *)
+ {for (; _F1 != _L1 && _F2 != _L2; ++_F1, ++_F2)
+ if (*_F1 < *_F2)
+ return (-1);
+ else if (*_F2 < *_F1)
+ return (+1);
+ return (_F2 != _L2 ? -1 : _F1 != _L1 ? +1 : 0); }
+template<class _E> inline
+ size_t __cdecl _Strxfrm(_E *_F1, _E *_L1,
+ const _E *_F2, const _E *_L2, const _Locinfo::_Collvec *)
+ {size_t _N = _L2 - _F2;
+ if (_N <= _L1 - _F1)
+ memcpy(_F1, _F2, _N * sizeof (_E));
+ return (_N); }
+};
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+namespace std {
+
+class locale {
+public:
+ enum _Category {collate = ((1 << (1)) >> 1), ctype = ((1 << (2)) >> 1),
+ monetary = ((1 << (3)) >> 1), numeric = ((1 << (4)) >> 1),
+ time = ((1 << (5)) >> 1), messages = ((1 << (6)) >> 1),
+ all = (((1 << (7)) >> 1) - 1), none = 0};
+ typedef int category;
+
+ class id {
+ public:
+ operator size_t()
+ {_Lockit _Lk;
+ if (_Id == 0)
+ _Id = ++_Id_cnt;
+ return (_Id); }
+ private:
+ size_t _Id;
+ static int _Id_cnt;
+ };
+ class _Locimp;
+
+ class facet {
+ friend class locale;
+ friend class _Locimp;
+ public:
+ static size_t __cdecl _Getcat()
+ {return ((size_t)(-1)); }
+ void _Incref()
+ {_Lockit _Lk;
+ if (_Refs < (size_t)(-1))
+ ++_Refs; }
+ facet *_Decref()
+ {_Lockit _Lk;
+ if (0 < _Refs && _Refs < (size_t)(-1))
+ --_Refs;
+ return (_Refs == 0 ? this : 0); }
+ public:
+ virtual ~facet()
+ {}
+ protected:
+ explicit facet(size_t _R = 0)
+ : _Refs(_R) {}
+ private:
+ facet(const facet&);
+ const facet& operator=(const facet&);
+ size_t _Refs;
+ };
+
+ class _Locimp : public facet {
+ public:
+ ~_Locimp();
+ private:
+ friend class locale;
+ _Locimp(bool _Xp = false);
+ _Locimp(const _Locimp&);
+ void _Addfac(facet *, size_t);
+ static _Locimp *__cdecl _Makeloc(const _Locinfo&,
+ category, _Locimp *, const locale *);
+ static void __cdecl _Makewloc(const _Locinfo&,
+ category, _Locimp *, const locale *);
+ static void __cdecl _Makexloc(const _Locinfo&,
+ category, _Locimp *, const locale *);
+ facet **_Fv;
+ size_t _Nfv;
+ category _Cat;
+ bool _Xpar;
+ string _Name;
+ static _Locimp *_Clocptr, *_Global;
+ };
+ locale& _Addfac(facet *, size_t, size_t);
+ bool operator()(const string&, const string&) const;
+ locale() throw ()
+ : _Ptr(_Init())
+ {_Lockit _lk;
+ _Locimp::_Global->_Incref(); }
+ locale(_Uninitialized)
+ {}
+ locale(const locale& _X) throw ()
+ : _Ptr(_X._Ptr)
+ {_Ptr->_Incref(); }
+ locale(const locale&, const locale&, category);
+ explicit locale(const char *, category = all);
+ locale(const locale&, const char *, category);
+ ~locale() throw ()
+ {if (_Ptr != 0)
+ delete _Ptr->_Decref(); }
+ locale& operator=(const locale& _X) throw ()
+ {if (_Ptr != _X._Ptr)
+ {delete _Ptr->_Decref();
+ _Ptr = _X._Ptr;
+ _Ptr->_Incref(); }
+ return (*this); }
+ string name() const
+ {return (_Ptr->_Name); }
+ const facet *_Getfacet(size_t _Id, bool _Xp = false) const;
+ bool _Iscloc() const;
+ bool operator==(const locale& _X) const;
+ bool operator!=(const locale& _X) const
+ {return (!(*this == _X)); }
+ static const locale& __cdecl classic();
+ static locale __cdecl global(const locale&);
+ static locale __cdecl empty();
+private:
+ locale(_Locimp *_P)
+ : _Ptr(_P) {}
+ static _Locimp *__cdecl _Init();
+ static void __cdecl _Tidy();
+ _Locimp *_Ptr;
+ };
+;
+
+template<class _F>
+ class _Tidyfac {
+public:
+ static _F *__cdecl _Save(_F *_Fac)
+ {_Lockit _Lk;
+ _Facsav = _Fac;
+ _Facsav->_Incref();
+ atexit(_Tidy);
+ return (_Fac); }
+ static void __cdecl _Tidy()
+ {_Lockit _Lk;
+ delete _Facsav->_Decref();
+ _Facsav = 0; }
+private:
+ static _F *_Facsav;
+ };
+template<class _F>
+ _F *_Tidyfac<_F>::_Facsav = 0;
+
+
+
+template<class _F> inline
+ locale _Addfac(locale _X, _F *_Fac)
+ {_Lockit _Lk;
+ return (_X._Addfac(_Fac, _F::id, _F::_Getcat())); }
+template<class _F> inline
+ const _F& __cdecl use_facet(const locale& _L, const _F *,
+ bool _Cfacet)
+ {static const locale::facet *_Psave = 0;
+ _Lockit _Lk;
+ size_t _Id = _F::id;
+ const locale::facet *_Pf = _L._Getfacet(_Id, true);
+ if (_Pf != 0)
+ ;
+ else if (!_Cfacet || !_L._Iscloc())
+ throw bad_cast("missing locale facet");
+ else if (_Psave == 0)
+ _Pf = _Psave = _Tidyfac<_F>::_Save(new _F);
+ else
+ _Pf = _Psave;
+ return (*(const _F *)_Pf); }
+
+
+template<class _E> inline
+ int _Narrow(_E _C)
+ {return ((unsigned char)(char)_C); }
+inline int _Narrow(wchar_t _C)
+ {return (wctob(_C)); }
+
+
+template<class _E> inline
+ _E _Widen(char _Ch, _E *)
+ {return (_Ch); }
+inline wchar_t _Widen(char _Ch, wchar_t *)
+ {return (btowc(_Ch)); }
+
+template<class _E, class _II> inline
+ int __cdecl _Getloctxt(_II& _F, _II& _L, size_t _N,
+ const _E *_S)
+ {for (size_t _I = 0; _S[_I] != (_E)0; ++_I)
+ if (_S[_I] == _S[0])
+ ++_N;
+ string _Str(_N, '\0');
+ int _Ans = -2;
+ for (size_t _J = 1; ; ++_J, ++_F, _Ans = -1)
+ {bool _Pfx;
+ size_t _I, _K;
+ for (_I = 0, _K = 0, _Pfx = false; _K < _N; ++_K)
+ {for (; _S[_I] != (_E)0 && _S[_I] != _S[0]; ++_I)
+ ;
+ if (_Str[_K] != '\0')
+ _I += _Str[_K];
+ else if (_S[_I += _J] == _S[0] || _S[_I] == (_E)0)
+ {_Str[_K] = _J < 127 ? _J : 127;
+ _Ans = _K; }
+ else if (_F == _L || _S[_I] != *_F)
+ _Str[_K] = _J < 127 ? _J : 127;
+ else
+ _Pfx = true; }
+ if (!_Pfx || _F == _L)
+ break; }
+ return (_Ans); }
+
+
+template<class _E> inline
+ _E *__cdecl _Maklocstr(const char *_S, _E *)
+ {size_t _L = strlen(_S) + 1;
+ _E *_X = new _E[_L];
+ for (_E *_P = _X; 0 < _L; --_L, ++_P, ++_S)
+ *_P = _Widen(*_S, (_E *)0);
+ return (_X); }
+
+class codecvt_base : public locale::facet {
+public:
+ enum _Result {ok, partial, error, noconv};
+ typedef int result;
+ codecvt_base(size_t _R = 0)
+ : locale::facet(_R) {}
+ bool always_noconv() const throw ()
+ {return (do_always_noconv()); }
+ int max_length() const throw ()
+ {return (do_max_length()); }
+ int encoding() const throw ()
+ {return (do_encoding()); }
+protected:
+ virtual bool do_always_noconv() const throw ()
+ {return (true); }
+ virtual int do_max_length() const throw ()
+ {return (1); }
+ virtual int do_encoding() const throw ()
+ {return (1); }
+ };
+;
+
+template<class _E, class _To, class _St>
+ class codecvt : public codecvt_base {
+public:
+ typedef _E from_type;
+ typedef _To to_type;
+ typedef _St state_type;
+ result in(_St& _State,
+ const _To *_F1, const _To *_L1, const _To *& _Mid1,
+ _E *_F2, _E *_L2, _E *& _Mid2) const
+ {return (do_in(_State,
+ _F1, _L1, _Mid1, _F2, _L2, _Mid2)); }
+ result out(_St& _State,
+ const _E *_F1, const _E *_L1, const _E *& _Mid1,
+ _To *_F2, _To *_L2, _To *& _Mid2) const
+ {return (do_out(_State,
+ _F1, _L1, _Mid1, _F2, _L2, _Mid2)); }
+ int length(_St& _State, const _E *_F1,
+ const _E *_L1, size_t _N2) const throw ()
+ {return (do_length(_State, _F1, _L1, _N2)); }
+ static locale::id id;
+ explicit codecvt(size_t _R = 0)
+ : codecvt_base(_R) {_Init(_Locinfo()); }
+ codecvt(const _Locinfo& _Lobj, size_t _R = 0)
+ : codecvt_base(_R) {_Init(_Lobj); }
+ static size_t __cdecl _Getcat()
+ {return (2); }
+public:
+ virtual ~codecvt()
+ {};
+protected:
+ void _Init(const _Locinfo& _Lobj)
+ {_Cvt = _Lobj._Getcvt(); }
+ virtual result do_in(_St& _State,
+ const _To *_F1, const _To *, const _To *& _Mid1,
+ _E *_F2, _E *, _E *& _Mid2) const
+ {_Mid1 = _F1, _Mid2 = _F2;
+ return (noconv); }
+ virtual result do_out(_St& _State,
+ const _E *_F1, const _E *, const _E *& _Mid1,
+ _To *_F2, _To *, _To *& _Mid2) const
+ {_Mid1 = _F1, _Mid2 = _F2;
+ return (noconv); }
+ virtual int do_length(_St& _State, const _E *_F1,
+ const _E *_L1, size_t _N2) const throw ()
+ {return (_N2 < _L1 - _F1 ? _N2 : _L1 - _F1); }
+private:
+ _Locinfo::_Cvtvec _Cvt;
+ };
+template<class _E, class _To, class _St>
+ locale::id codecvt<_E, _To, _St>::id;
+
+class codecvt<wchar_t, char, mbstate_t> : public codecvt_base {
+public:
+ typedef wchar_t _E;
+ typedef char _To;
+ typedef mbstate_t _St;
+ typedef _E from_type;
+ typedef _To to_type;
+ typedef _St state_type;
+ result in(_St& _State,
+ const _To *_F1, const _To *_L1, const _To *& _Mid1,
+ _E *_F2, _E *_L2, _E *& _Mid2) const
+ {return (do_in(_State,
+ _F1, _L1, _Mid1, _F2, _L2, _Mid2)); }
+ result out(_St& _State,
+ const _E *_F1, const _E *_L1, const _E *& _Mid1,
+ _To *_F2, _To *_L2, _To *& _Mid2) const
+ {return (do_out(_State,
+ _F1, _L1, _Mid1, _F2, _L2, _Mid2)); }
+ int length(_St& _State, const _E *_F1,
+ const _E *_L1, size_t _N2) const throw ()
+ {return (do_length(_State, _F1, _L1, _N2)); }
+ static locale::id id;
+ explicit codecvt(size_t _R = 0)
+ : codecvt_base(_R) {_Init(_Locinfo()); }
+ codecvt(const _Locinfo& _Lobj, size_t _R = 0)
+ : codecvt_base(_R) {_Init(_Lobj); }
+ static size_t __cdecl _Getcat()
+ {return (2); }
+public:
+ virtual ~codecvt()
+ {};
+protected:
+ void _Init(const _Locinfo& _Lobj)
+ {_Cvt = _Lobj._Getcvt(); }
+ virtual result do_in(_St& _State,
+ const _To *_F1, const _To *_L1, const _To *& _Mid1,
+ _E *_F2, _E *_L2, _E *& _Mid2) const
+ {_Mid1 = _F1, _Mid2 = _F2;
+ result _Ans = _Mid1 == _L1 ? ok : partial;
+ int _N;
+ while (_Mid1 != _L1 && _Mid2 != _L2)
+ switch (_N =
+ _Mbrtowc(_Mid2, _Mid1, _L1 - _Mid1,
+ &_State, &_Cvt))
+ {case -2:
+ _Mid1 = _L1;
+ return (_Ans);
+ case -1:
+ return (error);
+ case 0:
+ _N = strlen(_Mid1) + 1;
+ default:
+ _Mid1 += _N, ++_Mid2, _Ans = ok; }
+ return (_Ans); }
+ virtual result do_out(_St& _State,
+ const _E *_F1, const _E *_L1, const _E *& _Mid1,
+ _To *_F2, _To *_L2, _To *& _Mid2) const
+ {_Mid1 = _F1, _Mid2 = _F2;
+ result _Ans = _Mid1 == _L1 ? ok : partial;
+ int _N;
+ while (_Mid1 != _L1 && _Mid2 != _L2)
+ if (__mb_cur_max <= _L2 - _Mid2)
+ if ((_N =
+ _Wcrtomb(_Mid2, *_Mid1, &_State,
+ &_Cvt)) <= 0)
+ return (error);
+ else
+ ++_Mid1, _Mid2 += _N, _Ans = ok;
+ else
+ {_To _Buf[2];
+ _St _Stsave = _State;
+ if ((_N =
+ _Wcrtomb(_Buf, *_Mid1, &_State,
+ &_Cvt)) <= 0)
+ return (error);
+ else if (_L2 - _Mid2 < _N)
+ {_State = _Stsave;
+ return (_Ans); }
+ else
+ {memcpy(_Mid2, _Buf, _N);
+ ++_Mid1, _Mid2 += _N, _Ans = ok; }}
+ return (_Ans); }
+ virtual int do_length(_St& _State, const _E *_F1,
+ const _E *_L1, size_t _N2) const throw ()
+ {const _E *_Mid1;
+ _To _Buf[2];
+ int _N;
+ for (_Mid1 = _F1; _Mid1 != _L1 && 0 < _N2;
+ ++_Mid1, _N2 -= _N)
+ if ((_N =
+ _Wcrtomb(_Buf, *_Mid1, &_State, &_Cvt)) <= 0
+ || _N2 < _N)
+ break;
+ return (_Mid1 - _F1); }
+ virtual bool do_always_noconv() const throw ()
+ {return (false); }
+ virtual int do_max_length() const throw ()
+ {return (2); }
+ virtual int do_encoding() const throw ()
+ {return (0); }
+private:
+ _Locinfo::_Cvtvec _Cvt;
+ };
+
+template<class _E, class _To, class _St>
+ class codecvt_byname : public codecvt<_E, _To, _St> {
+public:
+ explicit codecvt_byname(const char *_S, size_t _R = 0)
+ : codecvt<_E, _To, _St>(_Locinfo(_S), _R) {}
+public:
+ virtual ~codecvt_byname()
+ {}
+ };
+
+struct ctype_base : public locale::facet {
+ enum _Mask {alnum = 0x4|0x2|0x1|0x100, alpha = 0x2|0x1|0x100,
+ cntrl = 0x20, digit = 0x4, graph = 0x4|0x2|0x10|0x1|0x100,
+ lower = 0x2, print = 0x4|0x2|0x10|0x40|0x1|0x100|0x80,
+ punct = 0x10, space = 0x8|0x40|0x000, upper = 0x1,
+ xdigit = 0x80};
+
+ typedef short mask;
+ ctype_base(size_t _R = 0)
+ : locale::facet(_R) {}
+ };
+
+template<class _E>
+ class ctype : public ctype_base {
+public:
+ typedef _E char_type;
+ bool is(mask _M, _E _C) const
+ {return (do_is(_M, _C)); }
+ const _E *is(const _E *_F, const _E *_L, mask *_V) const
+ {return (do_is(_F, _L, _V)); }
+ const _E *scan_is(mask _M, const _E *_F,
+ const _E *_L) const
+ {return (do_scan_is(_M, _F, _L)); }
+ const _E *scan_not(mask _M, const _E *_F,
+ const _E *_L) const
+ {return (do_scan_not(_M, _F, _L)); }
+ _E tolower(_E _C) const
+ {return (do_tolower(_C)); }
+ const _E *tolower(_E *_F, const _E *_L) const
+ {return (do_tolower(_F, _L)); }
+ _E toupper(_E _C) const
+ {return (do_toupper(_C)); }
+ const _E *toupper(_E *_F, const _E *_L) const
+ {return (do_toupper(_F, _L)); }
+ _E widen(char _X) const
+ {return (do_widen(_X)); }
+ const char *widen(const char *_F, const char *_L,
+ _E *_V) const
+ {return (do_widen(_F, _L, _V)); }
+ char narrow(_E _C, char _D = '\0') const
+ {return (do_narrow(_C, _D)); }
+ const _E *narrow(const _E *_F, const _E *_L, char _D,
+ char *_V) const
+ {return (do_narrow(_F, _L, _D, _V)); }
+ static locale::id id;
+ explicit ctype(size_t _R = 0)
+ : ctype_base(_R) {_Init(_Locinfo()); }
+ ctype(const _Locinfo& _Lobj, size_t _R = 0)
+ : ctype_base(_R) {_Init(_Lobj); }
+ static size_t __cdecl _Getcat()
+ {return (2); }
+public:
+ virtual ~ctype()
+ {if (_Ctype._Delfl)
+ _free_dbg((void *)_Ctype._Table, 1); }
+protected:
+ void _Init(const _Locinfo& _Lobj)
+ {_Ctype = _Lobj._Getctype(); }
+ virtual bool do_is(mask _M, _E _C) const
+ {return ((_Ctype._Table[narrow(_C)] & _M) != 0); }
+ virtual const _E *do_is(const _E *_F, const _E *_L,
+ mask *_V) const
+ {for (; _F != _L; ++_F, ++_V)
+ *_V = _Ctype._Table[narrow(*_F)];
+ return (_F); }
+ virtual const _E *do_scan_is(mask _M, const _E *_F,
+ const _E *_L) const
+ {for (; _F != _L && !is(_M, *_F); ++_F)
+ ;
+ return (_F); }
+ virtual const _E *do_scan_not(mask _M, const _E *_F,
+ const _E *_L) const
+ {for (; _F != _L && is(_M, *_F); ++_F)
+ ;
+ return (_F); }
+ virtual _E do_tolower(_E _C) const
+ {return ((_E)widen((char)_Tolower(narrow(_C), &_Ctype))); }
+ virtual const _E *do_tolower(_E *_F, const _E *_L) const
+ {for (; _F != _L; ++_F)
+ *_F = (_E)_Tolower(*_F, &_Ctype);
+ return ((const _E *)_F); }
+ virtual _E do_toupper(_E _C) const
+ {return ((_E)widen((char)_Toupper(narrow(_C), &_Ctype))); }
+ virtual const _E *do_toupper(_E *_F, const _E *_L) const
+ {for (; _F != _L; ++_F)
+ *_F = (_E)_Toupper(*_F, &_Ctype);
+ return ((const _E *)_F); }
+ virtual _E do_widen(char _X) const
+ {return (_Widen(_X, (_E *)0)); }
+ virtual const char *do_widen(const char *_F, const char *_L,
+ _E *_V) const
+ {for (; _F != _L; ++_F, ++_V)
+ *_V = _Widen(*_F, (_E *)0);
+ return (_F); }
+ virtual char do_narrow(_E _C, char) const
+ {return ((char)_Narrow((_E)(_C))); }
+ virtual const _E *do_narrow(const _E *_F, const _E *_L,
+ char, char *_V) const
+ {for (; _F != _L; ++_F, ++_V)
+ *_V = (char)_Narrow((_E)(*_F));
+ return (_F); }
+private:
+ _Locinfo::_Ctypevec _Ctype;
+ };
+
+template<class _E>
+ locale::id ctype<_E>::id;
+
+
+class ctype<char> : public ctype_base {
+public:
+ typedef char _E;
+ typedef _E char_type;
+ bool is(mask _M, _E _C) const
+ {return ((_Ctype._Table[(unsigned char)_C] & _M) != 0); }
+ const _E *is(const _E *_F, const _E *_L, mask *_V) const
+ {for (; _F != _L; ++_F, ++_V)
+ *_V = _Ctype._Table[(unsigned char)*_F];
+ return (_F); }
+ const _E *scan_is(mask _M, const _E *_F,
+ const _E *_L) const
+ {for (; _F != _L && !is(_M, *_F); ++_F)
+ ;
+ return (_F); }
+ const _E *scan_not(mask _M, const _E *_F,
+ const _E *_L) const
+ {for (; _F != _L && is(_M, *_F); ++_F)
+ ;
+ return (_F); }
+ _E tolower(_E _C) const
+ {return (do_tolower(_C)); }
+ const _E *tolower(_E *_F, const _E *_L) const
+ {return (do_tolower(_F, _L)); }
+ _E toupper(_E _C) const
+ {return (do_toupper(_C)); }
+ const _E *toupper(_E *_F, const _E *_L) const
+ {return (do_toupper(_F, _L)); }
+ _E widen(char _X) const
+ {return (_X); }
+ const _E *widen(const char *_F, const char *_L, _E *_V) const
+ {memcpy(_V, _F, _L - _F);
+ return (_L); }
+ _E narrow(_E _C, char _D = '\0') const
+ {return (_C); }
+ const _E *narrow(const _E *_F, const _E *_L, char _D,
+ char *_V) const
+ {memcpy(_V, _F, _L - _F);
+ return (_L); }
+ static locale::id id;
+ explicit ctype(const mask *_Tab = 0, bool _Df = false,
+ size_t _R = 0)
+ : ctype_base(_R)
+ {_Lockit Lk;
+ _Init(_Locinfo());
+ if (_Ctype._Delfl)
+ _free_dbg((void *)_Ctype._Table, 1), _Ctype._Delfl = false;
+ if (_Tab == 0)
+ _Ctype._Table = _Cltab;
+ else
+ _Ctype._Table = _Tab, _Ctype._Delfl = _Df; }
+ ctype(const _Locinfo& _Lobj, size_t _R = 0)
+ : ctype_base(_R) {_Init(_Lobj); }
+ static size_t __cdecl _Getcat()
+ {return (2); }
+ static const size_t table_size;
+public:
+ virtual ~ctype()
+ {if (_Ctype._Delfl)
+ _free_dbg((void *)_Ctype._Table, 1); }
+protected:
+ static void __cdecl _Term(void)
+ {_free_dbg((void *)_Cltab, 1); }
+ void _Init(const _Locinfo& _Lobj)
+ {_Lockit Lk;
+ _Ctype = _Lobj._Getctype();
+ if (_Cltab == 0)
+ {_Cltab = _Ctype._Table;
+ atexit(_Term);
+ _Ctype._Delfl = false; }}
+ virtual _E do_tolower(_E _C) const
+ {return (_E)(_Tolower((unsigned char)_C, &_Ctype)); }
+ virtual const _E *do_tolower(_E *_F, const _E *_L) const
+ {for (; _F != _L; ++_F)
+ *_F = (_E)_Tolower(*_F, &_Ctype);
+ return ((const _E *)_F); }
+ virtual _E do_toupper(_E _C) const
+ {return ((_E)_Toupper((unsigned char)_C, &_Ctype)); }
+ virtual const _E *do_toupper(_E *_F, const _E *_L) const
+ {for (; _F != _L; ++_F)
+ *_F = (_E)_Toupper(*_F, &_Ctype);
+ return ((const _E *)_F); }
+ const mask *table() const throw ()
+ {return (_Ctype._Table); }
+ static const mask * __cdecl classic_table() throw ()
+ {_Lockit Lk;
+ if (_Cltab == 0)
+ locale::classic();
+ return (_Cltab); }
+private:
+ _Locinfo::_Ctypevec _Ctype;
+ static const mask *_Cltab;
+ };
+
+
+
+template<class _E>
+ class ctype_byname : public ctype<_E> {
+public:
+ explicit ctype_byname(const char *_S, size_t _R = 0)
+ : ctype<_E>(_Locinfo(_S), _R) {}
+public:
+ virtual ~ctype_byname()
+ {}
+ };
+
+
+
+
+
+
+
+
+};
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+namespace std {
+
+class ios_base {
+public:
+
+ class failure : public runtime_error {
+ public:
+ explicit failure(const string &_S)
+ : runtime_error(_S) {}
+ virtual ~failure()
+ {}
+ protected:
+ virtual void _Doraise() const
+ {throw (*this); }
+ };
+ enum _Fmtflags {skipws = 0x0001, unitbuf = 0x0002,
+ uppercase = 0x0004, showbase = 0x0008,
+ showpoint = 0x0010, showpos = 0x0020,
+ left = 0x0040, right = 0x0080, internal = 0x0100,
+ dec = 0x0200, oct = 0x0400, hex = 0x0800,
+ scientific = 0x1000, fixed = 0x2000, boolalpha = 0x4000,
+ adjustfield = 0x01c0, basefield = 0x0e00,
+ floatfield = 0x3000, _Fmtmask = 0x7fff, _Fmtzero = 0};
+ enum _Iostate {goodbit = 0x0, eofbit = 0x1,
+ failbit = 0x2, badbit = 0x4, _Statmask = 0x7};
+ enum _Openmode {in = 0x01, out = 0x02, ate = 0x04,
+ app = 0x08, trunc = 0x10, binary = 0x20};
+ enum seekdir {beg = 0, cur = 1, end = 2};
+ enum event {erase_event, imbue_event, copyfmt_event};
+ typedef void (__cdecl *event_callback)(event, ios_base&, int);
+ typedef int fmtflags;
+ typedef int iostate;
+ typedef int openmode;
+ typedef short io_state, open_mode, seek_dir;
+
+ class Init {
+ public:
+ Init();
+ ~Init();
+ private:
+ static int _Init_cnt;
+ };
+ ios_base& operator=(const ios_base& _R)
+ {if (this != &_R)
+ {_State = _R._State;
+ copyfmt(_R); }
+ return (*this); }
+ operator void *() const
+ {return (fail() ? 0 : (void *)this); }
+ bool operator!() const
+ {return (fail()); }
+ void clear(iostate = goodbit, bool = false);
+ void clear(io_state _St)
+ {clear((iostate)_St); }
+ iostate rdstate() const
+ {return (_State); }
+ void setstate(iostate _St, bool _Ex = false)
+ {if (_St != goodbit)
+ clear((iostate)((int)rdstate() | (int)_St), _Ex); }
+ void setstate(io_state _St)
+ {setstate((iostate)_St); }
+ bool good() const
+ {return (rdstate() == goodbit); }
+ bool eof() const
+ {return ((int)rdstate() & (int)eofbit); }
+ bool fail() const
+ {return (((int)rdstate() & ((int)badbit | (int)failbit)) != 0); }
+ bool bad() const
+ {return (((int)rdstate() & (int)badbit) != 0); }
+ iostate exceptions() const
+ {return (_Except); }
+ void exceptions(iostate _Ne)
+ {_Except = _Ne & _Statmask;
+ clear(_State); }
+ void exceptions(io_state _St)
+ {exceptions((iostate)_St); }
+ fmtflags flags() const
+ {return (_Fmtfl); }
+ fmtflags flags(fmtflags _Nf)
+ {fmtflags _Of = _Fmtfl;
+ _Fmtfl = _Nf & _Fmtmask;
+ return (_Of); }
+ fmtflags setf(fmtflags _Nf)
+ {ios_base::fmtflags _Of = _Fmtfl;
+ _Fmtfl |= _Nf & _Fmtmask;
+ return (_Of); }
+ fmtflags setf(fmtflags _Nf, fmtflags _M)
+ {ios_base::fmtflags _Of = _Fmtfl;
+ _Fmtfl = (_Fmtfl & ~_M) | (_Nf & _M & _Fmtmask);
+ return (_Of); }
+ void unsetf(fmtflags _M)
+ {_Fmtfl &= ~_M; }
+ streamsize precision() const
+ {return (_Prec); }
+ streamsize precision(int _Np)
+ {streamsize _Op = _Prec;
+ _Prec = _Np;
+ return (_Op); }
+ streamsize width() const
+ {return (_Wide); }
+ streamsize width(streamsize _Nw)
+ {streamsize _Ow = _Wide;
+ _Wide = _Nw;
+ return (_Ow); }
+ locale getloc() const
+ {return (_Loc); }
+ locale imbue(const locale&);
+ static int __cdecl xalloc()
+ {_Lockit _Lk;
+ return (_Index++); }
+ long& iword(int _Idx)
+ {return (_Findarr(_Idx)._Lo); }
+ void *& pword(int _Idx)
+ {return (_Findarr(_Idx)._Vp); }
+ void register_callback(event_callback, int);
+ ios_base& copyfmt(const ios_base&);
+ virtual ~ios_base();
+ static bool __cdecl sync_with_stdio(bool _Sfl = true)
+ {_Lockit _Lk;
+ const bool _Osfl = _Sync;
+ _Sync = _Sfl;
+ return (_Osfl); }
+protected:
+ ios_base()
+ : _Loc(_Noinit), _Stdstr(0) {}
+ void _Addstd();
+ void _Init();
+private:
+
+ struct _Iosarray {
+ public:
+ _Iosarray(int _Idx, _Iosarray *_Link)
+ : _Next(_Link), _Index(_Idx), _Lo(0), _Vp(0) {}
+ _Iosarray *_Next;
+ int _Index;
+ long _Lo;
+ void *_Vp;
+ };
+
+ struct _Fnarray {
+ _Fnarray(int _Idx, event_callback _P, _Fnarray *_Link)
+ : _Next(_Link), _Index(_Idx), _Pfn(_P) {}
+ _Fnarray *_Next;
+ int _Index;
+ event_callback _Pfn;
+ };
+ void _Callfns(event);
+ _Iosarray& _Findarr(int);
+ void _Tidy();
+ iostate _State, _Except;
+ fmtflags _Fmtfl;
+ int _Prec, _Wide;
+ _Iosarray *_Arr;
+ _Fnarray *_Calls;
+ locale _Loc;
+ size_t _Stdstr;
+ static int _Index;
+ static bool _Sync;
+ };
+
+
+
+};
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+namespace std {
+
+template<class _E>
+ class numpunct : public locale::facet {
+public:
+ typedef basic_string<_E, char_traits<_E>, allocator<_E> >
+ string_type;
+ typedef _E char_type;
+ static locale::id id;
+ _E decimal_point() const
+ {return (do_decimal_point()); }
+ _E thousands_sep() const
+ {return (do_thousands_sep()); }
+ string grouping() const
+ {return (do_grouping()); }
+ string_type falsename() const
+ {return (do_falsename()); }
+ string_type truename() const
+ {return (do_truename()); }
+ explicit numpunct(size_t _R = 0)
+ : locale::facet(_R) {_Init(_Locinfo()); }
+ numpunct(const _Locinfo& _Lobj, size_t _R = 0)
+ : locale::facet(_R) {_Init(_Lobj); }
+ static size_t __cdecl _Getcat()
+ {return (4); }
+public:
+ virtual ~numpunct()
+ {delete[] _Gr;
+ delete[] _Nf;
+ delete[] _Nt; }
+protected:
+ void _Init(const _Locinfo& _Lobj)
+ {const lconv *_P = _Lobj._Getlconv();
+ _Dp = _Widen(_P->decimal_point[0], (_E *)0);
+ _Ks = _Widen(_P->thousands_sep[0], (_E *)0);
+ _Gr = _Maklocstr(_P->grouping, (char *)0);
+ _Nf = _Maklocstr(_Lobj._Getfalse(), (_E *)0);
+ _Nt = _Maklocstr(_Lobj._Gettrue(), (_E *)0); }
+ virtual _E do_decimal_point() const
+ {return (_Dp); }
+ virtual _E do_thousands_sep() const
+ {return (_Ks); }
+ virtual string do_grouping() const
+ {return (string(_Gr)); }
+ virtual string_type do_falsename() const
+ {return (string_type(_Nf)); }
+ virtual string_type do_truename() const
+ {return (string_type(_Nt)); }
+private:
+ char *_Gr;
+ _E _Dp, _Ks, *_Nf, *_Nt;
+ };
+typedef numpunct<char> _Npc;
+typedef numpunct<wchar_t> _Npwc;
+
+template<class _E>
+ class numpunct_byname : public numpunct<_E> {
+public:
+ explicit numpunct_byname(const char *_S, size_t _R = 0)
+ : numpunct<_E>(_Locinfo(_S), _R) {}
+public:
+ virtual ~numpunct_byname()
+ {}
+ };
+template<class _E>
+ locale::id numpunct<_E>::id;
+
+
+template<class _E> inline
+ bool (isdigit)(_E _C, const locale& _L)
+ {return (use_facet(_L, (ctype<_E> *)0, true).is(ctype_base::digit, _C)); }
+
+
+template<class _E,
+ class _II = istreambuf_iterator<_E, char_traits<_E> > >
+ class num_get : public locale::facet {
+public:
+ typedef numpunct<_E> _Mypunct;
+ typedef basic_string<_E, char_traits<_E>, allocator<_E> >
+ _Mystr;
+ static size_t __cdecl _Getcat()
+ {return (4); }
+ static locale::id id;
+public:
+ virtual ~num_get()
+ {}
+protected:
+ void _Init(const _Locinfo& _Lobj)
+ {}
+public:
+ explicit num_get(size_t _R = 0)
+ : locale::facet(_R) {_Init(_Locinfo()); }
+ num_get(const _Locinfo& _Lobj, size_t _R = 0)
+ : locale::facet(_R) {_Init(_Lobj); }
+ typedef _E char_type;
+ typedef _II iter_type;
+ _II get(_II _F, _II _L, ios_base& _X, ios_base::iostate& _St,
+ _Bool& _V) const
+ {return (do_get(_F, _L, _X, _St, _V)); }
+ _II get(_II _F, _II _L, ios_base& _X, ios_base::iostate& _St,
+ unsigned short& _V) const
+ {return (do_get(_F, _L, _X, _St, _V)); }
+ _II get(_II _F, _II _L, ios_base& _X, ios_base::iostate& _St,
+ unsigned int& _V) const
+ {return (do_get(_F, _L, _X, _St, _V)); }
+ _II get(_II _F, _II _L, ios_base& _X, ios_base::iostate& _St,
+ long& _V) const
+ {return (do_get(_F, _L, _X, _St, _V)); }
+ _II get(_II _F, _II _L, ios_base& _X, ios_base::iostate& _St,
+ unsigned long& _V) const
+ {return (do_get(_F, _L, _X, _St, _V)); }
+ _II get(_II _F, _II _L, ios_base& _X, ios_base::iostate& _St,
+ float& _V) const
+ {return (do_get(_F, _L, _X, _St, _V)); }
+ _II get(_II _F, _II _L, ios_base& _X, ios_base::iostate& _St,
+ double& _V) const
+ {return (do_get(_F, _L, _X, _St, _V)); }
+ _II get(_II _F, _II _L, ios_base& _X, ios_base::iostate& _St,
+ long double& _V) const
+ {return (do_get(_F, _L, _X, _St, _V)); }
+ _II get(_II _F, _II _L, ios_base& _X, ios_base::iostate& _St,
+ void *& _V) const
+ {return (do_get(_F, _L, _X, _St, _V)); }
+protected:
+ virtual _II do_get(_II _F, _II _L, ios_base& _X,
+ ios_base::iostate& _St, _Bool& _V) const
+ {int _Ans = -1;
+ if (_X.flags() & ios_base::boolalpha)
+ {const _Mypunct& _Fac = use_facet(_X.getloc(), (_Mypunct *)0, true);
+ _Mystr _Str(1, (_E)0);
+ _Str += _Fac.falsename();
+ _Str += (_E)0;
+ _Str += _Fac.truename();
+ _Ans = _Getloctxt(_F, _L, (size_t)2, _Str.c_str()); }
+ else
+ {char _Ac[32], *_Ep;
+ (*_errno()) = 0;
+ const unsigned long _Ulo = strtoul(_Ac, &_Ep,
+ _Getifld(_Ac, _F, _L, _X.flags(), _X.getloc()));
+ if (_Ep != _Ac && (*_errno()) == 0 && _Ulo <= 1)
+ _Ans = _Ulo; }
+ if (_F == _L)
+ _St |= ios_base::eofbit;
+ if (_Ans < 0)
+ _St |= ios_base::failbit;
+ else
+ _V = _Ans != 0;
+ return (_F); }
+ virtual _II do_get(_II _F, _II _L, ios_base& _X,
+ ios_base::iostate& _St, unsigned short& _V) const
+ {char _Ac[32], *_Ep;
+ (*_errno()) = 0;
+ int _Base =
+ _Getifld(_Ac, _F, _L, _X.flags(), _X.getloc());
+ char *_S = _Ac[0] == '-' ? _Ac + 1 : _Ac;
+ const unsigned long _Ans = strtoul(_S, &_Ep, _Base);
+ if (_F == _L)
+ _St |= ios_base::eofbit;
+ if (_Ep == _S || (*_errno()) != 0 || 0xffff < _Ans)
+ _St |= ios_base::failbit;
+ else
+ _V = (unsigned short)(_Ac[0] == '-' ? -_Ans : _Ans);
+ return (_F); }
+ virtual _II do_get(_II _F, _II _L, ios_base& _X,
+ ios_base::iostate& _St, unsigned int& _V) const
+ {char _Ac[32], *_Ep;
+ (*_errno()) = 0;
+ int _Base =
+ _Getifld(_Ac, _F, _L, _X.flags(), _X.getloc());
+ char *_S = _Ac[0] == '-' ? _Ac + 1 : _Ac;
+ const unsigned long _Ans = strtoul(_S, &_Ep, _Base);
+ if (_F == _L)
+ _St |= ios_base::eofbit;
+ if (_Ep == _S || (*_errno()) != 0 || 0xffffffff < _Ans)
+ _St |= ios_base::failbit;
+ else
+ _V = _Ac[0] == '-' ? -_Ans : _Ans;
+ return (_F); }
+ virtual _II do_get(_II _F, _II _L, ios_base& _X,
+ ios_base::iostate& _St, long& _V) const
+ {char _Ac[32], *_Ep;
+ (*_errno()) = 0;
+ const long _Ans = strtol(_Ac, &_Ep,
+ _Getifld(_Ac, _F, _L, _X.flags(), _X.getloc()));
+ if (_F == _L)
+ _St |= ios_base::eofbit;
+ if (_Ep == _Ac || (*_errno()) != 0)
+ _St |= ios_base::failbit;
+ else
+ _V = _Ans;
+ return (_F); }
+ virtual _II do_get(_II _F, _II _L, ios_base& _X,
+ ios_base::iostate& _St, unsigned long& _V) const
+ {char _Ac[32], *_Ep;
+ (*_errno()) = 0;
+ const unsigned long _Ans = strtoul(_Ac, &_Ep,
+ _Getifld(_Ac, _F, _L, _X.flags(), _X.getloc()));
+ if (_F == _L)
+ _St |= ios_base::eofbit;
+ if (_Ep == _Ac || (*_errno()) != 0)
+ _St |= ios_base::failbit;
+ else
+ _V = _Ans;
+ return (_F); }
+ virtual _II do_get(_II _F, _II _L, ios_base& _X,
+ ios_base::iostate& _St, float& _V) const
+ {char _Ac[8 + 36 + 32], *_Ep;
+ (*_errno()) = 0;
+ const float _Ans = _Stof(_Ac, &_Ep,
+ _Getffld(_Ac, _F, _L, _X.getloc()));
+ if (_F == _L)
+ _St |= ios_base::eofbit;
+ if (_Ep == _Ac || (*_errno()) != 0)
+ _St |= ios_base::failbit;
+ else
+ _V = _Ans;
+ return (_F); }
+ virtual _II do_get(_II _F, _II _L, ios_base& _X,
+ ios_base::iostate& _St, double& _V) const
+ {char _Ac[8 + 36 + 32], *_Ep;
+ (*_errno()) = 0;
+ const double _Ans = _Stod(_Ac, &_Ep,
+ _Getffld(_Ac, _F, _L, _X.getloc()));
+ if (_F == _L)
+ _St |= ios_base::eofbit;
+ if (_Ep == _Ac || (*_errno()) != 0)
+ _St |= ios_base::failbit;
+ else
+ _V = _Ans;
+ return (_F); }
+ virtual _II do_get(_II _F, _II _L, ios_base& _X,
+ ios_base::iostate& _St, long double& _V) const
+ {char _Ac[8 + 36 + 32], *_Ep;
+ (*_errno()) = 0;
+ const long double _Ans = _Stold(_Ac, &_Ep,
+ _Getffld(_Ac, _F, _L, _X.getloc()));
+ if (_F == _L)
+ _St |= ios_base::eofbit;
+ if (_Ep == _Ac || (*_errno()) != 0)
+ _St |= ios_base::failbit;
+ else
+ _V = _Ans;
+ return (_F); }
+ virtual _II do_get(_II _F, _II _L, ios_base& _X,
+ ios_base::iostate& _St, void *& _V) const
+ {union _Pvlo {
+ void *_Pv;
+ unsigned long _Lo[1 +
+ (sizeof (void *) - 1) / sizeof (unsigned long)];
+ } _U;
+ const int _NL = sizeof (_U._Lo) / sizeof (unsigned long);
+ for (int _I = 0; ; ++_F)
+ {char _Ac[32], *_Ep;
+ (*_errno()) = 0;
+ _U._Lo[_I] = strtoul(_Ac, &_Ep,
+ _Getifld(_Ac, _F, _L,
+ ios_base::hex, _X.getloc()));
+ if (_F == _L)
+ _St |= ios_base::eofbit;
+ if (_Ep == _Ac || (*_errno()) != 0)
+ {_St |= ios_base::failbit;
+ break; }
+ if (_NL <= ++_I)
+ break;
+ if (_F == _L || *_F != _Widen(':', (_E *)0))
+ {_St |= ios_base::failbit;
+ break; }}
+ if (!(_St & ios_base::failbit))
+ _V = _U._Pv;
+ return (_F); }
+private:
+ static int __cdecl _Getifld(char *_Ac, _II& _F, _II& _L,
+ ios_base::fmtflags _Bfl, const locale& _Loc)
+ {const _E _E0 = _Widen('0', (_E *)0);
+ const _Mypunct& _Fac = use_facet(_Loc, (_Mypunct *)0, true);
+ const string _Gr = _Fac.grouping();
+ const _E _Ks = _Fac.thousands_sep();
+ char *_P = _Ac;
+ if (_F == _L)
+ ;
+ else if (*_F == _Widen('+', (_E *)0))
+ *_P++ = '+', ++_F;
+ else if (*_F == _Widen('-', (_E *)0))
+ *_P++ = '-', ++_F;
+ _Bfl &= ios_base::basefield;
+ int _Base = _Bfl == ios_base::oct ? 8
+ : _Bfl == ios_base::hex ? 16
+ : _Bfl == ios_base::_Fmtzero ? 0 : 10;
+ bool _Sd = false, _Snz = false;
+ if (_F != _L && *_F == _E0)
+ {_Sd = true, ++_F;
+ if (_F != _L && (*_F == _Widen('x', (_E *)0)
+ || *_F == _Widen('X', (_E *)0))
+ && (_Base == 0 || _Base == 16))
+ _Base = 16, _Sd = false, ++_F;
+ else if (_Base == 0)
+ _Base = 8; }
+ int _Dlen = _Base == 0 || _Base == 10 ? 10
+ : _Base == 8 ? 8 : 16 + 6;
+ string _Grin(1, _Sd ? '\1' : '\0');
+ size_t _I = 0;
+ for (char *const _Pe = &_Ac[32 - 1];
+ _F != _L; ++_F)
+ if (memchr("0123456789abcdefABCDEF",
+ *_P = (char)_Narrow((_E)(*_F)), _Dlen) != 0)
+ {if ((_Snz || *_P != '0') && _P < _Pe)
+ ++_P, _Snz = true;
+ _Sd = true;
+ if (_Grin[_I] != 127)
+ ++_Grin[_I]; }
+ else if (_Grin[_I] == '\0' || _Ks == (_E)0
+ || *_F != _Ks)
+ break;
+ else
+ _Grin.append(1, '\0'), ++_I;
+ if (_I == 0)
+ ;
+ else if ('\0' < _Grin[_I])
+ ++_I;
+ else
+ _Sd = false;
+ for (const char *_Pg = _Gr.c_str(); _Sd && 0 < _I; --_I)
+ if (*_Pg == 127)
+ break;
+ else if (0 < --_I && *_Pg != _Grin[_I]
+ || 0 == _I && *_Pg < _Grin[_I])
+ _Sd = false;
+ else if ('\0' < _Pg[1])
+ ++_Pg;
+ if (_Sd && !_Snz)
+ *_P++ = '0';
+ else if (!_Sd)
+ _P = _Ac;
+ *_P = '\0';
+ return (_Base);
+ }
+ static int __cdecl _Getffld(char *_Ac, _II& _F, _II &_L,
+ const locale& _Loc)
+ {const _E _E0 = _Widen('0', (_E *)0);
+ const _Mypunct& _Fac = use_facet(_Loc, (_Mypunct *)0, true);
+ char *_P = _Ac;
+ if (_F == _L)
+ ;
+ else if (*_F == _Widen('+', (_E *)0))
+ *_P++ = '+', ++_F;
+ else if (*_F == _Widen('-', (_E *)0))
+ *_P++ = '-', ++_F;
+ bool _Sd = false;
+ for (; _F != _L && *_F == _E0; _Sd = true, ++_F)
+ ;
+ if (_Sd)
+ *_P++ = '0';
+ int _Ns = 0;
+ int _Pten = 0;
+ for (; _F != _L && isdigit(*_P = (char)_Narrow((_E)(*_F)), _Loc);
+ _Sd = true, ++_F)
+ if (_Ns < 36)
+ ++_P, ++_Ns;
+ else
+ ++_Pten;
+ if (_F != _L && *_F == _Fac.decimal_point())
+ *_P++ = localeconv()->decimal_point[0], ++_F;
+ if (_Ns == 0)
+ {for (; _F != _L && *_F == _E0; _Sd = true, ++_F)
+ --_Pten;
+ if (_Pten < 0)
+ *_P++ = '0', ++_Pten; }
+ for (; _F != _L && isdigit(*_P = (char)_Narrow((_E)(*_F)), _Loc);
+ _Sd = true, ++_F)
+ if (_Ns < 36)
+ ++_P, ++_Ns;
+ if (_Sd && _F !=
+_L
+&& (*_F == _Widen('e', (_E *)0) || *_F == _Widen('E', (_E *)0)))
+ {*_P++ = 'e', ++_F;
+ _Sd = false, _Ns = 0;
+ if (_F == _L)
+ ;
+ else if (*_F == _Widen('+', (_E *)0))
+ *_P++ = '+', ++_F;
+ else if (*_F == _Widen('-', (_E *)0))
+ *_P++ = '-', ++_F;
+ for (; _F != _L && *_F == _E0; _Sd = true, ++_F)
+ ;
+ if (_Sd)
+ *_P++ = '0';
+ for (; _F != _L && isdigit(*_P = (char)_Narrow((_E)(*_F)), _Loc);
+ _Sd = true, ++_F)
+ if (_Ns < 8)
+ ++_P, ++_Ns; }
+ if (!_Sd)
+ _P = _Ac;
+ *_P = '\0';
+ return (_Pten);
+ };
+ };
+template<class _E, class _II>
+ locale::id num_get<_E, _II>::id;
+
+template<class _E,
+ class _OI = ostreambuf_iterator<_E, char_traits<_E> > >
+ class num_put : public locale::facet {
+public:
+ typedef numpunct<_E> _Mypunct;
+ typedef basic_string<_E, char_traits<_E>, allocator<_E> >
+ _Mystr;
+ static size_t __cdecl _Getcat()
+ {return (4); }
+ static locale::id id;
+public:
+ virtual ~num_put()
+ {}
+protected:
+ void _Init(const _Locinfo& _Lobj)
+ {}
+public:
+ explicit num_put(size_t _R = 0)
+ : locale::facet(_R) {_Init(_Locinfo()); }
+ num_put(const _Locinfo& _Lobj, size_t _R = 0)
+ : locale::facet(_R) {_Init(_Lobj); }
+ typedef _E char_type;
+ typedef _OI iter_type;
+ _OI put(_OI _F, ios_base& _X, _E _Fill,
+ _Bool _V) const
+ {return (do_put(_F, _X, _Fill, _V)); }
+ _OI put(_OI _F, ios_base& _X, _E _Fill,
+ long _V) const
+ {return (do_put(_F, _X, _Fill, _V)); }
+ _OI put(_OI _F, ios_base& _X, _E _Fill,
+ unsigned long _V) const
+ {return (do_put(_F, _X, _Fill, _V)); }
+ _OI put(_OI _F, ios_base& _X, _E _Fill,
+ double _V) const
+ {return (do_put(_F, _X, _Fill, _V)); }
+ _OI put(_OI _F, ios_base& _X, _E _Fill,
+ long double _V) const
+ {return (do_put(_F, _X, _Fill, _V)); }
+ _OI put(_OI _F, ios_base& _X, _E _Fill,
+ const void *_V) const
+ {return (do_put(_F, _X, _Fill, _V)); }
+protected:
+ virtual _OI do_put(_OI _F, ios_base& _X, _E _Fill,
+ _Bool _V) const
+ {const _Mypunct& _Fac = use_facet(_X.getloc(), (_Mypunct *)0, true);
+ _Mystr _Str;
+ if (!(_X.flags() & ios_base::boolalpha))
+ _Str.append(1, _Widen(_V ? '1' : '0', (_E *)0));
+ else if (_V)
+ _Str = _Fac.truename();
+ else
+ _Str = _Fac.falsename();
+ size_t _M = _X.width() <= 0 || _X.width() <= _Str.size()
+ ? 0 : _X.width() - _Str.size();
+ ios_base::fmtflags _Afl =
+ _X.flags() & ios_base::adjustfield;
+ if (_Afl != ios_base::left)
+ _F = _Rep(_F, _Fill, _M), _M = 0;
+ _F = _Put(_F, _Str.c_str(), _Str.size());
+ _X.width(0);
+ return (_Rep(_F, _Fill, _M)); }
+ virtual _OI do_put(_OI _F, ios_base& _X, _E _Fill,
+ long _V) const
+ {char _Buf[2 * 32], _Fmt[6];
+ return (_Iput(_F, _X, _Fill, _Buf,
+ sprintf(_Buf, _Ifmt(_Fmt, 'd', _X.flags()), _V))); }
+ virtual _OI do_put(_OI _F, ios_base& _X, _E _Fill,
+ unsigned long _V) const
+ {char _Buf[2 * 32], _Fmt[6];
+ return (_Iput(_F, _X, _Fill, _Buf,
+ sprintf(_Buf, _Ifmt(_Fmt, 'u', _X.flags()), _V))); }
+ virtual _OI do_put(_OI _F, ios_base& _X, _E _Fill,
+ double _V) const
+ {char _Buf[8 + 36 + 32], _Fmt[8];
+ streamsize _Prec = _X.precision() <= 0
+ && !(_X.flags() & ios_base::fixed) ? 6
+ : _X.precision();
+ int _Mpr = 36 < _Prec ? 36 : _Prec;
+ return (_Fput(_F, _X, _Fill, _Buf, _Prec - _Mpr,
+ sprintf(_Buf, _Ffmt(_Fmt, 0, _X.flags()),
+ _Mpr, _V))); }
+ virtual _OI do_put(_OI _F, ios_base& _X, _E _Fill,
+ long double _V) const
+ {char _Buf[8 + 36 + 32], _Fmt[8];
+ streamsize _Prec = _X.precision() <= 0
+ && !(_X.flags() & ios_base::fixed) ? 6
+ : _X.precision();
+ int _Mpr = 36 < _Prec ? 36 : _Prec;
+ return (_Fput(_F, _X, _Fill, _Buf, _Prec - _Mpr,
+ sprintf(_Buf, _Ffmt(_Fmt, 'L', _X.flags()),
+ _Mpr, _V))); }
+ virtual _OI do_put(_OI _F, ios_base& _X, _E _Fill,
+ const void *_V) const
+ {
+ const int _NL = 1
+ + (sizeof (void *) - 1) / sizeof (unsigned long);
+ char _Buf[(_NL + 1) * (32 + 1)];
+ int _N = sprintf(_Buf, "%p", _V);
+ size_t _M = _X.width() <= 0 || _X.width() <= _N
+ ? 0 : _X.width() - _N;
+ ios_base::fmtflags _Afl =
+ _X.flags() & ios_base::adjustfield;
+ if (_Afl != ios_base::left)
+ _F = _Rep(_F, _Fill, _M), _M = 0;
+ _F = _Putc(_F, _Buf, _N);
+ _X.width(0);
+ return (_Rep(_F, _Fill, _M)); }
+ static char *_Ffmt(char *_Fmt, char _Spec,
+ ios_base::fmtflags _Fl)
+ {char *_S = _Fmt;
+ *_S++ = '%';
+ if (_Fl & ios_base::showpos)
+ *_S++ = '+';
+ if (_Fl & ios_base::showpoint)
+ *_S++ = '#';
+ *_S++ = '.';
+ *_S++ = '*';
+ if (_Spec != 0)
+ *_S++ = _Spec;
+ ios_base::fmtflags _Ffl = _Fl & ios_base::floatfield;
+ *_S++ = _Ffl == ios_base::fixed ? 'f'
+ : _Ffl == ios_base::scientific ? 'e' : 'g';
+ *_S = '\0';
+ return (_Fmt); }
+ static _OI __cdecl _Fput(_OI _F, ios_base& _X, _E _Fill,
+ const char *_S, size_t _Nz, size_t _N)
+ {size_t _M = _X.width() <= 0 || _X.width() <= _N + _Nz
+ ? 0 : _X.width() - _N - _Nz;
+ ios_base::fmtflags _Afl =
+ _X.flags() & ios_base::adjustfield;
+ if (_Afl != ios_base::left && _Afl != ios_base::internal)
+ _F = _Rep(_F, _Fill, _M), _M = 0;
+ else if (_Afl == ios_base::internal)
+ {if (0 < _N && (*_S == '+' || *_S == '-'))
+ _F = _Putc(_F, _S, 1), ++_S, --_N;
+ _F = _Rep(_F, _Fill, _M), _M = 0; }
+ const char *_P = (const char *)memchr(_S,
+ localeconv()->decimal_point[0], _N);
+ if (_P != 0)
+ {const _Mypunct& _Fac = use_facet(_X.getloc(), (_Mypunct *)0, true);
+ size_t _Nf = _P - _S + 1;
+ _F = _Putc(_F, _S, _Nf - 1);
+ _F = _Rep(_F, _Fac.decimal_point(), 1);
+ _S += _Nf, _N -= _Nf; }
+ if ((_P = (const char *)memchr(_S, 'e', _N)) != 0)
+ {size_t _Nm = _P - _S + 1;
+ _F = _Putc(_F, _S, _Nm - 1);
+ _F = _Rep(_F, _Widen('0', (_E *)0), _Nz), _Nz = 0;
+ _F = _Putc(_F, _X.flags() & ios_base::uppercase
+ ? "E" : "e", 1);
+ _S += _Nm, _N -= _Nm; }
+ _F = _Putc(_F, _S, _N);
+ _F = _Rep(_F, _Widen('0', (_E *)0), _Nz);
+ _X.width(0);
+ return (_Rep(_F, _Fill, _M)); }
+ static char *__cdecl _Ifmt(char *_Fmt, char _Spec,
+ ios_base::fmtflags _Fl)
+ {char *_S = _Fmt;
+ *_S++ = '%';
+ if (_Fl & ios_base::showpos)
+ *_S++ = '+';
+ if (_Fl & ios_base::showbase)
+ *_S++ = '#';
+ *_S++ = 'l';
+ ios_base::fmtflags _Bfl = _Fl & ios_base::basefield;
+ *_S++ = _Bfl == ios_base::oct ? 'o'
+ : _Bfl != ios_base::hex ? _Spec
+ : _Fl & ios_base::uppercase ? 'X' : 'x';
+ *_S = '\0';
+ return (_Fmt); }
+ static _OI __cdecl _Iput(_OI _F, ios_base& _X, _E _Fill,
+ char *_S, size_t _N)
+ {const size_t _Np = *_S == '+' || *_S == '-' ? 1
+ : *_S == '0' && (_S[1] == 'x' || _S[1] == 'X') ? 2
+ : 0;
+ const _Mypunct& _Fac = use_facet(_X.getloc(), (_Mypunct *)0, true);
+ const string _Gr = _Fac.grouping();
+ const _E _Ks = _Fac.thousands_sep();
+ bool _Grp = '\0' < *_Gr.c_str();
+ if (_Grp)
+ {const char *_Pg = _Gr.c_str();
+ size_t _I = _N;
+ for (_Grp = false; *_Pg != 127 && '\0' < *_Pg
+ && *_Pg < _I - _Np; _Grp = true)
+ {_I -= *_Pg;
+ memmove(&_S[_I + 1], &_S[_I], _N + 1 - _I);
+ _S[_I] = ',', ++_N;
+ if ('\0' < _Pg[1])
+ ++_Pg; }}
+ size_t _M = _X.width() <= 0 || _X.width() <= _N
+ ? 0 : _X.width() - _N;
+ ios_base::fmtflags _Afl =
+ _X.flags() & ios_base::adjustfield;
+ if (_Afl != ios_base::left && _Afl != ios_base::internal)
+ _F = _Rep(_F, _Fill, _M), _M = 0;
+ else if (_Afl == ios_base::internal)
+ {_F = _Putc(_F, _S, _Np), _S += _Np, _N -= _Np;
+ _F = _Rep(_F, _Fill, _M), _M = 0; }
+ if (!_Grp)
+ _F = _Putc(_F, _S, _N);
+ else
+ for (; ; ++_S, --_N)
+ {size_t _Nd = strcspn(_S, ",");
+ _F = _Putc(_F, _S, _Nd);
+ _S += _Nd, _N -= _Nd;
+ if (_N == 0)
+ break;
+ if (_Ks != (_E)0)
+ _F = _Rep(_F, _Ks, 1); }
+ _X.width(0);
+ return (_Rep(_F, _Fill, _M)); }
+ static _OI _Put(_OI _F, const _E *_S, size_t _N)
+ {for (; 0 < _N; --_N, ++_F, ++_S)
+ *_F = *_S;
+ return (_F); }
+ static _OI _Putc(_OI _F, const char *_S, size_t _N)
+ {for (; 0 < _N; --_N, ++_F, ++_S)
+ *_F = _Widen(*_S, (_E *)0);
+ return (_F); }
+ static _OI _Rep(_OI _F, _E _C, size_t _N)
+ {for (; 0 < _N; --_N, ++_F)
+ *_F = _C;
+ return (_F); }
+ };
+template<class _E, class _OI>
+ locale::id num_put<_E, _OI>::id;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+};
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+namespace std {
+
+template<class _E, class _Tr = char_traits<_E> >
+ class basic_streambuf {
+protected:
+ basic_streambuf()
+ : _Loc() {_Init(); }
+ basic_streambuf(_Uninitialized)
+ : _Loc(_Noinit) {}
+public:
+ typedef basic_streambuf<_E, _Tr> _Myt;
+ typedef _E char_type;
+ typedef _Tr traits_type;
+ virtual ~basic_streambuf()
+ {}
+ typedef _Tr::int_type int_type;
+ typedef _Tr::pos_type pos_type;
+ typedef _Tr::off_type off_type;
+ pos_type pubseekoff(off_type _O, ios_base::seekdir _W,
+ ios_base::openmode _M = ios_base::in | ios_base::out)
+ {return (seekoff(_O, _W, _M)); }
+ pos_type pubseekoff(off_type _O, ios_base::seek_dir _W,
+ ios_base::open_mode _M)
+ {return (pubseekoff(_O, (ios_base::seekdir)_W,
+ (ios_base::openmode)_M)); }
+ pos_type pubseekpos(pos_type _P,
+ ios_base::openmode _M = ios_base::in | ios_base::out)
+ {return (seekpos(_P, _M)); }
+ pos_type pubseekpos(pos_type _P, ios_base::open_mode _M)
+ {return (seekpos(_P, (ios_base::openmode)_M)); }
+ _Myt *pubsetbuf(_E *_S, streamsize _N)
+ {return (setbuf(_S, _N)); }
+ locale pubimbue(const locale &_Ln)
+ {locale _Lo = _Loc;
+ imbue(_Ln);
+ _Loc = _Ln;
+ return (_Lo); }
+ locale getloc()
+ {return (_Loc); }
+ streamsize in_avail()
+ {return (gptr() != 0 && gptr() < egptr()
+ ? egptr() - gptr() : showmanyc()); }
+ int pubsync()
+ {return (sync()); }
+ int_type sbumpc()
+ {return (gptr() != 0 && gptr() < egptr()
+ ? _Tr::to_int_type(*_Gninc()) : uflow()); }
+ int_type sgetc()
+ {return (gptr() != 0 && gptr() < egptr()
+ ? _Tr::to_int_type(*gptr()) : underflow()); }
+ streamsize sgetn(_E *_S, streamsize _N)
+ {return (xsgetn(_S, _N)); }
+ int_type snextc()
+ {return (_Tr::eq_int_type(_Tr::eof(), sbumpc())
+ ? _Tr::eof() : sgetc()); }
+ int_type sputbackc(_E _C)
+ {return (gptr() != 0 && eback() < gptr()
+ && _Tr::eq(_C, gptr()[-1])
+ ? _Tr::to_int_type(*_Gndec())
+ : pbackfail(_Tr::to_int_type(_C))); }
+ void stossc()
+ {if (gptr() != 0 && gptr() < egptr())
+ _Gninc();
+ else
+ uflow(); }
+ int_type sungetc()
+ {return (gptr() != 0 && eback() < gptr()
+ ? _Tr::to_int_type(*_Gndec()) : pbackfail()); }
+ int_type sputc(_E _C)
+ {return (pptr() != 0 && pptr() < epptr()
+ ? _Tr::to_int_type(*_Pninc() = _C)
+ : overflow(_Tr::to_int_type(_C))); }
+ streamsize sputn(const _E *_S, streamsize _N)
+ {return (xsputn(_S, _N)); }
+protected:
+ _E *eback() const
+ {return (*_IGbeg); }
+ _E *gptr() const
+ {return (*_IGnext); }
+ _E *pbase() const
+ {return (*_IPbeg); }
+ _E *pptr() const
+ {return (*_IPnext); }
+ _E *egptr() const
+ {return (*_IGnext + *_IGcnt); }
+ void gbump(int _N)
+ {*_IGcnt -= _N;
+ *_IGnext += _N; }
+ void setg(_E *_B, _E *_N, _E *_L)
+ {*_IGbeg = _B, *_IGnext = _N, *_IGcnt = _L - _N; }
+ _E *epptr() const
+ {return (*_IPnext + *_IPcnt); }
+ _E *_Gndec()
+ {++*_IGcnt;
+ return (--*_IGnext); }
+ _E *_Gninc()
+ {--*_IGcnt;
+ return ((*_IGnext)++); }
+ void pbump(int _N)
+ {*_IPcnt -= _N;
+ *_IPnext += _N; }
+ void setp(_E *_B, _E *_L)
+ {*_IPbeg = _B, *_IPnext = _B, *_IPcnt = _L - _B; }
+ void setp(_E *_B, _E *_N, _E *_L)
+ {*_IPbeg = _B, *_IPnext = _N, *_IPcnt = _L - _N; }
+ _E *_Pninc()
+ {--*_IPcnt;
+ return ((*_IPnext)++); }
+ void _Init()
+ {_IGbeg = &_Gbeg, _IPbeg = &_Pbeg;
+ _IGnext = &_Gnext, _IPnext = &_Pnext;
+ _IGcnt = &_Gcnt, _IPcnt = &_Pcnt;
+ setp(0, 0), setg(0, 0, 0); }
+ void _Init(_E **_Gb, _E **_Gn, int *_Gc,
+ _E **_Pb, _E **_Pn, int *_Pc)
+ {_IGbeg = _Gb, _IPbeg = _Pb;
+ _IGnext = _Gn, _IPnext = _Pn;
+ _IGcnt = _Gc, _IPcnt = _Pc; }
+ virtual int_type overflow(int_type = _Tr::eof())
+ {return (_Tr::eof()); }
+ virtual int_type pbackfail(int_type = _Tr::eof())
+ {return (_Tr::eof()); }
+ virtual int showmanyc()
+ {return (0); }
+ virtual int_type underflow()
+ {return (_Tr::eof()); }
+ virtual int_type uflow()
+ {return (_Tr::eq_int_type(_Tr::eof(), underflow())
+ ? _Tr::eof() : _Tr::to_int_type(*_Gninc())); }
+ virtual streamsize xsgetn(_E * _S, streamsize _N)
+ {int_type _C;
+ streamsize _M, _Ns;
+ for (_Ns = 0; 0 < _N; )
+ if (gptr() != 0 && 0 < (_M = egptr() - gptr()))
+ {if (_N < _M)
+ _M = _N;
+ _Tr::copy(_S, gptr(), _M);
+ _S += _M, _Ns += _M, _N -= _M, gbump(_M); }
+ else if (_Tr::eq_int_type(_Tr::eof(), _C = uflow()))
+ break;
+ else
+ *_S++ = _Tr::to_char_type(_C), ++_Ns, --_N;
+ return (_Ns); }
+ virtual streamsize xsputn(const _E *_S, streamsize _N)
+ {streamsize _M, _Ns;
+ for (_Ns = 0; 0 < _N; )
+ if (pptr() != 0 && 0 < (_M = epptr() - pptr()))
+ {if (_N < _M)
+ _M = _N;
+ _Tr::copy(pptr(), _S, _M);
+ _S += _M, _Ns += _M, _N -= _M, pbump(_M); }
+ else if (_Tr::eq_int_type(_Tr::eof(),
+ overflow(_Tr::to_int_type(*_S))))
+ break;
+ else
+ ++_S, ++_Ns, --_N;
+ return (_Ns); }
+ virtual pos_type seekoff(off_type, ios_base::seekdir,
+ ios_base::openmode = ios_base::in | ios_base::out)
+ {return (streampos(_BADOFF)); }
+ virtual pos_type seekpos(pos_type,
+ ios_base::openmode = ios_base::in | ios_base::out)
+ {return (streampos(_BADOFF)); }
+ virtual _Myt *setbuf(_E *, streamsize)
+ {return (this); }
+ virtual int sync()
+ {return (0); }
+ virtual void imbue(const locale& _Loc)
+ {}
+private:
+ _E *_Gbeg, *_Pbeg;
+ _E **_IGbeg, **_IPbeg;
+ _E *_Gnext, *_Pnext;
+ _E **_IGnext, **_IPnext;
+ int _Gcnt, _Pcnt;
+ int *_IGcnt, *_IPcnt;
+ locale _Loc;
+ };
+
+
+
+
+
+
+
+
+};
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+namespace std {
+
+template<class _E, class _Tr = char_traits<_E> >
+ class basic_ios : public ios_base {
+public:
+ typedef basic_ios<_E, _Tr> _Myt;
+ typedef basic_ostream<_E, _Tr> _Myos;
+ typedef basic_streambuf<_E, _Tr> _Mysb;
+ typedef ctype<_E> _Ctype;
+ explicit basic_ios(_Mysb *_S)
+ {init(_S); }
+ basic_ios(const _Myt& _R)
+ {init(0), *this = _R; }
+ virtual ~basic_ios()
+ {}
+ typedef _E char_type;
+ typedef _Tr traits_type;
+ typedef _Tr::int_type int_type;
+ typedef _Tr::pos_type pos_type;
+ typedef _Tr::off_type off_type;
+ void clear(iostate _St = goodbit, bool _Ex = false)
+ {ios_base::clear(_Sb == 0 ? (int)_St | (int)badbit
+ : (int)_St, _Ex); }
+ void clear(io_state _St)
+ {clear((iostate)_St); }
+ void setstate(iostate _St, bool _Ex = false)
+ {if (_St != goodbit)
+ clear((iostate)((int)rdstate() | (int)_St), _Ex); }
+ void setstate(io_state _St)
+ {setstate((iostate)_St); }
+ _Myt& copyfmt(const _Myt& _R)
+ {_Tiestr = _R.tie();
+ _Fillch = _R.fill();
+ ios_base::copyfmt(_R);
+ return (*this); }
+ _Myos *tie() const
+ {return (_Tiestr); }
+ _Myos *tie(_Myos *_N)
+ {_Myos *_O = _Tiestr;
+ _Tiestr = _N;
+ return (_O); }
+ _Mysb *rdbuf() const
+ {return (_Sb); }
+ _Mysb *rdbuf(_Mysb *_N)
+ {_Mysb *_O = _Sb;
+ _Sb = _N;
+ clear();
+ return (_O); }
+ locale imbue(const locale& _Ln)
+ {if (rdbuf() != 0)
+ rdbuf()->pubimbue(_Ln);
+ return (ios_base::imbue(_Ln)); }
+ _E fill() const
+ {return (_Fillch); }
+ _E fill(_E _Nf)
+ {_E _Of = _Fillch;
+ _Fillch = _Nf;
+ return (_Of); }
+ char narrow(_E _C, char _D = '\0') const
+ {const _Ctype& _Fac = use_facet(getloc(), (_Ctype *)0, true);
+ return (_Fac.narrow(_C, _D)); }
+ _E widen(char _C) const
+ {const _Ctype& _Fac = use_facet(getloc(), (_Ctype *)0, true);
+ return (_Fac.widen(_C)); }
+protected:
+ void init(_Mysb *_S = 0,
+ bool _Isstd = false)
+ {_Sb = _S;
+ _Tiestr = 0;
+ _Fillch = _Widen(' ', (_E *)0);
+ _Init();
+ if (_Sb == 0)
+ setstate(badbit);
+ if (_Isstd)
+ _Addstd(); }
+ basic_ios()
+ {}
+private:
+ _Mysb *_Sb;
+ _Myos *_Tiestr;
+ _E _Fillch;
+ };
+
+
+
+
+
+
+
+
+
+inline ios_base& __cdecl boolalpha(ios_base& _I)
+ {_I.setf(ios_base::boolalpha);
+ return (_I); }
+inline ios_base& __cdecl dec(ios_base& _I)
+ {_I.setf(ios_base::dec, ios_base::basefield);
+ return (_I); }
+inline ios_base& __cdecl fixed(ios_base& _I)
+ {_I.setf(ios_base::fixed, ios_base::floatfield);
+ return (_I); }
+inline ios_base& __cdecl hex(ios_base& _I)
+ {_I.setf(ios_base::hex, ios_base::basefield);
+ return (_I); }
+inline ios_base& __cdecl internal(ios_base& _I)
+ {_I.setf(ios_base::internal, ios_base::adjustfield);
+ return (_I); }
+inline ios_base& __cdecl left(ios_base& _I)
+ {_I.setf(ios_base::left, ios_base::adjustfield);
+ return (_I); }
+inline ios_base& __cdecl noboolalpha(ios_base& _I)
+ {_I.unsetf(ios_base::boolalpha);
+ return (_I); }
+inline ios_base& __cdecl noshowbase(ios_base& _I)
+ {_I.unsetf(ios_base::showbase);
+ return (_I); }
+inline ios_base& __cdecl noshowpoint(ios_base& _I)
+ {_I.unsetf(ios_base::showpoint);
+ return (_I); }
+inline ios_base& __cdecl noshowpos(ios_base& _I)
+ {_I.unsetf(ios_base::showpos);
+ return (_I); }
+inline ios_base& __cdecl noskipws(ios_base& _I)
+ {_I.unsetf(ios_base::skipws);
+ return (_I); }
+inline ios_base& __cdecl nounitbuf(ios_base& _I)
+ {_I.unsetf(ios_base::unitbuf);
+ return (_I); }
+inline ios_base& __cdecl nouppercase(ios_base& _I)
+ {_I.unsetf(ios_base::uppercase);
+ return (_I); }
+inline ios_base& __cdecl oct(ios_base& _I)
+ {_I.setf(ios_base::oct, ios_base::basefield);
+ return (_I); }
+inline ios_base& __cdecl right(ios_base& _I)
+ {_I.setf(ios_base::right, ios_base::adjustfield);
+ return (_I); }
+inline ios_base& __cdecl scientific(ios_base& _I)
+ {_I.setf(ios_base::scientific, ios_base::floatfield);
+ return (_I); }
+inline ios_base& __cdecl showbase(ios_base& _I)
+ {_I.setf(ios_base::showbase);
+ return (_I); }
+inline ios_base& __cdecl showpoint(ios_base& _I)
+ {_I.setf(ios_base::showpoint);
+ return (_I); }
+inline ios_base& __cdecl showpos(ios_base& _I)
+ {_I.setf(ios_base::showpos);
+ return (_I); }
+inline ios_base& __cdecl skipws(ios_base& _I)
+ {_I.setf(ios_base::skipws);
+ return (_I); }
+inline ios_base& __cdecl unitbuf(ios_base& _I)
+ {_I.setf(ios_base::unitbuf);
+ return (_I); }
+inline ios_base& __cdecl uppercase(ios_base& _I)
+ {_I.setf(ios_base::uppercase);
+ return (_I); }
+};
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+
+
+
+
+
+
+namespace std {
+
+template<class _E, class _Tr = char_traits<_E> >
+ class basic_ostream : virtual public basic_ios<_E, _Tr> {
+public:
+ typedef basic_ostream<_E, _Tr> _Myt;
+ typedef basic_ios<_E, _Tr> _Myios;
+ typedef basic_streambuf<_E, _Tr> _Mysb;
+ typedef ostreambuf_iterator<_E, _Tr> _Iter;
+ typedef num_put<_E, _Iter> _Nput;
+ explicit basic_ostream(basic_streambuf<_E, _Tr> *_S,
+ bool _Isstd = false, bool _Doinit = true)
+ {if (_Doinit)
+ init(_S, _Isstd); }
+ basic_ostream(_Uninitialized)
+ {_Addstd(); }
+ virtual ~basic_ostream()
+ {}
+ class sentry {
+ public:
+ explicit sentry(_Myt& _Os)
+ : _Ok(_Os.opfx()), _Ostr(_Os) {}
+ ~sentry()
+ {if (!uncaught_exception())
+ _Ostr.osfx(); }
+ operator bool() const
+ {return (_Ok); }
+ private:
+ bool _Ok;
+ _Myt& _Ostr;
+ };
+ bool opfx()
+ {if (good() && tie() != 0)
+ tie()->flush();
+ return (good()); }
+ void osfx()
+ {if (flags() & unitbuf)
+ flush(); }
+ _Myt& operator<<(_Myt& (__cdecl *_F)(_Myt&))
+ {return ((*_F)(*this)); }
+ _Myt& operator<<(_Myios& (__cdecl *_F)(_Myios&))
+ {(*_F)(*(_Myios *)this);
+ return (*this); }
+ _Myt& operator<<(ios_base& (__cdecl *_F)(ios_base&))
+ {(*_F)(*(ios_base *)this);
+ return (*this); }
+ _Myt& operator<<(_Bool _X)
+ {iostate _St = goodbit;
+ const sentry _Ok(*this);
+ if (_Ok)
+ {const _Nput& _Fac = use_facet(getloc(), (_Nput *)0, true);
+ try {
+ if (_Fac.put(_Iter(rdbuf()), *this,
+ fill(), _X).failed())
+ _St |= badbit;
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ _Myt& operator<<(short _X)
+ {iostate _St = goodbit;
+ const sentry _Ok(*this);
+ if (_Ok)
+ {const _Nput& _Fac = use_facet(getloc(), (_Nput *)0, true);
+ fmtflags _Bfl = flags() & basefield;
+ long _Y = (_Bfl == oct || _Bfl == hex)
+ ? (long)(unsigned short)_X : (long)_X;
+ try {
+ if (_Fac.put(_Iter(rdbuf()), *this,
+ fill(), _Y).failed())
+ _St |= badbit;
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ _Myt& operator<<(unsigned short _X)
+ {iostate _St = goodbit;
+ const sentry _Ok(*this);
+ if (_Ok)
+ {const _Nput& _Fac = use_facet(getloc(), (_Nput *)0, true);
+ try {
+ if (_Fac.put(_Iter(rdbuf()), *this,
+ fill(), (unsigned long)_X).failed())
+ _St |= badbit;
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ _Myt& operator<<(int _X)
+ {iostate _St = goodbit;
+ const sentry _Ok(*this);
+ if (_Ok)
+ {const _Nput& _Fac = use_facet(getloc(), (_Nput *)0, true);
+ fmtflags _Bfl = flags() & basefield;
+ long _Y = (_Bfl == oct || _Bfl == hex)
+ ? (long)(unsigned int)_X : (long)_X;
+ try {
+ if (_Fac.put(_Iter(rdbuf()), *this,
+ fill(), _Y).failed())
+ _St |= badbit;
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ _Myt& operator<<(unsigned int _X)
+ {iostate _St = goodbit;
+ const sentry _Ok(*this);
+ if (_Ok)
+ {const _Nput& _Fac = use_facet(getloc(), (_Nput *)0, true);
+ try {
+ if (_Fac.put(_Iter(rdbuf()), *this,
+ fill(), (unsigned long)_X).failed())
+ _St |= badbit;
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ _Myt& operator<<(long _X)
+ {iostate _St = goodbit;
+ const sentry _Ok(*this);
+ if (_Ok)
+ {const _Nput& _Fac = use_facet(getloc(), (_Nput *)0, true);
+ try {
+ if (_Fac.put(_Iter(rdbuf()), *this,
+ fill(), _X).failed())
+ _St |= badbit;
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ _Myt& operator<<(unsigned long _X)
+ {iostate _St = goodbit;
+ const sentry _Ok(*this);
+ if (_Ok)
+ {const _Nput& _Fac = use_facet(getloc(), (_Nput *)0, true);
+ try {
+ if (_Fac.put(_Iter(rdbuf()), *this,
+ fill(), _X).failed())
+ _St |= badbit;
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ _Myt& operator<<(float _X)
+ {iostate _St = goodbit;
+ const sentry _Ok(*this);
+ if (_Ok)
+ {const _Nput& _Fac = use_facet(getloc(), (_Nput *)0, true);
+ try {
+ if (_Fac.put(_Iter(rdbuf()), *this,
+ fill(), (double)_X).failed())
+ _St |= badbit;
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ _Myt& operator<<(double _X)
+ {iostate _St = goodbit;
+ const sentry _Ok(*this);
+ if (_Ok)
+ {const _Nput& _Fac = use_facet(getloc(), (_Nput *)0, true);
+ try {
+ if (_Fac.put(_Iter(rdbuf()), *this,
+ fill(), _X).failed())
+ _St |= badbit;
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ _Myt& operator<<(long double _X)
+ {iostate _St = goodbit;
+ const sentry _Ok(*this);
+ if (_Ok)
+ {const _Nput& _Fac = use_facet(getloc(), (_Nput *)0, true);
+ try {
+ if (_Fac.put(_Iter(rdbuf()), *this,
+ fill(), _X).failed())
+ _St |= badbit;
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ _Myt& operator<<(const void *_X)
+ {iostate _St = goodbit;
+ const sentry _Ok(*this);
+ if (_Ok)
+ {const _Nput& _Fac = use_facet(getloc(), (_Nput *)0, true);
+ try {
+ if (_Fac.put(_Iter(rdbuf()), *this,
+ fill(), _X).failed())
+ _St |= badbit;
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ _Myt& operator<<(_Mysb *_Pb)
+ {iostate _St = goodbit;
+ bool _Copied = false;
+ const sentry _Ok(*this);
+ if (_Ok && _Pb != 0)
+ for (int_type _C = _Tr::eof(); ; _Copied = true)
+ {try {
+ _C = _Tr::eq_int_type(_Tr::eof(), _C)
+ ? _Pb->sgetc() : _Pb->snextc();
+ } catch (...) {
+ setstate(failbit);
+ throw;
+ }
+ if (_Tr::eq_int_type(_Tr::eof(),_C))
+ break;
+ try {
+ if (_Tr::eq_int_type(_Tr::eof(),
+ rdbuf()->sputc(_Tr::to_char_type(_C))))
+ {_St |= badbit;
+ break; }
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ width(0);
+ setstate(!_Copied ? _St | failbit : _St);
+ return (*this); }
+ _Myt& put(_E _X)
+ {iostate _St = goodbit;
+ const sentry _Ok(*this);
+ if (!_Ok)
+ _St |= badbit;
+ else
+ {try {
+ if (_Tr::eq_int_type(_Tr::eof(),
+ rdbuf()->sputc(_X)))
+ _St |= badbit;
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ _Myt& write(const _E *_S, streamsize _N)
+ {iostate _St = goodbit;
+ const sentry _Ok(*this);
+ if (!_Ok)
+ _St |= badbit;
+ else
+ {try {
+ if (rdbuf()->sputn(_S, _N) != _N)
+ _St |= badbit;
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ _Myt& flush()
+ {iostate _St = goodbit;
+ if (!fail() && rdbuf()->pubsync() == -1)
+ _St |= badbit;
+ setstate(_St);
+ return (*this); }
+ _Myt& seekp(pos_type _P)
+ {if (!fail())
+ rdbuf()->pubseekpos(_P, out);
+ return (*this); }
+ _Myt& seekp(off_type _O, ios_base::seekdir _W)
+ {if (!fail())
+ rdbuf()->pubseekoff(_O, _W, out);
+ return (*this); }
+ pos_type tellp()
+ {if (!fail())
+ return (rdbuf()->pubseekoff(0, cur, out));
+ else
+ return (streampos(_BADOFF)); }
+ };
+
+
+
+
+
+
+
+
+
+
+
+template<class _E, class _Tr> inline
+ basic_ostream<_E, _Tr>& __cdecl operator<<(
+ basic_ostream<_E, _Tr>& _O, const _E *_X)
+ {typedef basic_ostream<_E, _Tr> _Myos;
+ ios_base::iostate _St = ios_base::goodbit;
+ size_t _N = _Tr::length(_X);
+ size_t _M = _O.width() <= 0 || _O.width() <= _N
+ ? 0 : _O.width() - _N;
+ const _Myos::sentry _Ok(_O);
+ if (!_Ok)
+ _St |= ios_base::badbit;
+ else
+ {try {
+ if ((_O.flags() & ios_base::adjustfield)
+ != ios_base::left)
+ for (; 0 < _M; --_M)
+ if (_Tr::eq_int_type(_Tr::eof(),
+ _O.rdbuf()->sputc(_O.fill())))
+ {_St |= ios_base::badbit;
+ break; }
+ if (_St == ios_base::goodbit
+ && _O.rdbuf()->sputn(_X, _N) != _N)
+ _St |= ios_base::badbit;
+ if (_St == ios_base::goodbit)
+ for (; 0 < _M; --_M)
+ if (_Tr::eq_int_type(_Tr::eof(),
+ _O.rdbuf()->sputc(_O.fill())))
+ {_St |= ios_base::badbit;
+ break; }
+ _O.width(0);
+ } catch (...) { (_O).setstate(ios_base::badbit, true); } }
+ _O.setstate(_St);
+ return (_O); }
+template<class _E, class _Tr> inline
+ basic_ostream<_E, _Tr>& __cdecl operator<<(
+ basic_ostream<_E, _Tr>& _O, _E _C)
+ {typedef basic_ostream<_E, _Tr> _Myos;
+ ios_base::iostate _St = ios_base::goodbit;
+ const _Myos::sentry _Ok(_O);
+ if (_Ok)
+ {size_t _M = _O.width() <= 1 ? 0 : _O.width() - 1;
+ try {
+ if ((_O.flags() & ios_base::adjustfield)
+ != ios_base::left)
+ for (; _St == ios_base::goodbit && 0 < _M; --_M)
+ if (_Tr::eq_int_type(_Tr::eof(),
+ _O.rdbuf()->sputc(_O.fill())))
+ _St |= ios_base::badbit;
+ if (_St == ios_base::goodbit
+ && _Tr::eq_int_type(_Tr::eof(),
+ _O.rdbuf()->sputc(_C)))
+ _St |= ios_base::badbit;
+ for (; _St == ios_base::goodbit && 0 < _M; --_M)
+ if (_Tr::eq_int_type(_Tr::eof(),
+ _O.rdbuf()->sputc(_O.fill())))
+ _St |= ios_base::badbit;
+ } catch (...) { (_O).setstate(ios_base::badbit, true); } }
+ _O.width(0);
+ _O.setstate(_St);
+ return (_O); }
+template<class _E, class _Tr> inline
+ basic_ostream<_E, _Tr>& __cdecl operator<<(
+ basic_ostream<_E, _Tr>& _O, const signed char *_X)
+ {return (_O << (const char *)_X); }
+template<class _E, class _Tr> inline
+ basic_ostream<_E, _Tr>& __cdecl operator<<(
+ basic_ostream<_E, _Tr>& _O, const signed char _C)
+ {return (_O << (char)_C); }
+template<class _E, class _Tr> inline
+ basic_ostream<_E, _Tr>& __cdecl operator<<(
+ basic_ostream<_E, _Tr>& _O, const unsigned char *_X)
+ {return (_O << (const char *)_X); }
+template<class _E, class _Tr> inline
+ basic_ostream<_E, _Tr>& __cdecl operator<<(
+ basic_ostream<_E, _Tr>& _O, const unsigned char _C)
+ {return (_O << (char)_C); }
+template<class _E, class _Tr> inline
+ basic_ostream<_E, _Tr>& __cdecl operator<<(
+ basic_ostream<_E, _Tr>& _O, const signed short *_X)
+ {return (_O << (const wchar_t *)_X); }
+
+template<class _E, class _Tr> inline
+ basic_ostream<_E, _Tr>&
+ __cdecl endl(basic_ostream<_E, _Tr>& _O)
+ {_O.put(_O.widen('\n'));
+ _O.flush();
+ return (_O); }
+ inline basic_ostream<char, char_traits<char> >&
+ __cdecl endl(basic_ostream<char, char_traits<char> >& _O)
+ {_O.put('\n');
+ _O.flush();
+ return (_O); }
+ inline basic_ostream<wchar_t, char_traits<wchar_t> >&
+ __cdecl endl(basic_ostream<wchar_t,
+ char_traits<wchar_t> >& _O)
+ {_O.put('\n');
+ _O.flush();
+ return (_O); }
+template<class _E, class _Tr> inline
+ basic_ostream<_E, _Tr>&
+ __cdecl ends(basic_ostream<_E, _Tr>& _O)
+ {_O.put(_E('\0'));
+ return (_O); }
+ inline basic_ostream<char, char_traits<char> >&
+ __cdecl ends(basic_ostream<char, char_traits<char> >& _O)
+ {_O.put('\0');
+ return (_O); }
+ inline basic_ostream<wchar_t, char_traits<wchar_t> >&
+ __cdecl ends(basic_ostream<wchar_t,
+ char_traits<wchar_t> >& _O)
+ {_O.put('\0');
+ return (_O); }
+template<class _E, class _Tr> inline
+ basic_ostream<_E, _Tr>&
+ __cdecl flush(basic_ostream<_E, _Tr>& _O)
+ {_O.flush();
+ return (_O); }
+ inline basic_ostream<char, char_traits<char> >&
+ __cdecl flush(basic_ostream<char, char_traits<char> >& _O)
+ {_O.flush();
+ return (_O); }
+ inline basic_ostream<wchar_t, char_traits<wchar_t> >&
+ __cdecl flush(basic_ostream<wchar_t,
+ char_traits<wchar_t> >& _O)
+ {_O.flush();
+ return (_O); }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+};
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+namespace std {
+
+template<class _E, class _Tr = char_traits<_E> >
+ class basic_istream : virtual public basic_ios<_E, _Tr> {
+public:
+ typedef basic_istream<_E, _Tr> _Myt;
+ typedef basic_ios<_E, _Tr> _Myios;
+ typedef basic_streambuf<_E, _Tr> _Mysb;
+ typedef istreambuf_iterator<_E, _Tr> _Iter;
+ typedef ctype<_E> _Ctype;
+ typedef num_get<_E, _Iter> _Nget;
+ explicit basic_istream(_Mysb *_S, bool _Isstd = false)
+ : _Chcount(0) {init(_S, _Isstd); }
+ basic_istream(_Uninitialized)
+ {_Addstd(); }
+ virtual ~basic_istream()
+ {}
+ class sentry {
+ public:
+ explicit sentry(_Myt& _Is, bool _Noskip = false)
+ : _Ok(_Is.ipfx(_Noskip)) {}
+ operator bool() const
+ {return (_Ok); }
+ private:
+ bool _Ok;
+ };
+ bool ipfx(bool _Noskip = false)
+ {if (good())
+ {if (tie() != 0)
+ tie()->flush();
+ if (!_Noskip && flags() & skipws)
+ {const _Ctype& _Fac = use_facet(getloc(), (_Ctype *)0, true);
+ try {
+ int_type _C = rdbuf()->sgetc();
+ while (!_Tr::eq_int_type(_Tr::eof(), _C)
+ && _Fac.is(_Ctype::space,
+ _Tr::to_char_type(_C)))
+ _C = rdbuf()->snextc();
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ if (good())
+ return (true); }
+ setstate(failbit);
+ return (false); }
+ void isfx()
+ {}
+ _Myt& operator>>(_Myt& (__cdecl *_F)(_Myt&))
+ {return ((*_F)(*this)); }
+ _Myt& operator>>(_Myios& (__cdecl *_F)(_Myios&))
+ {(*_F)(*(_Myios *)this);
+ return (*this); }
+ _Myt& operator>>(ios_base& (__cdecl *_F)(ios_base&))
+ {(*_F)(*(ios_base *)this);
+ return (*this); }
+ _Myt& operator>>(_Bool& _X)
+ {iostate _St = goodbit;
+ const sentry _Ok(*this);
+ if (_Ok)
+ {const _Nget& _Fac = use_facet(getloc(), (_Nget *)0, true);
+ try {
+ _Fac.get(_Iter(rdbuf()), _Iter(0), *this, _St, _X);
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ _Myt& operator>>(short& _X)
+ {iostate _St = goodbit;
+ const sentry _Ok(*this);
+ if (_Ok)
+ {long _Y;
+ const _Nget& _Fac = use_facet(getloc(), (_Nget *)0, true);
+ try {
+ _Fac.get(_Iter(rdbuf()), _Iter(0), *this, _St, _Y);
+ } catch (...) { setstate(ios_base::badbit, true); }
+ if (_St & failbit || _Y < (-32768) || 32767 < _Y)
+ _St |= failbit;
+ else
+ _X = (short)_Y; }
+ setstate(_St);
+ return (*this); }
+ _Myt& operator>>(unsigned short& _X)
+ {iostate _St = goodbit;
+ const sentry _Ok(*this);
+ if (_Ok)
+ {const _Nget& _Fac = use_facet(getloc(), (_Nget *)0, true);
+ try {
+ _Fac.get(_Iter(rdbuf()), _Iter(0), *this, _St, _X);
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ _Myt& operator>>(int& _X)
+ {iostate _St = goodbit;
+ const sentry _Ok(*this);
+ if (_Ok)
+ {long _Y;
+ const _Nget& _Fac = use_facet(getloc(), (_Nget *)0, true);
+ try {
+ _Fac.get(_Iter(rdbuf()), _Iter(0), *this, _St, _Y);
+ } catch (...) { setstate(ios_base::badbit, true); }
+ if (_St & failbit || _Y < (-2147483647 - 1) || 2147483647 < _Y)
+ _St |= failbit;
+ else
+ _X = _Y; }
+ setstate(_St);
+ return (*this); }
+ _Myt& operator>>(unsigned int& _X)
+ {iostate _St = goodbit;
+ const sentry _Ok(*this);
+ if (_Ok)
+ {const _Nget& _Fac = use_facet(getloc(), (_Nget *)0, true);
+ try {
+ _Fac.get(_Iter(rdbuf()), _Iter(0), *this, _St, _X);
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ _Myt& operator>>(long& _X)
+ {iostate _St = goodbit;
+ const sentry _Ok(*this);
+ if (_Ok)
+ {const _Nget& _Fac = use_facet(getloc(), (_Nget *)0, true);
+ try {
+ _Fac.get(_Iter(rdbuf()), _Iter(0), *this, _St, _X);
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ _Myt& operator>>(unsigned long& _X)
+ {iostate _St = goodbit;
+ const sentry _Ok(*this);
+ if (_Ok)
+ {const _Nget& _Fac = use_facet(getloc(), (_Nget *)0, true);
+ try {
+ _Fac.get(_Iter(rdbuf()), _Iter(0), *this, _St, _X);
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ _Myt& operator>>(float& _X)
+ {iostate _St = goodbit;
+ const sentry _Ok(*this);
+ if (_Ok)
+ {const _Nget& _Fac = use_facet(getloc(), (_Nget *)0, true);
+ try {
+ _Fac.get(_Iter(rdbuf()), _Iter(0), *this, _St, _X);
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ _Myt& operator>>(double& _X)
+ {iostate _St = goodbit;
+ const sentry _Ok(*this);
+ if (_Ok)
+ {const _Nget& _Fac = use_facet(getloc(), (_Nget *)0, true);
+ try {
+ _Fac.get(_Iter(rdbuf()), _Iter(0), *this, _St, _X);
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ _Myt& operator>>(long double& _X)
+ {iostate _St = goodbit;
+ const sentry _Ok(*this);
+ if (_Ok)
+ {const _Nget& _Fac = use_facet(getloc(), (_Nget *)0, true);
+ try {
+ _Fac.get(_Iter(rdbuf()), _Iter(0), *this, _St, _X);
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ _Myt& operator>>(void *& _X)
+ {iostate _St = goodbit;
+ const sentry _Ok(*this);
+ if (_Ok)
+ {const _Nget& _Fac = use_facet(getloc(), (_Nget *)0, true);
+ try {
+ _Fac.get(_Iter(rdbuf()), _Iter(0), *this, _St, _X);
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ _Myt& operator>>(_Mysb *_Pb)
+ {iostate _St = goodbit;
+ bool _Copied = false;
+ const sentry _Ok(*this);
+ if (_Ok && _Pb != 0)
+ {try {
+ int_type _C = rdbuf()->sgetc();
+ for (; ; _C = rdbuf()->snextc())
+ if (_Tr::eq_int_type(_Tr::eof(), _C))
+ {_St |= eofbit;
+ break; }
+ else
+ {try {
+ if (_Tr::eq_int_type(_Tr::eof(),
+ _Pb->sputc(_Tr::to_char_type(_C))))
+ break;
+ } catch (...) {
+ break;
+ }
+ _Copied = true; }
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(!_Copied ? _St | failbit : _St);
+ return (*this); }
+ int_type get()
+ {int_type _C;
+ iostate _St = goodbit;
+ _Chcount = 0;
+ const sentry _Ok(*this, true);
+ if (!_Ok)
+ _C = _Tr::eof();
+ else
+ {try {
+ _C = rdbuf()->sbumpc();
+ if (_Tr::eq_int_type(_Tr::eof(), _C))
+ _St |= eofbit | failbit;
+ else
+ ++_Chcount;
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (_C); }
+ _Myt& get(_E *_S, streamsize _N)
+ {return (get(_S, _N, widen('\n'))); }
+ _Myt& get(_E *_S, streamsize _N, _E _D)
+ {iostate _St = goodbit;
+ _Chcount = 0;
+ const sentry _Ok(*this, true);
+ if (_Ok && 0 < _N)
+ {try {
+ int_type _C = rdbuf()->sgetc();
+ for (; 0 < --_N; _C = rdbuf()->snextc())
+ if (_Tr::eq_int_type(_Tr::eof(), _C))
+ {_St |= eofbit;
+ break; }
+ else if (_Tr::to_char_type(_C) == _D)
+ break;
+ else
+ *_S++ = _Tr::to_char_type(_C), ++_Chcount;
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_Chcount == 0 ? _St | failbit : _St);
+ *_S = _E(0);
+ return (*this); }
+ _Myt& get(_E& _X)
+ {int_type _C = get();
+ if (!_Tr::eq_int_type(_Tr::eof(), _C))
+ _X = _Tr::to_char_type(_C);
+ return (*this); }
+ _Myt& get(_Mysb& _Sb)
+ {return (get(_Sb, widen('\n'))); }
+ _Myt& get(_Mysb& _Sb, _E _D)
+ {iostate _St = goodbit;
+ _Chcount = 0;
+ const sentry _Ok(*this, true);
+ if (_Ok)
+ {try {
+ int_type _C = rdbuf()->sgetc();
+ for (; ; _C = rdbuf()->snextc())
+ if (_Tr::eq_int_type(_Tr::eof(), _C))
+ {_St |= eofbit;
+ break; }
+ else
+ {try {
+ _E _Ch = _Tr::to_char_type(_C);
+ if (_Ch == _D
+ || _Tr::eq_int_type(_Tr::eof(),
+ _Sb.sputc(_Ch)))
+ break;
+ } catch (...) {
+ break;
+ }
+ ++_Chcount; }
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ if (_Chcount == 0)
+ _St |= failbit;
+ setstate(_St);
+ return (*this); }
+ _Myt& getline(_E *_S, streamsize _N)
+ {return (getline(_S, _N, widen('\n'))); }
+ _Myt& getline(_E *_S, streamsize _N, _E _D)
+ {iostate _St = goodbit;
+ _Chcount = 0;
+ const sentry _Ok(*this, true);
+ if (_Ok && 0 < _N)
+ {int_type _Di = _Tr::to_int_type(_D);
+ try {
+ int_type _C = rdbuf()->sgetc();
+ for (; ; _C = rdbuf()->snextc())
+ if (_Tr::eq_int_type(_Tr::eof(), _C))
+ {_St |= eofbit;
+ break; }
+ else if (_C == _Di)
+ {++_Chcount;
+ rdbuf()->stossc();
+ break; }
+ else if (--_N <= 0)
+ {_St |= failbit;
+ break; }
+ else
+ {++_Chcount;
+ *_S++ = _Tr::to_char_type(_C); }
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ *_S = _E(0);
+ setstate(_Chcount == 0 ? _St | failbit : _St);
+ return (*this); }
+ _Myt& ignore(streamsize _N = 1, int_type _Di = _Tr::eof())
+ {iostate _St = goodbit;
+ _Chcount = 0;
+ const sentry _Ok(*this, true);
+ if (_Ok && 0 < _N)
+ {try {
+ for (; ; )
+ {int_type _C;
+ if (_N != 2147483647 && --_N < 0)
+ break;
+ else if (_Tr::eq_int_type(_Tr::eof(),
+ _C = rdbuf()->sbumpc()))
+ {_St |= eofbit;
+ break; }
+ else
+ {++_Chcount;
+ if (_C == _Di)
+ break; }}
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ _Myt& read(_E *_S, streamsize _N)
+ {iostate _St = goodbit;
+ _Chcount = 0;
+ const sentry _Ok(*this, true);
+ if (_Ok)
+ {try {
+ const streamsize _M = rdbuf()->sgetn(_S, _N);
+ _Chcount += _M;
+ if (_M != _N)
+ _St |= eofbit | failbit;
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ streamsize readsome(_E *_S, streamsize _N)
+ {iostate _St = goodbit;
+ _Chcount = 0;
+ int _M;
+ if (rdbuf() == 0)
+ _St |= failbit;
+ else if ((_M = rdbuf()->in_avail()) < 0)
+ _St |= eofbit;
+ else if (0 < _M)
+ read(_S, _M < _N ? _M : _N);
+ setstate(_St);
+ return (gcount()); }
+ int_type peek()
+ {iostate _St = goodbit;
+ _Chcount = 0;
+ int_type _C;
+ const sentry _Ok(*this, true);
+ if (!_Ok)
+ _C = _Tr::eof();
+ else
+ {try {
+ if (_Tr::eq_int_type(_Tr::eof(),
+ _C = rdbuf()->sgetc()))
+ _St |= eofbit;
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (_C); }
+ _Myt& putback(_E _X)
+ {iostate _St = goodbit;
+ _Chcount = 0;
+ const sentry _Ok(*this, true);
+ if (_Ok)
+ {try {
+ if (_Tr::eq_int_type(_Tr::eof(),
+ rdbuf()->sputbackc(_X)))
+ _St |= badbit;
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ _Myt& unget()
+ {iostate _St = goodbit;
+ _Chcount = 0;
+ const sentry _Ok(*this, true);
+ if (_Ok)
+ {try {
+ if (_Tr::eq_int_type(_Tr::eof(),
+ rdbuf()->sungetc()))
+ _St |= badbit;
+ } catch (...) { setstate(ios_base::badbit, true); } }
+ setstate(_St);
+ return (*this); }
+ streamsize gcount() const
+ {return (_Chcount); }
+ int sync()
+ {iostate _St = goodbit;
+ int _Ans;
+ if (rdbuf() == 0)
+ _Ans = -1;
+ else if (rdbuf()->pubsync() == -1)
+ _St |= badbit, _Ans = -1;
+ else
+ _Ans = 0;
+ setstate(_St);
+ return (_Ans); }
+ _Myt& seekg(pos_type _P)
+ {if (!fail())
+ rdbuf()->pubseekpos(_P, in);
+ return (*this); }
+ _Myt& seekg(off_type _O, ios_base::seekdir _W)
+ {if (!fail())
+ rdbuf()->pubseekoff(_O, _W, in);
+ return (*this); }
+ pos_type tellg()
+ {if (!fail())
+ return (rdbuf()->pubseekoff(0, cur, in));
+ else
+ return (streampos(_BADOFF)); }
+private:
+ streamsize _Chcount;
+ };
+
+
+
+
+
+
+
+
+
+template<class _E, class _Tr = char_traits<_E> >
+ class basic_iostream : public basic_istream<_E, _Tr>,
+ public basic_ostream<_E, _Tr> {
+public:
+ explicit basic_iostream(basic_streambuf<_E, _Tr> *_S)
+ : basic_istream<_E, _Tr>(_S), basic_ostream<_E, _Tr>(_S, false, false)
+ {}
+ virtual ~basic_iostream()
+ {}
+ };
+
+
+
+
+
+
+
+
+
+
+
+template<class _E, class _Tr> inline
+ basic_istream<_E, _Tr>& __cdecl operator>>(
+ basic_istream<_E, _Tr>& _I, _E *_X)
+ {typedef basic_istream<_E, _Tr> _Myis;
+ typedef ctype<_E> _Ctype;
+ ios_base::iostate _St = ios_base::goodbit;
+ _E *_S = _X;
+ const _Myis::sentry _Ok(_I);
+ if (_Ok)
+ {const _Ctype& _Fac = use_facet(_I.getloc(), (_Ctype *)0, true);
+ try {
+ int _N = 0 < _I.width() ? _I.width() : 2147483647;
+ _Myis::int_type _C = _I.rdbuf()->sgetc();
+ for (; 0 < --_N; _C = _I.rdbuf()->snextc())
+ if (_Tr::eq_int_type(_Tr::eof(), _C))
+ {_St |= ios_base::eofbit;
+ break; }
+ else if (_Fac.is(_Ctype::space,
+ _Tr::to_char_type(_C)))
+ break;
+ else
+ *_S++ = _Tr::to_char_type(_C);
+ } catch (...) { (_I).setstate(ios_base::badbit, true); } }
+ *_S = _E(0);
+ _I.width(0);
+ _I.setstate(_S == _X ? _St | ios_base::failbit : _St);
+ return (_I); }
+template<class _E, class _Tr> inline
+ basic_istream<_E, _Tr>& __cdecl operator>>(
+ basic_istream<_E, _Tr>& _I, _E& _X)
+ {typedef basic_istream<_E, _Tr> _Myis;
+ _Myis::int_type _C;
+ ios_base::iostate _St = ios_base::goodbit;
+ const _Myis::sentry _Ok(_I);
+ if (_Ok)
+ {try {
+ _C = _I.rdbuf()->sbumpc();
+ if (_Tr::eq_int_type(_Tr::eof(), _C))
+ _St |= ios_base::eofbit | ios_base::failbit;
+ else
+ _X = _Tr::to_char_type(_C);
+ } catch (...) { (_I).setstate(ios_base::badbit, true); } }
+ _I.setstate(_St);
+ return (_I); }
+template<class _E, class _Tr> inline
+ basic_istream<_E, _Tr>& __cdecl operator>>(
+ basic_istream<_E, _Tr>& _I, signed char *_X)
+ {return (_I >> (char *)_X); }
+template<class _E, class _Tr> inline
+ basic_istream<_E, _Tr>& __cdecl operator>>(
+ basic_istream<_E, _Tr>& _I, signed char& _C)
+ {return (_I >> (char&)_C); }
+template<class _E, class _Tr> inline
+ basic_istream<_E, _Tr>& __cdecl operator>>(
+ basic_istream<_E, _Tr>& _I, unsigned char *_X)
+ {return (_I >> (char *)_X); }
+template<class _E, class _Tr> inline
+ basic_istream<_E, _Tr>& __cdecl operator>>(
+ basic_istream<_E, _Tr>& _I, unsigned char& _C)
+ {return (_I >> (char&)_C); }
+template<class _E, class _Tr> inline
+ basic_istream<_E, _Tr>& __cdecl operator>>(
+ basic_istream<_E, _Tr>& _I, signed short * _X)
+ {return (_I >> (wchar_t *)_X); }
+
+template<class _E, class _Tr> inline
+ basic_istream<_E, _Tr>& __cdecl ws(basic_istream<_E, _Tr>& _I)
+ {typedef basic_istream<_E, _Tr> _Myis;
+ typedef ctype<_E> _Ctype;
+ ios_base::iostate _St = ios_base::goodbit;
+ const _Myis::sentry _Ok(_I, true);
+ if (_Ok)
+ {const _Ctype& _Fac = use_facet(_I.getloc(), (_Ctype *)0, true);
+ try {
+ for (_Tr::int_type _C = _I.rdbuf()->sgetc(); ;
+ _C = _I.rdbuf()->snextc())
+ if (_Tr::eq_int_type(_Tr::eof(), _C))
+ {_St |= ios_base::eofbit;
+ break; }
+ else if (!_Fac.is(_Ctype::space,
+ _Tr::to_char_type(_C)))
+ break;
+ } catch (...) { (_I).setstate(ios_base::badbit, true); } }
+ _I.setstate(_St);
+ return (_I); }
+ inline basic_istream<char, char_traits<char> >&
+ __cdecl ws(basic_istream<char, char_traits<char> >& _I)
+ {typedef char _E;
+ typedef char_traits<_E> _Tr;
+ ios_base::iostate _St = ios_base::goodbit;
+ const basic_istream<_E, _Tr>::sentry _Ok(_I, true);
+ if (_Ok)
+ {const ctype<_E>& _Fac = use_facet(_I.getloc(), (ctype<_E> *)0, true);
+ try {
+ for (_Tr::int_type _C = _I.rdbuf()->sgetc(); ;
+ _C = _I.rdbuf()->snextc())
+ if (_Tr::eq_int_type(_Tr::eof(), _C))
+ {_St |= ios_base::eofbit;
+ break; }
+ else if (!_Fac.is(ctype<_E>::space,
+ _Tr::to_char_type(_C)))
+ break;
+ } catch (...) { (_I).setstate(ios_base::badbit, true); } }
+ _I.setstate(_St);
+ return (_I); }
+ inline basic_istream<wchar_t, char_traits<wchar_t> >&
+ __cdecl ws(basic_istream<wchar_t, char_traits<wchar_t> >& _I)
+ {typedef wchar_t _E;
+ typedef char_traits<_E> _Tr;
+ ios_base::iostate _St = ios_base::goodbit;
+ const basic_istream<_E, _Tr>::sentry _Ok(_I, true);
+ if (_Ok)
+ {const ctype<_E>& _Fac = use_facet(_I.getloc(), (ctype<_E> *)0, true);
+ try {
+ for (_Tr::int_type _C = _I.rdbuf()->sgetc(); ;
+ _C = _I.rdbuf()->snextc())
+ if (_Tr::eq_int_type(_Tr::eof(), _C))
+ {_St |= ios_base::eofbit;
+ break; }
+ else if (_Fac.is(ctype<_E>::space,
+ _Tr::to_char_type(_C)))
+ break;
+ } catch (...) { (_I).setstate(ios_base::badbit, true); } }
+ _I.setstate(_St);
+ return (_I); }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+};
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+namespace std {
+
+template<class _E, class _Tr, class _A> inline
+ basic_string<_E, _Tr, _A> __cdecl operator+(
+ const basic_string<_E, _Tr, _A>& _L,
+ const basic_string<_E, _Tr, _A>& _R)
+ {return (basic_string<_E, _Tr, _A>(_L) += _R); }
+template<class _E, class _Tr, class _A> inline
+ basic_string<_E, _Tr, _A> __cdecl operator+(const _E *_L,
+ const basic_string<_E, _Tr, _A>& _R)
+ {return (basic_string<_E, _Tr, _A>(_L) += _R); }
+template<class _E, class _Tr, class _A> inline
+ basic_string<_E, _Tr, _A> __cdecl operator+(
+ const _E _L, const basic_string<_E, _Tr, _A>& _R)
+ {return (basic_string<_E, _Tr, _A>(1, _L) += _R); }
+template<class _E, class _Tr, class _A> inline
+ basic_string<_E, _Tr, _A> __cdecl operator+(
+ const basic_string<_E, _Tr, _A>& _L,
+ const _E *_R)
+ {return (basic_string<_E, _Tr, _A>(_L) += _R); }
+template<class _E, class _Tr, class _A> inline
+ basic_string<_E, _Tr, _A> __cdecl operator+(
+ const basic_string<_E, _Tr, _A>& _L, const _E _R)
+ {return (basic_string<_E, _Tr, _A>(_L) += _R); }
+template<class _E, class _Tr, class _A> inline
+ bool __cdecl operator==(const basic_string<_E, _Tr, _A>& _L,
+ const basic_string<_E, _Tr, _A>& _R)
+ {return (_L.compare(_R) == 0); }
+template<class _E, class _Tr, class _A> inline
+ bool __cdecl operator==(const _E * _L,
+ const basic_string<_E, _Tr, _A>& _R)
+ {return (_R.compare(_L) == 0); }
+template<class _E, class _Tr, class _A> inline
+ bool __cdecl operator==(const basic_string<_E, _Tr, _A>& _L,
+ const _E *_R)
+ {return (_L.compare(_R) == 0); }
+template<class _E, class _Tr, class _A> inline
+ bool __cdecl operator!=(const basic_string<_E, _Tr, _A>& _L,
+ const basic_string<_E, _Tr, _A>& _R)
+ {return (!(_L == _R)); }
+template<class _E, class _Tr, class _A> inline
+ bool __cdecl operator!=(const _E *_L,
+ const basic_string<_E, _Tr, _A>& _R)
+ {return (!(_L == _R)); }
+template<class _E, class _Tr, class _A> inline
+ bool __cdecl operator!=(const basic_string<_E, _Tr, _A>& _L,
+ const _E *_R)
+ {return (!(_L == _R)); }
+template<class _E, class _Tr, class _A> inline
+ bool __cdecl operator<(const basic_string<_E, _Tr, _A>& _L,
+ const basic_string<_E, _Tr, _A>& _R)
+ {return (_L.compare(_R) < 0); }
+template<class _E, class _Tr, class _A> inline
+ bool __cdecl operator<(const _E * _L,
+ const basic_string<_E, _Tr, _A>& _R)
+ {return (_R.compare(_L) > 0); }
+template<class _E, class _Tr, class _A> inline
+ bool __cdecl operator<(const basic_string<_E, _Tr, _A>& _L,
+ const _E *_R)
+ {return (_L.compare(_R) < 0); }
+template<class _E, class _Tr, class _A> inline
+ bool __cdecl operator>(const basic_string<_E, _Tr, _A>& _L,
+ const basic_string<_E, _Tr, _A>& _R)
+ {return (_R < _L); }
+template<class _E, class _Tr, class _A> inline
+ bool __cdecl operator>(const _E * _L,
+ const basic_string<_E, _Tr, _A>& _R)
+ {return (_R < _L); }
+template<class _E, class _Tr, class _A> inline
+ bool __cdecl operator>(const basic_string<_E, _Tr, _A>& _L,
+ const _E *_R)
+ {return (_R < _L); }
+template<class _E, class _Tr, class _A> inline
+ bool __cdecl operator<=(const basic_string<_E, _Tr, _A>& _L,
+ const basic_string<_E, _Tr, _A>& _R)
+ {return (!(_R < _L)); }
+template<class _E, class _Tr, class _A> inline
+ bool __cdecl operator<=(const _E * _L,
+ const basic_string<_E, _Tr, _A>& _R)
+ {return (!(_R < _L)); }
+template<class _E, class _Tr, class _A> inline
+ bool __cdecl operator<=(const basic_string<_E, _Tr, _A>& _L,
+ const _E *_R)
+ {return (!(_R < _L)); }
+template<class _E, class _Tr, class _A> inline
+ bool __cdecl operator>=(const basic_string<_E, _Tr, _A>& _L,
+ const basic_string<_E, _Tr, _A>& _R)
+ {return (!(_L < _R)); }
+template<class _E, class _Tr, class _A> inline
+ bool __cdecl operator>=(const _E * _L,
+ const basic_string<_E, _Tr, _A>& _R)
+ {return (!(_L < _R)); }
+template<class _E, class _Tr, class _A> inline
+ bool __cdecl operator>=(const basic_string<_E, _Tr, _A>& _L,
+ const _E *_R)
+ {return (!(_L < _R)); }
+
+template<class _E, class _Tr, class _A> inline
+ basic_istream<_E, _Tr>& __cdecl operator>>(
+ basic_istream<_E, _Tr>& _I,
+ basic_string<_E, _Tr, _A>& _X)
+ {typedef ctype<_E> _Ctype;
+ typedef basic_istream<_E, _Tr> _Myis;
+ ios_base::iostate _St = ios_base::goodbit;
+ bool _Chg = false;
+ _X.erase();
+ const _Myis::sentry _Ok(_I);
+ if (_Ok)
+ {const _Ctype& _Fac = use_facet(_I.getloc(), (_Ctype *)0, true);
+ try {
+ _A::size_type _N = 0 < _I.width()
+ && _I.width() < _X.max_size()
+ ? _I.width() : _X.max_size();
+ _Tr::int_type _C = _I.rdbuf()->sgetc();
+ for (; 0 < --_N; _C = _I.rdbuf()->snextc())
+ if(_Tr::eq_int_type(_Tr::eof(), _C))
+ {_St |= ios_base::eofbit;
+ break; }
+ else if (_Fac.is(_Ctype::space,
+ _Tr::to_char_type(_C)))
+ break;
+ else
+ {_X.append(1, _Tr::to_char_type(_C));
+ _Chg = true; }
+ } catch (...) { (_I).setstate(ios_base::badbit, true); }; }
+ _I.width(0);
+ if (!_Chg)
+ _St |= ios_base::failbit;
+ _I.setstate(_St);
+ return (_I); }
+template<class _E, class _Tr, class _A> inline
+ basic_istream<_E, _Tr>& __cdecl getline(basic_istream<_E, _Tr>& _I,
+ basic_string<_E, _Tr, _A>& _X)
+ {return (getline(_I, _X, _I.widen('\n'))); }
+template<class _E, class _Tr, class _A> inline
+ basic_istream<_E, _Tr>& __cdecl getline(basic_istream<_E, _Tr>& _I,
+ basic_string<_E, _Tr, _A>& _X, const _E _D)
+ {typedef basic_istream<_E, _Tr> _Myis;
+ ios_base::iostate _St = ios_base::goodbit;
+ bool _Chg = false;
+ _X.erase();
+ const _Myis::sentry _Ok(_I, true);
+ if (_Ok)
+ {try {
+ _Tr::int_type _C = _I.rdbuf()->sgetc();
+ for (; ; _C = _I.rdbuf()->snextc())
+ if (_Tr::eq_int_type(_Tr::eof(), _C))
+ {_St |= ios_base::eofbit;
+ break; }
+ else if (_Tr::eq((_E)_C, _D))
+ {_Chg = true;
+ _I.rdbuf()->snextc();
+ break; }
+ else if (_X.max_size() <= _X.size())
+ {_St |= ios_base::failbit;
+ break; }
+ else
+ _X += _Tr::to_char_type(_C), _Chg = true;
+ } catch (...) { (_I).setstate(ios_base::badbit, true); }; }
+ if (!_Chg)
+ _St |= ios_base::failbit;
+ _I.setstate(_St);
+ return (_I); }
+template<class _E, class _Tr, class _A> inline
+ basic_ostream<_E, _Tr>& __cdecl operator<<(
+ basic_ostream<_E, _Tr>& _O,
+ const basic_string<_E, _Tr, _A>& _X)
+ {
+ _O << _X.c_str();
+ return (_O); }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+};
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+#pragma pack(push,8)
+
+namespace std {
+
+class strstreambuf : public streambuf {
+public:
+ enum __Strstate {_Allocated = 1, _Constant = 2,
+ _Dynamic = 4, _Frozen = 8};
+ typedef int _Strstate;
+ explicit strstreambuf(streamsize _N = 0)
+ {_Init(_N); }
+ strstreambuf(void *(__cdecl *_A)(size_t),
+ void (__cdecl *_F)(void *))
+ {_Init(), _Palloc = _A, _Pfree = _F; }
+ strstreambuf(char *_G, streamsize _N, char *_P = 0)
+ {_Init(_N, _G, _P); }
+ strstreambuf(unsigned char *_G, streamsize _N,
+ unsigned char *_P = 0)
+ {_Init(_N, (char *)_G, (char *)_P); }
+ strstreambuf(const char *_G, streamsize _N)
+ {_Init(_N, (char *)_G, 0, _Constant); }
+ strstreambuf(const unsigned char *_G, streamsize _N)
+ {_Init(_N, (char *)_G, 0, _Constant); }
+ virtual ~strstreambuf();
+ void freeze(bool = true);
+ char *str()
+ {freeze();
+ return (gptr()); }
+ streamsize pcount() const
+ {return (pptr() == 0 ? 0 : pptr() - pbase()); }
+ strstreambuf(signed char *_G, streamsize _N,
+ signed char *_P = 0)
+ {_Init(_N, (char *)_G, (char *)_P); }
+ strstreambuf(const signed char *_G, streamsize _N)
+ {_Init(_N, (char *)_G, 0, _Constant); }
+protected:
+ virtual int overflow(int = (-1));
+ virtual int pbackfail(int = (-1));
+ virtual int underflow();
+ virtual streampos seekoff(streamoff, ios::seekdir,
+ ios::openmode = ios::in | ios::out);
+ virtual streampos seekpos(streampos,
+ ios::openmode = ios::in | ios::out);
+ void _Init(int = 0, char * = 0, char * = 0,
+ _Strstate = (_Strstate)0);
+ void _Tidy();
+private:
+ enum {_ALSIZE = 512, _MINSIZE = 32};
+ char *_Pendsave, *_Seekhigh;
+ int _Alsize;
+ _Strstate _Strmode;
+ void *(__cdecl *_Palloc)(size_t);
+ void (__cdecl *_Pfree)(void *);
+ };
+
+
+class istrstream : public istream {
+public:
+ explicit istrstream(const char *_S)
+ : istream(&_Sb), _Sb(_S, 0) {}
+ istrstream(const char *_S, streamsize _N)
+ : istream(&_Sb), _Sb(_S, _N) {}
+ explicit istrstream(char *_S)
+ : istream(&_Sb), _Sb((const char *)_S, 0) {}
+ istrstream(char *_S, int _N)
+ : istream(&_Sb), _Sb((const char *)_S, _N) {}
+ virtual ~istrstream();
+ strstreambuf *rdbuf() const
+ {return ((strstreambuf *)&_Sb); }
+ char *str()
+ {return (_Sb.str()); }
+private:
+ strstreambuf _Sb;
+ };
+
+class ostrstream : public ostream {
+public:
+ ostrstream()
+ : ostream(&_Sb), _Sb() {}
+ ostrstream(char *, streamsize, openmode = out);
+ virtual ~ostrstream();
+ strstreambuf *rdbuf() const
+ {return ((strstreambuf *)&_Sb); }
+ void freeze(bool _F = true)
+ {_Sb.freeze(_F); }
+ char *str()
+ {return (_Sb.str()); }
+ streamsize pcount() const
+ {return (_Sb.pcount()); }
+private:
+ strstreambuf _Sb;
+ };
+
+class strstream : public iostream {
+public:
+ strstream()
+ : iostream(&_Sb), _Sb() {}
+ strstream(char *, streamsize, openmode = in | out);
+ virtual ~strstream();
+ strstreambuf *rdbuf() const
+ {return ((strstreambuf *)&_Sb); }
+ void freeze(bool _F = true)
+ {_Sb.freeze(_F); }
+ char *str()
+ {return (_Sb.str()); }
+ streamsize pcount() const
+ {return (_Sb.pcount()); }
+private:
+ strstreambuf _Sb;
+ };
+};
+
+#pragma pack(pop)
+
+
+
+
+
+
+
+
+
+extern "C" {
+namespace sf {
+ namespace system {
+
+class Exception {
+ public:
+ enum ERROR_TYPE{
+ DEFAULT,
+ DEVICE_NOT_FOUND,
+ BUFFER_IS_FULL,
+ SCENE_IS_EMPTY
+ };
+
+ Exception::Exception()
+ {
+ mErrID = DEFAULT;
+ };
+
+ Exception(const char * const pValue,const char * const fileName,const int line,const ERROR_TYPE err = DEFAULT)
+ {mErrString = pValue; mFileName = fileName;mLineNumber = line; mErrID = err;};
+ Exception(std::string & value,const char * const fileName,const int line,const ERROR_TYPE err = DEFAULT)
+ {mErrString = value;mFileName = fileName ; mLineNumber = line; mErrID = err;};
+
+ virtual ~Exception(){};
+
+ virtual std::string & reason(void)
+ {return mErrString;};
+
+ virtual void reason(const std::string& value){mErrString = value;};
+ virtual void reason(const char * const pValue){mErrString = pValue;};
+
+ virtual void sourceFileName(const char * const pValue){mFileName = pValue;};
+ virtual const std::string sourceFileName(void) const {return mFileName;};
+
+ virtual void lineNumber(const int value){mLineNumber = value;};
+ virtual const int lineNumber(void){return mLineNumber;};
+
+ virtual void errorType(const ERROR_TYPE value){mErrID = value;};
+ virtual const ERROR_TYPE errorType(void) const {return mErrID;};
+
+
+ virtual const char * const Exception::getDefaultMessage(void){
+ char tmp1[512];
+ std::strstream tmp(tmp1,510,std::ios::in | std::ios::out);
+ tmp << reason() << std::endl << sourceFileName() << ":line" << lineNumber() << std::ends;
+ mDefaultMessage = tmp.str();
+ return mDefaultMessage.c_str();
+ }
+
+private:
+ std::string mErrString;
+ std::string mFileName;
+ std::string mDefaultMessage;
+ int mLineNumber;
+ ERROR_TYPE mErrID;
+};
+
+class FatalErrorException : public Exception {
+public:
+ FatalErrorException(const char * const pValue,const char * const fileName,const int line,const ERROR_TYPE err = DEFAULT)
+ : Exception(pValue,fileName,line)
+ {;};
+ FatalErrorException(std::string & value,const char * const fileName,const int line,const ERROR_TYPE err = DEFAULT)
+ : Exception(value,fileName,line)
+ {;};
+};
+
+class RecoverbleErrorException : public Exception {
+public:
+ RecoverbleErrorException(const char * const pValue,const char * const fileName,const int line,const ERROR_TYPE err = DEFAULT)
+ : Exception(pValue,fileName,line)
+ {;};
+ RecoverbleErrorException(std::string & value,const char * const fileName,const int line,const ERROR_TYPE err = DEFAULT)
+ : Exception(value,fileName,line)
+ {;};
+
+};
+ }
+}
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+namespace sf {
+
+typedef unsigned long DWORD;
+namespace application {
+ class Main;
+}
+namespace system {
+
+
+const float PI = 3.1415926f;
+const int MAX_PATH_ = 256;
+
+namespace console {
+ class Console;
+}
+
+namespace sound {
+ class Sound;
+}
+
+namespace input {
+ class Input;
+}
+
+
+const DWORD TIMER_INTERVAL = 32;
+const float FRAME_SEC = 30.0f;
+
+class System
+{
+
+public:
+ System(){};
+ virtual ~System(){};
+
+
+
+
+ virtual void wait(void) = 0;
+ virtual void errorTerminate(const char *errString) = 0;
+ virtual void outputError(const char *errString) = 0;
+
+
+ virtual void timerInterval(const unsigned long msValue) = 0;
+ virtual const unsigned long timerInterval (void) const = 0;
+ virtual const DWORD time(void) const = 0;
+
+ virtual console::Console * const console(void) = 0;
+ virtual sound::Sound * const sound(void) = 0;
+ virtual input::Input * const input(void) = 0;
+ virtual application::Main * const main() = 0;
+ virtual void main(application::Main * const pMain ) = 0;
+ virtual const float deltaTime(void) = 0;
+ virtual const float framePerSec(void) = 0;
+
+
+ virtual bool isActive(void) = 0;
+};
+
+
+__declspec(dllimport) System * const instance(void);
+
+}
+}
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+namespace sf{
+ namespace system {
+ namespace sound {
+ const int OBJECT_MAX = 128;
+ const int LOAD_ERROR = -1;
+ enum TYPE
+ {
+ NONE,
+ TEST
+ };
+
+ namespace volume {
+ const int MAX = 0;
+ const int MIN = -9600;
+ };
+
+ class Sound
+ {
+
+ public:
+ Sound(){};
+ virtual ~Sound(){};
+
+
+
+ virtual void load(const int ObjNo,const char * const pFileName) = 0;
+ virtual const int load(const char * const pFileName) = 0;
+
+
+ virtual void unload() = 0;
+
+ virtual void play(const int ObjNo,const DWORD Repeat,const bool bPrimary,const bool bSync) = 0;
+ virtual void stop(const int ObjNo = 0) = 0;
+
+ virtual void update() = 0;
+
+
+ virtual void masterVolume(const int value) = 0;
+ virtual const int masterVolume() const = 0;
+
+ virtual void volumeMax(const int value) = 0;
+ virtual const int volumeMax() const = 0;
+
+
+
+
+ virtual const bool isEnabled(void) const = 0;
+ virtual void initialize(void) = 0;
+
+ };
+ }
+ }
+}
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+
+namespace sf{
+ namespace system {
+ namespace console {
+
+
+
+ typedef unsigned long COLOR;
+
+
+
+ class Color {
+ public:
+ Color() { mColor.value32 = 0;};
+ Color(COLOR color){mColor.value32 = color;};
+
+ COLOR value(void) const {return mColor.value32;};
+ void value(COLOR color){mColor.value32 = color;};
+ unsigned char red(void) const { return mColor.value.red;};
+ void red(unsigned char value) { mColor.value.red = value;};
+
+ unsigned char blue(void) const { return mColor.value.blue;};
+ void blue(unsigned char value) { mColor.value.blue = value;};
+
+ unsigned char green(void) const { return mColor.value.green;};
+ void green(unsigned char value){mColor.value.green = value;};
+
+ unsigned char alpha(void) const { return mColor.value.alpha;};
+ void alpha(unsigned char value){mColor.value.alpha = value;};
+
+ private:
+
+ union {
+ COLOR value32;
+ struct {
+ unsigned char blue : 8;
+ unsigned char green : 8;
+ unsigned char red : 8;
+ unsigned char alpha : 8;
+ } value;
+
+ } mColor;
+ };
+
+
+ namespace screen {
+ const int WIDTH = 640;
+ const int HEIGHT = 480;
+ };
+
+
+ namespace viewport {
+ const int X = 120;
+ const int Y = 0;
+ const float Z_MIN = 0.0f;
+ const float Z_MAX = 1.0f;
+ const int WIDTH = 400;
+ const int HEIGHT = 480;
+ };
+
+ const int TEXTURE_COUNT_MIN = 0;
+ const int TEXTURE_COUNT_MAX = 1024;
+
+
+
+ class ObjQuadrangle;
+ class ObjRectangle;
+ class Obj3DL;
+
+ namespace sprite {
+ const int MIN = 0;
+ const int MAX = 1024;
+ enum TYPE
+ {
+ SPRITE2D,
+ SPRITE3D,
+ MESH
+ };
+
+ struct Info {
+ char fileName[260];
+ float centerX;
+ float centerY;
+ float cellWidth;
+ float cellHeight;
+ COLOR transparentColor;
+ TYPE type;
+ };
+
+
+
+
+ class Sprite
+ {
+ public:
+ virtual ~Sprite(){;};
+ virtual void draw(const sf::system::console::ObjRectangle * const pObj) = 0;
+ virtual void draw(const sf::system::console::ObjQuadrangle * const pObj) = 0;
+ virtual void draw(const sf::system::console::Obj3DL * const pObj) = 0;
+ virtual const float centerX(void) const = 0;
+ virtual const float centerY(void) const = 0;
+ virtual const float width(void) const = 0;
+ virtual const float height(void) const = 0;
+ };
+
+ typedef std::auto_ptr<Sprite> PSprite;
+
+ };
+
+
+ namespace font {
+ const int COUNT_MAX = 2;
+ const int TEXTURE_WIDTH = 128;
+ const int TEXTURE_HEIGHT = 64;
+ const int WIDTH = 8;
+ const int HEIGHT = 8;
+ const char FILE_PATH[COUNT_MAX][MAX_PATH_]
+ = { "media\\font1.png",
+ "media\\font2.png"
+ };
+ }
+
+
+ namespace text {
+ const int BUFFER_LENGTH = 1024;
+ const float COLUMN_PITCH = 8.0f;
+ const float LINE_PITCH = 10.0f;
+ }
+
+
+ struct Vertex {
+ float x, y, z, rhw;
+ DWORD diffuse,specular;
+ float tu, tv;
+ };
+
+
+
+
+ class Console
+ {
+
+ public:
+ virtual ~Console(){;};
+
+
+ virtual void initialize(void) = 0;
+
+ virtual void clearScreen(COLOR value = 0x00000000) = 0;
+ virtual void fillScreen(COLOR value = 0x00000000) = 0;
+
+ virtual void update(void) = 0;
+
+
+ virtual void print(const int textureNo,const float x,const float y,const float angleRad,const float scale,const COLOR color,
+ const char *format,...) = 0;
+
+
+ virtual sprite::Sprite * const createSprite(const sprite::Info* const pInfo) = 0;
+
+
+
+
+ virtual const bool isEnabled(void) const = 0;
+ };
+
+
+ enum DrawMode {
+ DRAW_TRANS,
+ DRAW_ADD,
+ DRAW_ADD1,
+ DRAW_SHADOW,
+ DRAW_INV,
+ DRAW_MUL
+ };
+
+ }
+ }
+}
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+namespace sf {
+ namespace system {
+ namespace console {
+
+typedef int OBJNO;
+
+
+class __declspec(dllimport) Obj
+{
+public:
+ Obj();
+ virtual ~Obj();
+ virtual void draw() = 0;
+
+
+
+
+ virtual sprite::Sprite * const sprite() const = 0;
+ virtual void sprite(sprite::Sprite* const value) = 0;
+
+
+ virtual const int index() const = 0;
+ virtual void index(const int value) = 0;
+
+ virtual const bool visibility() const = 0;
+ virtual void visibility(const bool value) = 0;
+
+ virtual Obj * const previous() const = 0;
+ virtual void previous(Obj * const value) = 0;
+
+ virtual Obj * const next() const = 0;
+ virtual void next(Obj * const value) = 0;
+
+ virtual const float z() const = 0;
+ virtual void z(const float value) = 0;
+
+ virtual void drawMode(const DrawMode value) = 0;
+ virtual const DrawMode drawMode() const = 0;
+
+
+ class __declspec(dllimport) List
+ {
+ public:
+ static void insertObj(Obj *value);
+ static void deleteObj(Obj *value);
+
+ static Obj * moveTop();
+ static Obj * moveBottom();
+
+ static Obj * moveNext();
+ static Obj * movePrevious();
+
+ private:
+
+ static Obj* mspCurrent;
+ static Obj* mspTop;
+ static Obj* mspBottom;
+ static int mCount;
+
+ };
+
+};
+
+
+ }
+ }
+}
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+extern "C" {
+namespace sf {
+ namespace system {
+ namespace console {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+class __declspec(dllimport) Obj2D : public Obj
+{
+public:
+ Obj2D();
+ virtual ~Obj2D();
+
+ virtual const float x() const { return mX;};
+ virtual void x(const float value) { mX = value;};
+
+ virtual const float y() const { return mY;};
+ virtual void y(const float value) { mY = value;};
+
+ virtual const float z() const { return mZ;};
+ virtual void z(const float value) { mZ = value;List::deleteObj(this); List::insertObj(this);};
+
+ virtual const float angle() const { return mAngle;};
+ virtual void angle(const float value) { mAngle = value;};
+
+ virtual const float scalingX() const { return mScalingX;};
+ virtual void scalingX(const float value) { mScalingX = value;};
+
+ virtual const float scalingY() const { return mScalingY;};
+ virtual void scalingY(const float value) { mScalingY = value;};
+
+ virtual const bool reverseX() const { return mbReverseX;};
+ virtual void reverseX(const bool value) { mbReverseX = value;};
+
+ virtual const bool reverseY() const { return mbReverseY;};
+ virtual void reverseY(const bool value) { mbReverseY = value;}
+
+ virtual void drawMode(const DrawMode value) { mDrawMode = value;};
+ virtual const DrawMode drawMode() const {return mDrawMode;}
+
+
+ virtual sprite::Sprite * const sprite() const {return mpSprite;};
+ virtual void sprite(sprite::Sprite* const value){ mpSprite = value;};
+
+ virtual const int index() const { return mIndex;};
+ virtual void index(const int value) { mIndex = value;};
+
+
+ virtual const bool visibility() const {return mbVisibility;};
+ virtual void visibility(const bool value){ mbVisibility = value;};
+
+ virtual Obj * const previous() const {return mpPrevious;};
+ virtual void previous(Obj * const value){mpPrevious = value;};
+
+ virtual Obj * const next() const {return mpNext;};
+ virtual void next(Obj * const value){mpNext = value;};
+
+private:
+
+ float mX,mY,mZ,mRad,mAngle;
+ float mScalingX,mScalingY;
+ bool mbVisibility;
+ bool mbReverseX;
+ bool mbReverseY;
+
+ sprite::Sprite *mpSprite;
+ int mIndex;
+
+ DrawMode mDrawMode;
+ Obj* mpPrevious;
+ Obj* mpNext;
+
+};
+
+
+
+ }
+ }
+}
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+namespace sf {
+ namespace system {
+ namespace console {
+
+
+ class __declspec(dllimport) ObjRectangle : public Obj2D
+ {
+
+ public:
+ ObjRectangle();
+ virtual ~ObjRectangle();
+
+
+ virtual void draw(){if(visibility()) sprite()->draw(this);};
+
+
+ const COLOR color() const { return mColor;};
+ void color(const COLOR value) { mColor = value;};
+
+ const COLOR specular() const { return mSpecular;};
+ void specular(const COLOR value) { mSpecular = value;};
+
+ private:
+ COLOR mColor;
+ COLOR mSpecular;
+
+ };
+ }
+ }
+}
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+namespace sf {
+ namespace system {
+ namespace console {
+
+
+ class __declspec(dllimport) ObjQuadrangle : public Obj2D
+ {
+
+ public:
+ ObjQuadrangle();
+ virtual ~ObjQuadrangle();
+
+
+
+ virtual void draw(){if(visibility()) sprite()->draw(this);};
+
+
+ virtual const Vertex * const vertex(const int i) const {return &mVertex[i];};
+ virtual Vertex * const vertex(const int i){return &mVertex[i];};
+ private:
+ mutable Vertex mVertex[4];
+ };
+ }
+ }
+}
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+extern "C" {
+namespace sf{
+ namespace system {
+ namespace input {
+
+ namespace mouse {
+ const DWORD MKEY_CONTROL = 0x1;
+ const DWORD MKEY_LBUTTON = 0x2;
+ const DWORD MKEY_RBUTTON = 0x4;
+ const DWORD MKEY_SHIFT = 0x8;
+ const DWORD WHEEL_MASK = 0xffff0000;
+
+ class Listener
+ {
+ public:
+ virtual void leftButtonDown(const int screenX,const int screenY,const DWORD mkey) = 0;
+ virtual void leftButtonUp(const int screenX,const int screenY,const DWORD mkey) = 0;
+ virtual void leftButtonDoubleClick(const int screenX,const int screenY,const DWORD mkey) = 0;
+ virtual void rightButtonDown(const int screenX,const int screenY,const DWORD mkey) = 0;
+ virtual void rightButtonUp(const int screenX,const int screenY,const DWORD mkey) = 0;
+ virtual void rightButtonDoubleClick(const int screenX,const int screenY,const DWORD mkey) = 0;
+ virtual void mouseMove(const int screenX,const int screenY,const DWORD mkey) = 0;
+ virtual void mouseWheel(const int screenX,const int screenY,const DWORD mkey) = 0;
+ virtual const bool isListeningMouse(void) const = 0;
+ virtual void mouseTalkerIsDeleted(void) = 0;
+ };
+ };
+
+ namespace keyboard {
+
+ const DWORD CONTROL = 0x1;
+ const DWORD SHIFT = 0x8;
+
+
+
+
+
+
+ class __declspec(dllimport) VKey {
+ public:
+ static const int UP;
+ static const int DOWN;
+ static const int LEFT;
+ static const int RIGHT;
+ };
+
+
+ class Listener
+ {
+ public:
+ virtual void keyDown(const DWORD keyCode,const DWORD extKeyCode) = 0;
+ virtual void keyUp(const DWORD keyCode,const DWORD extKeyCode) = 0;
+ virtual const bool isListeningKeyboard(void) const = 0;
+ virtual void keyboardTalkerIsDeleted(void) = 0;
+ };
+ };
+
+
+ class Input
+ {
+
+ public:
+ Input(){};
+ virtual ~Input(){};
+
+
+
+ virtual void initialize(void) = 0;
+ virtual void update(void) = 0;
+ virtual void addMouseListener(mouse::Listener * const pListener) = 0;
+ virtual void removeMouseListener(mouse::Listener * const pListener) = 0;
+
+ virtual void addKeyboardListener(keyboard::Listener * const pListener) = 0;
+ virtual void removeKeyboardListener(keyboard::Listener * const pListener) = 0;
+
+
+ virtual const bool left(const bool bTrig = false) const = 0;
+ virtual const bool right(const bool bTrig = false) const = 0;
+ virtual const bool up(const bool bTrig = false) const = 0;
+ virtual const bool down(const bool bTrig = false) const = 0;
+ virtual const bool buttonA(const bool bTrig = false) const = 0;
+ virtual const bool buttonB(const bool bTrig = false) const = 0;
+ virtual const bool buttonC(const bool bTrig = false) const = 0;
+ virtual const bool buttonD(const bool bTrig = false) const = 0;
+ virtual const bool start(const bool bTrig = false) const = 0;
+ virtual const bool exit(const bool bTrig = false) const = 0;
+
+ virtual void showMouseCursor(void) = 0;
+ virtual void hideMouseCursor(void) = 0;
+ virtual const bool mouseCursorVisibility(void) const = 0;
+
+
+ virtual const bool isEnabled(void) const = 0;
+ };
+
+
+
+ class Listener
+ {
+ public:
+ virtual void deviceStateChanged(Input * const pInput) = 0;
+ virtual void eventTalkerIsDeleted(void) = 0;
+ };
+
+
+ }
+ }
+}
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+namespace sf {
+ namespace application {
+ namespace scene {
+
+
+
+ enum TYPE {
+ NONE,
+ TEST,
+ AUTHOR,
+ FADE,
+ TITLE,
+ GAME,
+ START,
+ RESTART,
+ OVER,
+ EDITOR,
+ CELLSELECTOR,
+ DISPOSITION_EDITOR
+ };
+ }
+ }
+}
+
+
+
+namespace sf {
+ namespace application {
+ namespace scene{
+
+ class Scene;
+
+ class Listener;
+
+
+
+
+ class __declspec(novtable) Scene
+ {
+ public:
+ Scene() {};
+ virtual ~Scene() {};
+
+
+ virtual void move(void) = 0;
+ virtual void addListener(Listener * const pListener) = 0;
+ virtual void removeListener(Listener * const pListener) = 0;
+ virtual void sleep(void) = 0;
+ virtual void active(void) = 0;
+
+ virtual const scene::TYPE type() const = 0;
+
+ virtual const bool isActive(void) const = 0;
+ };
+
+
+ typedef Scene *(*CreateSceneMethod)(int);
+
+
+
+
+
+ class __declspec(novtable) Listener
+ {
+ public:
+
+ virtual void endOfScene(Scene * const pScene) = 0;
+
+ virtual void exitKeyPressed(Scene * const pScene) = 0;
+ };
+
+ }
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+namespace sf{
+ namespace application {
+
+ const int INIT_PLAYER = 3;
+ const int STAGE_NUM_MAX = 1;
+
+ class Main
+ {
+
+ public:
+ Main(){;};
+ virtual ~Main(){;};
+ virtual void initialize(void) = 0;
+
+
+ virtual void run() = 0;
+ virtual sf::system::console::sprite::Sprite * const getBlankSprite() = 0;
+
+
+ static Main * instance();
+ };
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+namespace sf {
+ namespace application {
+ namespace scene {
+ class AbstractScene : public Scene,public Listener
+ {
+ public:
+
+ AbstractScene();
+ virtual ~AbstractScene();
+
+
+
+ virtual void move(void) = 0;
+
+ virtual void sleep(void){mbActive = false;};
+ virtual void active(void){mbActive = true;};
+ virtual const bool isActive(void) const {return mbActive;};
+
+ virtual void addListener(Listener * const pListener);
+ virtual void removeListener(Listener * const pListener);
+
+ virtual void callSceneEvent(void(Listener::*pMethod)(Scene* const));
+ protected:
+ std::list<Listener*> mListenerList;
+ system::console::Console *mpConsole;
+ system::System *mpSystem;
+ system::sound::Sound *mpSound;
+ system::input::Input *mpInput;
+ application::Main * mpMain;
+ bool mbActive;
+ bool mbInitialized;
+ };
+ }
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#pragma once
+
+
+
+
+namespace sf {
+ namespace application {
+ namespace scene {
+
+
+
+ class __declspec(novtable) Fade
+ {
+ public:
+ enum TYPE {
+ FADE_IN,
+ FADE_OUT
+ };
+
+ Fade(){};
+ virtual ~Fade(){};
+
+
+
+ virtual void speed(const float value) = 0;
+ virtual const float speed() = 0;
+
+ virtual const Fade::TYPE fadeType() = 0;
+ virtual void fadeType(const Fade::TYPE value) = 0;
+
+ virtual const system::console::COLOR startColor(void) = 0;
+ virtual void startColor(const system::console::COLOR value ) = 0;
+
+ virtual const system::console::COLOR endColor(void) = 0;
+ virtual void endColor(const system::console::COLOR value) = 0;
+
+ virtual const bool fadeVolumeFlag() = 0;
+ virtual void fadeVolumeFlag(const bool value) = 0;
+
+
+
+ virtual void initialize() = 0;
+
+ };
+ }
+ }
+}
+
+
+
+
+namespace sf {
+ namespace application {
+ namespace scene {
+
+ class FadeImpl : public AbstractScene,public Fade
+ {
+ public:
+ FadeImpl();
+ virtual ~FadeImpl();
+
+
+ void move(void);
+ const scene::TYPE type() const{return FADE;};
+
+ void endOfScene(Scene * const pScene) {;};
+ void exitKeyPressed(Scene * const pScene) {;};
+
+
+
+ void speed(const float value){ if(!mbMove){ mSpeed = value;};};
+ const float speed(){return mSpeed;};
+
+ const Fade::TYPE fadeType(){return mType;};
+ void fadeType(const Fade::TYPE value){if(!mbMove){mType = value;};};
+
+ const system::console::COLOR startColor(void){return mStartColor;};
+ void startColor(const system::console::COLOR value ){if(!mbMove){mStartColor = value;};};
+
+ const system::console::COLOR endColor(void){return mEndColor;};
+ void endColor(const system::console::COLOR value){if(!mbMove){mEndColor = value;};};
+
+ const bool fadeVolumeFlag(){return mbFadeVolume;};
+ void fadeVolumeFlag(const bool value){if(!mbMove){mbFadeVolume = value;};};
+
+ void initialize();
+
+ static Scene * const create(const bool bManage)
+ { Scene *pscene = new FadeImpl();
+ if(bManage){
+ Container::instance()->add(pscene);
+ }
+ return pscene;
+ };
+
+ private:
+ system::console::COLOR mStartColor,mEndColor;
+ Fade::TYPE mType;
+ float mSpeed;
+ system::System *mpSystem;
+ system::sound::Sound *mpSound;
+ float mCurrent,mEnd;
+ float mVolumePitch;
+ float mVolume;
+ bool mbFadeVolume;
+ bool mbMove;
+ system::console::ObjRectangle mFadeObj;
+ };
+ }
+ }
+}
+
+
+
+
+
+
+
+
+using namespace sf::application::scene;
+
+
+FadeImpl::FadeImpl()
+{
+ mbMove = false;
+ system::System* mpSystem = system::Factory::getInstance();
+ mpSound = mpSystem->sound();
+
+ mStartColor = (0xff000000);
+ mEndColor = 0x00000000;
+ mSpeed = 0.05f;
+ mType = Fade::FADE_IN;
+ mbFadeVolume = true;
+
+ mFadeObj.x(system::console::viewport::X + (system::console::viewport::WIDTH/2.0f));
+ mFadeObj.y(0.0f + (system::console::viewport::HEIGHT / 2.0f));
+ mFadeObj.z(0.0f);
+ mFadeObj.sprite(MainFactory::getInstance()->getBlankSprite());
+ mFadeObj.scalingX(25.0f);
+ mFadeObj.scalingY(60.0f);
+ mFadeObj.color(mStartColor);
+ mFadeObj.visibility(true);
+ mFadeObj.drawMode(system::console::DRAW_TRANS);
+
+ initialize();
+}
+
+
+FadeImpl::~FadeImpl()
+{
+
+}
+
+
+void FadeImpl::initialize(){
+
+ if(mType == Fade::FADE_IN)
+ mCurrent = 1.0f;
+ else
+ mCurrent = 0.0f;
+
+ mEnd = (float)((mEndColor & 0xff000000) >> 24) / 256.0f;
+
+ float pitch_ = (mStartColor & 0xff000000) >> 24;
+
+
+ if(!pitch_) pitch_ = 0.00001f;
+ if(!mSpeed) mSpeed = 0.00001f;
+
+ if(mbFadeVolume){
+ mVolumePitch = ((float)system::sound::volume::MIN - (float)mpSound->volumeMax())
+ / (((float)pitch_) / (mSpeed * 256.0f));
+ pitch_ = ((mStartColor - mEndColor) & 0xff000000) >> 24;
+
+ if(!pitch_) pitch_ = 0.0001f;
+ if(mType == Fade::FADE_IN){
+ mVolumePitch = ((float)system::sound::volume::MIN- (float)mpSound->volumeMax())
+ / (((float)pitch_) / (mSpeed * 256.0f));
+ mVolume = (float)system::sound::volume::MIN;
+ } else {
+ mVolumePitch = ((float)system::sound::volume::MIN - (float)mpSound->volumeMax())
+ / (((float)pitch_) / (mSpeed * 256.0f));
+ mVolume = (float)mpSound->volumeMax();
+ }
+ }
+}
+
+
+void FadeImpl::move(void)
+{
+ mbMove = true;
+ mCurrent -= mSpeed;
+
+ if(mbFadeVolume)
+ mVolume -= mVolumePitch;
+
+ DWORD color = (((DWORD)(256.0f * mCurrent)) << 24) + (mStartColor & 0xffffff);
+
+
+ if(mpInput->exit(true)){
+ callSceneEvent(&Listener::exitKeyPressed);
+ delete this;
+ return;
+ }
+
+
+ if((mCurrent <= mEnd && mType == Fade::FADE_IN) ||
+ (mCurrent >= mEnd && mType == Fade::FADE_OUT) || mpInput->start(true))
+ {
+ callSceneEvent(&Listener::endOfScene);
+ delete this;
+ return;
+ }
+
+
+ mFadeObj.color(color);
+
+
+ if(mbFadeVolume)
+ mpSound->masterVolume((int)mVolume);
+
+ return;
+}
--- /dev/null
+cl /nologo /MTd /W3 /Gm /GR /GX /ZI /Od /I "..\sfglib" /I "..\s2001" /I ".." /I "..\s2001scene" /I "..\s2001editor" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "S2001_EXPORTS" /Fp"Debug/s2001.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c /EP %1.cpp > %1.prep.txt
--- /dev/null
+# Doxyfile 1.2.13
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+# TAG = value [value, ...]
+# For lists items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# General configuration options
+#---------------------------------------------------------------------------
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME = s2001
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER =
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY = c:/inetpub/wwwroot/s2001/s2001scene
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Brazilian, Chinese, Croatian, Czech, Danish, Dutch, Finnish, French,
+# German, Greek, Hungarian, Italian, Japanese, Korean, Norwegian, Polish,
+# Portuguese, Romanian, Russian, Slovak, Slovene, Spanish and Swedish.
+
+OUTPUT_LANGUAGE = Japanese
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE = YES
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC = YES
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES = YES
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these class will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF = YES
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC = YES
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
+# members of a class in the documentation of that class as if those members were
+# ordinary class members. Constructors, destructors and assignment operators of
+# the base classes will not be shown.
+
+INLINE_INHERITED_MEMB = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. It is allowed to use relative paths in the argument list.
+
+STRIP_FROM_PATH = "c:\my documents\genx\project"
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower case letters. If set to YES upper case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# users are adviced to set this option to NO.
+
+CASE_SENSE_NAMES = YES
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful is your file systems
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES = NO
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS = YES
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES = YES
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like the Qt-style comments (thus requiring an
+# explict @brief command for a brief description.
+
+JAVADOC_AUTOBRIEF = YES
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# reimplements.
+
+INHERIT_DOCS = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE = 4
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST = YES
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES =
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consist of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+# only. Doxygen will then generate output that is more tailored for C.
+# For instance some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C = NO
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text.
+
+WARN_FORMAT =
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+#INPUT = "j:\project\sfglib" j:/project/s2001scene j:/project/s2001editor j:/project/s2001game j:/project/s2001
+#INPUT = ./sfglib ./s2001scene ./s2001editor ./s2001game ./s2001
+INPUT = .
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp
+# *.h++ *.idl
+
+#FILE_PATTERNS = SYSTEM* INPUT* CONSOLE* SOUND*
+FILE_PATTERNS = *.cpp *.h
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE = NO
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE =
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories.
+
+EXCLUDE_PATTERNS =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS =
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output.
+
+INPUT_FILTER = "nkf32 -Se "
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse.
+
+FILTER_SOURCE_FILES = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+
+SOURCE_BROWSER = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES = NO
+
+# If the REFERENCED_BY_RELATION tag is set to YES (the default)
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES (the default)
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX = NO
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT =
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header.
+
+HTML_HEADER =
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER =
+
+# The HTML_STYLESHEET tag can be used to specify a user defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet
+
+HTML_STYLESHEET =
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the Html help documentation and to the tree view.
+
+TOC_EXPAND = NO
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX = NO
+
+# This tag can be used to set the number of enum values (range [1..20])
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE = 4
+
+# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
+# generated containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript and frames is required (for instance Mozilla, Netscape 4.0+,
+# or Internet explorer 4.0+). Note that for large projects the tree generation
+# can take a very long time. In such cases it is better to disable this feature.
+# Windows users are probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW = YES
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH = 250
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT =
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS = NO
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimised for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT =
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assigments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT =
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION =
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_XML = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_PREDEFINED tags.
+
+EXPAND_ONLY_PREDEF = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH = ./ ../sfglib ../s2001scene ../s2001editor ../s2001game ../s2001 /dxsdk/include
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed.
+
+PREDEFINED =
+
+# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all function-like macros that are alone
+# on a line and do not end with a semicolon. Such function macros are typically
+# used for boiler-plate code, and will confuse the parser if not removed.
+
+SKIP_FUNCTION_MACROS = YES
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES tag can be used to specify one or more tagfiles.
+
+TAGFILES = c:/inetpub/wwwroot/s2001/sfglib/sfglib.tag=../sfglib/html \
+ c:/inetpub/wwwroot/s2001/s2001editor.tag=../s2001editor/html
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE =
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS = NO
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in Html, RTF and LaTeX) for classes with base or
+# super classes. Setting the tag to NO turns the diagrams off. Note that this
+# option is superceded by the HAVE_DOT option below. This is only a fallback. It is
+# recommended to install and use dot, since it yield more powerful graphs.
+
+CLASS_DIAGRAMS = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT = YES
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH = YES
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS = YES
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH = YES
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY = YES
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+
+DOT_PATH = "C:\Program Files\ATT\Graphviz\bin"
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS =
+
+# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than
+# this value, doxygen will try to truncate the graph, so that it fits within
+# the specified constraint. Beware that most browsers cannot cope with very
+# large images.
+
+MAX_DOT_GRAPH_WIDTH = 1024
+
+# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than
+# this value, doxygen will try to truncate the graph, so that it fits within
+# the specified constraint. Beware that most browsers cannot cope with very
+# large images.
+
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermedate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP = YES
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME =
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL =
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL =
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH =
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH =
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS =
--- /dev/null
+// s2001scene.cpp : DLL \83A\83v\83\8a\83P\81[\83V\83\87\83\93\97p\82Ì\83G\83\93\83g\83\8a \83|\83C\83\93\83g\82ð\92è\8b`\82µ\82Ü\82·\81B
+//
+
+
+#include "stdafx.h"
+#include "Scene.h"
+BOOL APIENTRY DllMain( HANDLE hModule,
+ DWORD ul_reason_for_call,
+ LPVOID lpReserved
+ )
+{
+ return TRUE;
+};
+
+extern "C" {
+ namespace sf {
+ namespace application {
+ namespace scene {
+ S2001SCENE_DLL Scene * createScene(const int id){};
+ }
+ }
+ }
+}
+
\ No newline at end of file
--- /dev/null
+# Microsoft Developer Studio Project File - Name="s2001scene" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** \95Ò\8fW\82µ\82È\82¢\82Å\82\82¾\82³\82¢ **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=s2001scene - Win32 Debug
+!MESSAGE \82±\82ê\82Í\97L\8cø\82ÈÒ²¸Ì§²Ù\82Å\82Í\82 \82è\82Ü\82¹\82ñ\81B \82±\82ÌÌßÛ¼Þª¸Ä\82ðËÞÙÄÞ\82·\82é\82½\82ß\82É\82Í NMAKE \82ð\8eg\97p\82µ\82Ä\82\82¾\82³\82¢\81B
+!MESSAGE [Ò²¸Ì§²Ù\82Ì´¸½Îß°Ä] ºÏÝÄÞ\82ð\8eg\97p\82µ\82Ä\8eÀ\8ds\82µ\82Ä\82\82¾\82³\82¢
+!MESSAGE
+!MESSAGE NMAKE /f "s2001scene.mak".
+!MESSAGE
+!MESSAGE NMAKE \82Ì\8eÀ\8ds\8e\9e\82É\8d\\90¬\82ð\8ew\92è\82Å\82«\82Ü\82·
+!MESSAGE ºÏÝÄÞ ×²Ý\8fã\82ÅϸÛ\82Ì\90Ý\92è\82ð\92è\8b`\82µ\82Ü\82·\81B\97á:
+!MESSAGE
+!MESSAGE NMAKE /f "s2001scene.mak" CFG="s2001scene - Win32 Debug"
+!MESSAGE
+!MESSAGE \91I\91ð\89Â\94\\82ÈËÞÙÄÞ Ó°ÄÞ:
+!MESSAGE
+!MESSAGE "s2001scene - Win32 Release" ("Win32 (x86) Dynamic-Link Library" \97p)
+!MESSAGE "s2001scene - Win32 Debug" ("Win32 (x86) Dynamic-Link Library" \97p)
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "s2001scene - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "S2001SCENE_EXPORTS" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\sfglib" /I "..\s2001" /I ".." /I "..\s2001editor" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "S2001SCENE_EXPORTS" /Yu"stdafx.h" /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x411 /d "NDEBUG"
+# ADD RSC /l 0x411 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 ..\sfglib.lib ..\s2001.lib dinput8.lib Dxerr8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib winmm.lib kernel32.lib user32.lib gdi32.lib ole32.lib advapi32.lib /nologo /dll /machine:I386
+
+!ELSEIF "$(CFG)" == "s2001scene - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "S2001SCENE_EXPORTS" /Yu"stdafx.h" /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /GR /GX /ZI /Od /I "..\sfglib" /I "..\s2001" /I ".." /I "..\s2001editor" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "S2001SCENE_EXPORTS" /YX /FD /GZ /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x411 /d "_DEBUG"
+# ADD RSC /l 0x411 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 ..\sfglib.lib ..\s2001.lib dinput8.lib Dxerr8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib winmm.lib kernel32.lib user32.lib gdi32.lib ole32.lib advapi32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "s2001scene - Win32 Release"
+# Name "s2001scene - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\AuthorImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\FadeImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\GameImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\OverImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\RestartImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\s2001scene.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\StartImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\StdAfx.cpp
+# ADD CPP /Yc"stdafx.h"
+# End Source File
+# Begin Source File
+
+SOURCE=.\TitleImpl.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\AuthorImpl.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Fade.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\FadeImpl.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Game.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\GameImpl.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\OverImpl.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\RestartImpl.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\StartImpl.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\StdAfx.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TitleImpl.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=.\ReadMe.txt
+# End Source File
+# End Target
+# End Project
--- /dev/null
+<html>
+<body>
+<pre>
+<h1>ËÞÙÄÞ\82ÌÛ¸Þ</h1>
+<h3>
+--------------------\8d\\90¬: s2001scene - Win32 Debug--------------------
+</h3>
+<h3>ºÏÝÄÞ ×²Ý</h3>
+\88ê\8e\9ȩ²Ù "C:\WINDOWS\TEMP\RSP1285.TMP" \82ð\8dì\90¬\82µ\81A\8e\9f\82Ì\93à\97e\82ð\8bL\98^\82µ\82Ü\82·
+[
+/nologo /MTd /W3 /Gm /GR /GX /ZI /Od /I "..\sfglib" /I "..\s2001" /I ".." /I "..\s2001editor" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "S2001SCENE_EXPORTS" /Fp"Debug/s2001scene.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c
+"C:\My Documents\genx\project\s2001scene\AuthorImpl.cpp"
+]
+Creating command line "cl.exe @C:\WINDOWS\TEMP\RSP1285.TMP"
+<h3>±³ÄÌß¯Ä ³¨ÝÄÞ³</h3>
+ºÝÊß²Ù\92\86...
+AuthorImpl.cpp
+
+
+
+<h3>\8c\8b\89Ê</h3>
+AuthorImpl.obj - ´×° 0\81A\8cx\8d\90 0
+</pre>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="shift_jis"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="s2001scene"
+ ProjectGUID="{06E944B8-E30F-44C2-A13E-29EC11D0D7BB}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\Release"
+ IntermediateDirectory=".\Release"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="NDEBUG"
+ MkTypLibCompatible="true"
+ SuppressStartupBanner="true"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Release/s2001scene.tlb"
+ HeaderFileName=""
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\sfglib,..\s2001,..,..\s2001editor"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;S2001SCENE_EXPORTS"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderThrough="stdafx.h"
+ PrecompiledHeaderFile=".\Release/s2001scene.pch"
+ AssemblerListingLocation=".\Release/"
+ ObjectFile=".\Release/"
+ ProgramDataBaseFileName=".\Release/"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1041"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="..\sfglib.lib ..\s2001.lib dinput8.lib Dxerr8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib winmm.lib"
+ OutputFile=".\Release/s2001scene.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ ProgramDatabaseFile=".\Release/s2001scene.pdb"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ ImportLibrary=".\Release/s2001scene.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\Debug"
+ IntermediateDirectory=".\Debug"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="_DEBUG"
+ MkTypLibCompatible="true"
+ SuppressStartupBanner="true"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Debug/s2001scene.tlb"
+ HeaderFileName=""
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\sfglib,..\s2001,..,..\s2001editor"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;S2001SCENE_EXPORTS"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile=".\Debug/s2001scene.pch"
+ AssemblerListingLocation=".\Debug/"
+ ObjectFile=".\Debug/"
+ ProgramDataBaseFileName=".\Debug/"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="4"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1041"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="..\sfglib.lib ..\s2001.lib dinput8.lib Dxerr8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib winmm.lib"
+ OutputFile=".\Debug/s2001scene.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\Debug/s2001scene.pdb"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ ImportLibrary=".\Debug/s2001scene.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="AuthorImpl.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="FadeImpl.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="GameImpl.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="OverImpl.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="RestartImpl.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="s2001scene.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="StartImpl.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="StdAfx.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ UsePrecompiledHeader="1"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ UsePrecompiledHeader="1"
+ PrecompiledHeaderThrough="stdafx.h"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="TitleImpl.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="AuthorImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="Fade.h"
+ >
+ </File>
+ <File
+ RelativePath="FadeImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="Game.h"
+ >
+ </File>
+ <File
+ RelativePath="GameImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="OverImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="RestartImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="StartImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="StdAfx.h"
+ >
+ </File>
+ <File
+ RelativePath="TitleImpl.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+ >
+ </Filter>
+ <File
+ RelativePath="ReadMe.txt"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
--- /dev/null
+<?xml version="1.0" encoding="shift_jis"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="s2001scene"
+ SccProjectName=""
+ SccLocalPath="">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\Release"
+ IntermediateDirectory=".\Release"
+ ConfigurationType="2"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\sfglib,..\s2001,..,..\s2001editor"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;S2001SCENE_EXPORTS"
+ StringPooling="TRUE"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="TRUE"
+ UsePrecompiledHeader="3"
+ PrecompiledHeaderThrough="stdafx.h"
+ PrecompiledHeaderFile=".\Release/s2001scene.pch"
+ AssemblerListingLocation=".\Release/"
+ ObjectFile=".\Release/"
+ ProgramDataBaseFileName=".\Release/"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="..\sfglib.lib ..\s2001.lib dinput8.lib Dxerr8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib winmm.lib"
+ OutputFile=".\Release/s2001scene.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="TRUE"
+ ProgramDatabaseFile=".\Release/s2001scene.pdb"
+ ImportLibrary=".\Release/s2001scene.lib"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="NDEBUG"
+ MkTypLibCompatible="TRUE"
+ SuppressStartupBanner="TRUE"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Release/s2001scene.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1041"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\Debug"
+ IntermediateDirectory=".\Debug"
+ ConfigurationType="2"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\sfglib,..\s2001,..,..\s2001editor"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;S2001SCENE_EXPORTS"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ RuntimeTypeInfo="TRUE"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile=".\Debug/s2001scene.pch"
+ AssemblerListingLocation=".\Debug/"
+ ObjectFile=".\Debug/"
+ ProgramDataBaseFileName=".\Debug/"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ DebugInformationFormat="4"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="..\sfglib.lib ..\s2001.lib dinput8.lib Dxerr8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib winmm.lib"
+ OutputFile=".\Debug/s2001scene.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="TRUE"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile=".\Debug/s2001scene.pdb"
+ ImportLibrary=".\Debug/s2001scene.lib"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="_DEBUG"
+ MkTypLibCompatible="TRUE"
+ SuppressStartupBanner="TRUE"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Debug/s2001scene.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1041"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
+ <File
+ RelativePath="AuthorImpl.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="FadeImpl.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="GameImpl.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="OverImpl.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="RestartImpl.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="s2001scene.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="StartImpl.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="StdAfx.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ UsePrecompiledHeader="1"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ UsePrecompiledHeader="1"
+ PrecompiledHeaderThrough="stdafx.h"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="TitleImpl.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl">
+ <File
+ RelativePath="AuthorImpl.h">
+ </File>
+ <File
+ RelativePath="Fade.h">
+ </File>
+ <File
+ RelativePath="FadeImpl.h">
+ </File>
+ <File
+ RelativePath="Game.h">
+ </File>
+ <File
+ RelativePath="GameImpl.h">
+ </File>
+ <File
+ RelativePath="OverImpl.h">
+ </File>
+ <File
+ RelativePath="RestartImpl.h">
+ </File>
+ <File
+ RelativePath="StartImpl.h">
+ </File>
+ <File
+ RelativePath="StdAfx.h">
+ </File>
+ <File
+ RelativePath="TitleImpl.h">
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
+ </Filter>
+ <File
+ RelativePath="ReadMe.txt">
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
--- /dev/null
+<?xml version="1.0" encoding="shift_jis"?>
+<VisualStudioUserFile
+ ProjectType="Visual C++"
+ Version="9.00"
+ ShowAllFiles="false"
+ >
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ >
+ <DebugSettings
+ Command=""
+ WorkingDirectory=""
+ CommandArguments=""
+ Attach="false"
+ DebuggerType="3"
+ Remote="1"
+ RemoteMachine="SATOSHI-PC"
+ RemoteCommand=""
+ HttpUrl=""
+ PDBPath=""
+ SQLDebugging=""
+ Environment=""
+ EnvironmentMerge="true"
+ DebuggerFlavor=""
+ MPIRunCommand=""
+ MPIRunArguments=""
+ MPIRunWorkingDirectory=""
+ ApplicationCommand=""
+ ApplicationArguments=""
+ ShimCommand=""
+ MPIAcceptMode=""
+ MPIAcceptFilter=""
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ >
+ <DebugSettings
+ Command=""
+ WorkingDirectory=""
+ CommandArguments=""
+ Attach="false"
+ DebuggerType="3"
+ Remote="1"
+ RemoteMachine="SATOSHI-PC"
+ RemoteCommand=""
+ HttpUrl=""
+ PDBPath=""
+ SQLDebugging=""
+ Environment=""
+ EnvironmentMerge="true"
+ DebuggerFlavor=""
+ MPIRunCommand=""
+ MPIRunArguments=""
+ MPIRunWorkingDirectory=""
+ ApplicationCommand=""
+ ApplicationArguments=""
+ ShimCommand=""
+ MPIAcceptMode=""
+ MPIAcceptFilter=""
+ />
+ </Configuration>
+ </Configurations>
+</VisualStudioUserFile>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{06E944B8-E30F-44C2-A13E-29EC11D0D7BB}</ProjectGuid>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Midl>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MkTypLibCompatible>true</MkTypLibCompatible>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TargetEnvironment>Win32</TargetEnvironment>
+ <TypeLibraryName>.\Release/s2001scene.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+ <AdditionalIncludeDirectories>..\sfglib;..\s2001;..;..\s2001editor;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;S2001SCENE_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
+ <PrecompiledHeaderOutputFile>.\Release/s2001scene.pch</PrecompiledHeaderOutputFile>
+ <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
+ <ObjectFileName>.\Release/</ObjectFileName>
+ <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
+ <WarningLevel>Level3</WarningLevel>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <CompileAs>Default</CompileAs>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0411</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalDependencies>..\sfglib.lib;..\s2001.lib;dinput8.lib;Dxerr8.lib;d3dx8.lib;d3d8.lib;dxguid.lib;d3dxof.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>.\Release/s2001scene.dll</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <ProgramDatabaseFile>.\Release/s2001scene.pdb</ProgramDatabaseFile>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <ImportLibrary>.\Release/s2001scene.lib</ImportLibrary>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Midl>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MkTypLibCompatible>true</MkTypLibCompatible>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TargetEnvironment>Win32</TargetEnvironment>
+ <TypeLibraryName>.\Debug/s2001scene.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>..\sfglib;..\s2001;..;..\s2001editor;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;S2001SCENE_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>.\Debug/s2001scene.pch</PrecompiledHeaderOutputFile>
+ <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
+ <ObjectFileName>.\Debug/</ObjectFileName>
+ <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
+ <WarningLevel>Level3</WarningLevel>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ <CompileAs>Default</CompileAs>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0411</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalDependencies>..\sfglib.lib;..\s2001.lib;dinput8.lib;Dxerr8.lib;d3dx8.lib;d3d8.lib;dxguid.lib;d3dxof.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>.\Debug/s2001scene.dll</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>.\Debug/s2001scene.pdb</ProgramDatabaseFile>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <ImportLibrary>.\Debug/s2001scene.lib</ImportLibrary>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="AuthorImpl.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="FadeImpl.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="GameImpl.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="OverImpl.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="RestartImpl.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="s2001scene.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="StartImpl.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="StdAfx.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">stdafx.h</PrecompiledHeaderFile>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS</PreprocessorDefinitions>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
+ </ClCompile>
+ <ClCompile Include="TitleImpl.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;S2001SCENE_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="AuthorImpl.h" />
+ <ClInclude Include="Fade.h" />
+ <ClInclude Include="FadeImpl.h" />
+ <ClInclude Include="Game.h" />
+ <ClInclude Include="GameImpl.h" />
+ <ClInclude Include="OverImpl.h" />
+ <ClInclude Include="RestartImpl.h" />
+ <ClInclude Include="StartImpl.h" />
+ <ClInclude Include="StdAfx.h" />
+ <ClInclude Include="TitleImpl.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="ReadMe.txt" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{05179d5f-1e12-4edc-bf91-2ed74a6f18b8}</UniqueIdentifier>
+ <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{4c6f0135-6641-4c9b-9544-c8f60ba97ec0}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{bada0df2-f156-40e6-8142-5ab85170f1e4}</UniqueIdentifier>
+ <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="AuthorImpl.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="FadeImpl.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="GameImpl.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="OverImpl.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="RestartImpl.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="s2001scene.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="StartImpl.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="StdAfx.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="TitleImpl.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="AuthorImpl.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Fade.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="FadeImpl.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Game.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="GameImpl.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="OverImpl.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="RestartImpl.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="StartImpl.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="StdAfx.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="TitleImpl.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="ReadMe.txt" />
+ </ItemGroup>
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
--- /dev/null
+#
+s2001.dll 0 Author Early
+s2001.dll 0 Title Early
+s2001.dll 0 Game Early
--- /dev/null
+beam.wav
+explos.wav
--- /dev/null
+/**
+ * @file
+ * @brief Sprite\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\8b¤\92Ê\8eÀ\91\95\82ð\8ds\82¤.
+ *
+ * \94h\90¶\83N\83\89\83X\82Å\8b¤\92Ê\82Å\8eg\97p\82Å\82«\82»\82¤\82È\83\81\83\\83b\83h\81A\83\81\83\93\83o\82ð\82±\82±\82Å\8bL\8fq\82µ\82Ü\82·\81B
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+// SYSTEM INCLUDES
+//
+#include <stdio.h>
+#include <queue>
+#include "windows.h"
+#include "windowsx.h"
+
+#include "d3d11.h"
+#include "d3dx11.h"
+#include "dxerr8sf.h"
+
+// PROJECT INCLUDES
+//
+
+
+#include "exception.h"
+#include "sound.h"
+#include "System.h"
+#include "console.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "Obj.h"
+#include "Obj2D.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+#include "Obj3D.h"
+#include "Obj3DL.h"
+#include "input.h"
+#include "AbstractSprite.h"
+#include "ConsoleImpl.h"
+#include "Main.h"
+
+//template class SFDLL std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >;
+
+using namespace sf::system::console;
+using namespace sf::system::console::sprite;
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+
+AbstractSprite::AbstractSprite()
+{
+// mpSpriteVtBuf = NULL;
+// mpSpriteTexture = NULL;
+// mpSprite3DVtBuf = NULL;
+ mpD3DDevice = NULL;
+ mbUse = false;
+ mCenterX = mCenterY = 0.0f;
+ mWidth = mHeight = 0.0f;
+// mpMeshMaterials = NULL;
+// mpMeshTextures = NULL;
+// mNumMaterials = 0L;
+// mpMesh = NULL;
+// mCellWidth = 0.0f;
+// mCellHeight = 0.0f;
+// mCellCount = 0;
+}
+
+AbstractSprite::~AbstractSprite()
+{
+
+}
+
+// \95`\89æ\97p\83\8c\83\93\83_\83\8a\83\93\83O\83X\83e\81[\83g\82Ì\90Ý\92è --------------------------------------------
+void AbstractSprite::setRenderState(const DrawMode value)
+{
+ switch (value)
+ {
+ case DRAW_TRANS:
+ mpD3DDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA);
+ mpD3DDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);
+ break;
+ case DRAW_ADD:
+ mpD3DDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_ONE);
+ mpD3DDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_ONE);
+ break;
+ case DRAW_ADD1:
+ mpD3DDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_ONE);
+ mpD3DDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);
+ break;
+ case DRAW_SHADOW:
+ mpD3DDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_ZERO);
+ mpD3DDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);
+ break;
+ case DRAW_INV:
+ mpD3DDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_INVSRCCOLOR);
+ mpD3DDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_ZERO);
+ break;
+ case DRAW_MUL:
+ mpD3DDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_ZERO);
+ mpD3DDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_SRCCOLOR);
+ break;
+ }
+
+}// setRenderState
--- /dev/null
+/**
+ * @file AbstractSprite.h
+ * @brief Sprite\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\8b¤\92Ê\8eÀ\91\95\92è\8b`\82ð\8ds\82¤.
+ *
+ * \94h\90¶\83N\83\89\83X\82Å\8b¤\92Ê\82Å\8eg\97p\82Å\82«\82»\82¤\82È\83\81\83\\83b\83h\81A\83\81\83\93\83o\82ð\82±\82±\82Å\8bL\8fq\82µ\82Ü\82·\81B
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+/// \8fd\95¡\83C\83\93\83N\83\8b\81[\83h\96h\8e~\83}\83N\83\8d
+#if !defined(AFX_ABSTRACTSPRITE_H__13F6E957_5370_42BC_B5F5_FEF71D80C1DE__INCLUDED_)
+#define AFX_ABSTRACTSPRITE_H__13F6E957_5370_42BC_B5F5_FEF71D80C1DE__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+#include "sf.h"
+#include "Console.h"
+
+extern "C" {
+
+namespace sf{
+ namespace system{
+ namespace console {
+ namespace sprite {
+
+/** Sprite\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\8b¤\92Ê\8eÀ\91\95
+ * \94h\90¶\83N\83\89\83X\82Í\82±\82Ì\92\8a\8fÛ\83N\83\89\83X\82ð\8cp\8f³\82µ\81A\8eÀ\91\95\82µ\82Ü\82·\81B */
+class AbstractSprite : public Sprite
+{
+public:
+ /// \83R\83\93\83X\83g\83\89\83N\83^
+ AbstractSprite();
+ /// \83f\83X\83g\83\89\83N\83^
+ virtual ~AbstractSprite();
+ // OPERATIONS //
+ /// \8f\89\8aú\89»\82ð\8ds\82¤
+ virtual void initialize(void) = 0;
+ /** \8f\89\8aú\89»\82ð\8ds\82¤.
+ * @param pD3DDevice Direct3D\81@\83f\83o\83C\83X\82Ì\83|\83C\83\93\83^ */
+ virtual void initialize(LPDIRECT3DDEVICE9 pD3DDevice) = 0;
+
+ /** \8fI\97¹\8f\88\97\9d\82ð\8ds\82¤ */
+ virtual void uninitialize(void) = 0;
+
+ /** \83e\83N\83X\83`\83\83\83f\81[\83^\82Ì\83\8d\81[\83h\82ð\8ds\82¤.
+ @param pInfo sprite::Info \82Ì\83|\83C\83\93\83^
+ @textureFormat D3DFORMAT
+ @color console::COLOR */
+ virtual void load(const sprite::Info *pInfo,const D3DFORMAT textureFormat,const COLOR color) = 0;
+
+ /** \95`\89æ\97p\83\8c\83\93\83_\83\8a\83\93\83O\83X\83e\81[\83g\82ð\90Ý\92è\82·\82é.
+ * @param value sprite::DrawMode */
+ void setRenderState(const DrawMode value);
+
+ // ACCESS //
+
+ /** \83X\83v\83\89\83C\83g\82Ì\8eg\97p\8fó\91Ô\82ð\8eæ\93¾\82·\82é
+ * @return \83X\83v\83\89\83C\83g\82Ì\8eg\97p\8fó\91Ô */
+ const bool use(void) const {return mbUse;};
+ /** \83X\83v\83\89\83C\83g\82Ì\8eg\97p\8fó\91Ô\82ð\8eæ\93¾\82·\82é
+ * @param value \83X\83v\83\89\83C\83g\82Ì\8eg\97p\8fó\91Ô */
+ void use(const bool value){mbUse = value;};
+
+ const float width(void) const {return mWidth;};
+ void width(const float value) {mWidth = value;};
+
+ const float height(void) const {return mHeight;};
+ void height(const float value) {mHeight = value;};
+
+ const float centerX(void) const {return mCenterX;};
+ void centerX(const float value) {mCenterX = value;};
+
+ const float centerY(void) const {return mCenterY;};
+ void centerY(const float value) {mCenterY = value;};
+
+
+ // INQUIRY //
+ /// \83X\83v\83\89\83C\83g\82Ì\8eg\97p\8fó\91Ô\82Ì\8eæ\93¾
+ const bool isUsed() const {return mbUse;};
+protected:
+
+ bool mbUse;///< \8eg\97p\82µ\82Ä\82¢\82é\82©\82Ç\82¤\82©
+ LPDIRECT3DDEVICE9 mpD3DDevice;///< D3D\83f\83o\83C\83X\82Ì\83|\83C\83\93\83^
+
+ float mWidth;///< \83X\83v\83\89\83C\83g\82Ì\95\9d
+ float mHeight;///< \83X\83v\83\89\83C\83g\82Ì\8d\82\82³
+ float mCenterX;///< \92\86\90SX\8dÀ\95W
+ float mCenterY;///< \92\86\90SY\8dÀ\95W
+
+ TYPE mType;///< \83X\83v\83\89\83C\83g\82Ì\83^\83C\83v
+
+};
+ }
+ }
+ }
+}
+}
+#endif // !defined(AFX_ABSTRACTSPRITE_H__13F6E957_5370_42BC_B5F5_FEF71D80C1DE__INCLUDED_)
--- /dev/null
+/**
+ * @file
+ * @brief \94w\8ci\95`\89æ\90§\8cä\8aÖ\98A\82Ì\8eÀ\91\95\82ð\8ds\82¤.
+ *
+ * @author S.F.
+ * @version $Id:
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+#pragma warning( disable : 4786 ) ///<STL\82Ì\8cx\8d\90\8aO\82µ
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+// System Includes //
+
+#include "stdio.h"
+#include <string>
+#include <iostream>
+#include <fstream>
+#include <vector>
+
+// Project Includes //
+
+
+#include "exception.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "system.h"
+#include "console.h"
+#include "Obj.h"
+#include "Obj2D.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+#include "BackGround.h"
+
+# define WIDEN2(x) L ## x
+# define WIDEN(x) WIDEN2(x)
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+using namespace sf::system::console;
+using namespace sf;
+
+const int Background::Map::HEIGHT_MAX = 64;
+const int Background::Map::CELL_SIZE = 64;
+const int Background::Map::WIDTH = 8;
+
+const int Background::Map::DRAW_HEIGHT = 9;
+const float Background::Map::DRAW_START_X = 96.0f;
+const float Background::Map::DRAW_START_Y = 448.0f;
+const float Background::Map::DRAW_CENTER_Y = 256.0f;
+
+const int Background::Map::CELL_TEX_COUNT_W = 4;
+const int Background::Map::CELL_TEX_COUNT_H = 4;
+
+const sf::system::console::sprite::Info Background::msBlankSpriteInfo =
+{
+ "media\\blank.bmp",0.0f,0.0f,0.0f,0.0f,0xff000000,sprite::SPRITE2D
+};
+
+Background::Background() : ObjRectangle()
+{
+ using namespace sf::system;
+
+ System *psys = instance();
+ mpConsole = psys->console();
+
+ z(0.99f);
+ color(0xffffffff);
+ mOffsetX = mOffsetY = 0.0f;
+ mpMap = NULL;
+
+ mStartOffsetX = mStartOffsetY = 0.0f;
+ mpBlankSprite = instance()->console()->createSprite(&msBlankSpriteInfo);
+
+ mObj[0].sprite(mpBlankSprite);
+ mObj[1].sprite(mpBlankSprite);
+ mObj[0].visibility(false);
+ mObj[1].visibility(false);
+ mObj[0].z(0.01f);
+ mObj[1].z(0.01f);
+ mObj[0].drawMode(DRAW_ADD);
+ mObj[1].drawMode(DRAW_ADD);
+
+ for(int i = 0;i < 4;i++){
+ mObj[0].vertex(i)->diffuse = 0x40000020;
+ mObj[1].vertex(i)->diffuse = 0x40400000;
+
+ mObj[0].vertex(i)->specular = 0.0f;
+ mObj[1].vertex(i)->specular = 0.0f;
+
+ mObj[0].vertex(i)->z = 0.01f;
+ mObj[1].vertex(i)->z = 0.01f;
+ }
+
+}
+
+Background::~Background()
+{
+ unload();
+ delete mpBlankSprite;
+}
+
+// \83e\83N\83X\83`\83\83\82¨\82æ\82Ñ\83}\83b\83v\83f\81[\83^\82Ì\83A\83\93\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Background::unload()
+{
+ visibility(false);
+ sprite::Sprite * psprite;
+ for(TextureList::iterator it = mTextureList.begin();it != mTextureList.end();++it)
+ {
+ psprite = *it;
+ delete psprite;
+ }
+ mTextureList.clear();
+ mMapData.clear();
+}// unload()
+
+// \94w\8ci\83f\81[\83^\82Ì\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Background::load(const char * const pMapFileName)
+{
+ unload();
+
+ // \83t\83@\83C\83\8b\83l\81[\83\80\82Ì\83o\83b\83N\83A\83b\83v
+ mFileName = pMapFileName;
+
+ std::fstream file(pMapFileName,std::ios::in);
+
+ if(!file.is_open()){
+ throw FatalErrorException(L"File Open Error",WIDEN(__FILE__),__LINE__);
+ }
+
+ int num_tex,i;
+ sprite::Sprite *psp;
+ sprite::Info sp_info;
+
+ // \83e\83N\83X\83`\83\83\82Ì\93Ç\82Ý\8d\9e\82Ý
+ file >> num_tex;
+ long flags = 0;
+ for(i = 0;i < num_tex;i++)
+ {
+ file >> sp_info.fileName;
+ file >> sp_info.cellHeight;
+ file >> sp_info.cellWidth;
+ file >> sp_info.centerX;
+ file >> sp_info.centerY;
+
+ flags = file.flags();
+ flags = ((flags ^ std::ios::dec) | std::ios::hex | std::ios::showbase);
+ file.flags(flags);
+ file >> sp_info.transparentColor;
+
+ flags = ((flags ^ std::ios::hex) | std::ios::dec);
+
+ file.flags(flags);
+ sp_info.type = sprite::SPRITE2D;
+
+ psp = mpConsole->createSprite(&sp_info);
+
+
+ if(file.fail())
+ {
+ throw FatalErrorException(L"File Read Error",WIDEN(__FILE__),__LINE__);
+ };
+
+ mTextureList.push_back(psp);
+ mTextureInfoList.push_back(sp_info);
+ }
+
+ file >> mMapWidth >> mMapHeight;
+
+ mOffsetYLimit = (float) (mMapHeight - 1) * Map::CELL_SIZE - screen::HEIGHT;
+ flags = ((flags ^ std::ios::dec) | std::ios::hex);
+ file.flags(flags);
+
+ //mpMap = new int[ mMapHeight * mMapWidth];
+ DWORD data;
+ for(i = 0;i < mMapWidth * mMapHeight;i ++)
+ {
+ file >> data;
+ if(file.fail()){
+ throw FatalErrorException(L"File Read Error",WIDEN(__FILE__),__LINE__);
+ }
+ mMapData.push_back(data);
+ }
+
+}//load()
+
+// \83}\83b\83v\83f\81[\83^\82ð\89æ\96Ê\82É\95`\89æ\82·\82é \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Background::draw()
+{
+ // \95\\8e¦\91®\90«\82Ì\83`\83F\83b\83N
+ if(!visibility()) return;
+
+ int map_offset_y = (int)(mOffsetY + startOffsetY() ) / Map::CELL_SIZE;
+ float screen_offset_y = (int)(mOffsetY + startOffsetY()) % Map::CELL_SIZE;
+
+ //float sy = Map::DRAW_START_Y + screen_offset_y + map_start_offset_y1;
+
+ // \95`\89æ\8aJ\8eny\8dÀ\95W
+ float sy = Map::DRAW_START_Y + screen_offset_y;
+
+ float sx = 0.0f;
+
+ float ex = 0.0f;
+ float ey = 0.0f;
+
+ // \83Z\83\8b\83T\83C\83Y
+ float cell_size = (float)Map::CELL_SIZE;
+
+ int data,index,spriteNo,dy;
+
+
+ ObjRectangle *pobj = (ObjRectangle *)this;
+
+ // \83}\83b\83v\83Z\83\8b\82Ì\95`\89æ
+ for(int i = map_offset_y;i < Map::DRAW_HEIGHT + map_offset_y; i++){
+ if(i >= 0 && i < mMapHeight){
+ sx = Map::DRAW_START_X + mOffsetX + startOffsetX();
+ dy = i * Map::WIDTH;
+
+ for(int j = 0;j < Map::WIDTH; j++)
+ {
+ data = mMapData[dy + j];
+ if(data){
+ --data;
+ index = data & 0xf;
+ spriteNo = (data & 0xffff0000) >> 16;
+
+ y(sy);
+ x(sx);
+
+ ObjRectangle::index(index);
+
+ mTextureList[spriteNo]->draw(pobj);
+ }
+
+ sx += cell_size;
+
+ }
+ }
+ sy -= cell_size;
+ }
+
+ // \8eÀ\8dÛ\82Ì\95\\8e¦\83G\83\8a\83A\82ð\82í\82©\82é\82æ\82¤\82É\82·\82é\82½\82ß\82Ì\95\\8e¦
+ if(edit()){// \95Ò\8fW\92\86\82Ì\82Ý\95\\8e¦\82·\82é
+ if(startOffsetY() != 0){
+ mObj[0].visibility(true);
+ mObj[0].vertex(0)->x = (viewport::X);
+ mObj[0].vertex(1)->x = (viewport::X + viewport::WIDTH);
+ mObj[0].vertex(2)->x = (viewport::X);
+ mObj[0].vertex(3)->x = (viewport::X + viewport::WIDTH);
+
+ if(startOffsetY() > 0){
+ sy = viewport::Y;
+ ey = viewport::Y +
+ ((viewport::Y + startOffsetY()) < (viewport::Y + viewport::HEIGHT))
+ ? (startOffsetY() + viewport::Y)
+ : (viewport::Y + viewport::HEIGHT);
+ } else {
+ sy = (((viewport::Y + viewport::HEIGHT) + startOffsetY()) > viewport::Y)
+ ? (viewport::Y + viewport::HEIGHT + startOffsetY()) : viewport::Y ;
+ ey = viewport::Y + viewport::HEIGHT;
+ }
+
+ mObj[0].vertex(0)->y = (sy);
+ mObj[0].vertex(1)->y = (sy);
+ mObj[0].vertex(2)->y = (ey);
+ mObj[0].vertex(3)->y = (ey);
+ } else {
+ mObj[0].visibility(false);
+ }
+
+ if(startOffsetX() != 0){
+ mObj[1].visibility(true);
+ mObj[1].vertex(0)->y = (viewport::Y);
+ mObj[1].vertex(1)->y = (viewport::Y);
+ mObj[1].vertex(2)->y = (viewport::Y + viewport::HEIGHT);
+ mObj[1].vertex(3)->y = (viewport::Y + viewport::HEIGHT);
+
+ if(startOffsetX() > 0){
+ sx = viewport::X;
+ ex = viewport::X +
+ (viewport::X + startOffsetX() < (viewport::X + viewport::WIDTH))
+ ? ( startOffsetX() + viewport::X)
+ : (viewport::X + viewport::WIDTH);
+ } else {
+ sx = (((viewport::X + viewport::WIDTH) + startOffsetX()) > viewport::X)
+ ? (viewport::X + viewport::WIDTH + startOffsetX()) : viewport::X ;
+ ex = viewport::X + viewport::WIDTH;
+ }
+
+ mObj[1].vertex(0)->x = (sx);
+ mObj[1].vertex(1)->x = (ex);
+ mObj[1].vertex(2)->x = (sx);
+ mObj[1].vertex(3)->x = (ex);
+ } else {
+ mObj[1].visibility(false);
+ };
+ } else {
+ mObj[1].visibility(false);
+ mObj[0].visibility(false);
+ }
+
+}// draw
+
+// Map\83f\81[\83^\82Ì\83Z\81[\83u \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+bool Background::save(const char *pMapFileName)
+{
+ std::wstring err_savestr = L"Background:save() Error!";
+ int i;
+
+ // \83t\83@\83C\83\8b\83l\81[\83\80\82ªNULL\82Ì\8fê\8d\87\81A\83\8d\81[\83h\8e\9e\82Ì\83t\83@\83C\83\8b\83l\81[\83\80\82ð\8eg\97p
+ if(pMapFileName == NULL){
+ if(mFileName.c_str() == NULL){
+ return false;
+ } else {
+ pMapFileName = mFileName.c_str();
+ }
+ }
+
+ std::fstream file(pMapFileName,std::ios::out);
+
+ if(!file.is_open())
+ return false;
+
+
+ sprite::Info sp_info;
+
+ // \83e\83N\83X\83`\83\83\90\94\82Ì\8f\91\82«\8d\9e\82Ý
+
+ file << mTextureInfoList.size() << std::endl;
+
+ long flags = 0;
+
+ for(TextureInfoList::iterator it = mTextureInfoList.begin();
+ it != mTextureInfoList.end(); it ++)
+ {
+ sp_info = *it;
+
+ file << sp_info.fileName << std::endl;
+
+ file << sp_info.cellHeight << " ";
+ file << sp_info.cellWidth << " ";
+ file << sp_info.centerX << " ";
+ file << sp_info.centerY << " ";
+
+ flags = file.flags();
+ flags = ((flags ^ std::ios::dec) | std::ios::hex | std::ios::showbase);
+ file.flags(flags);
+
+ file << sp_info.transparentColor << std::endl;
+
+ flags = ((flags ^ std::ios::hex) | std::ios::dec);
+
+ file.flags(flags);
+
+ if(file.fail())
+ {
+ system::instance()->errorTerminate(err_savestr.c_str());
+ };
+ }
+
+ file << mMapWidth << " " << mMapHeight << std::endl;
+
+ flags = ((flags ^ std::ios::dec) | std::ios::hex);
+ file.flags(flags);
+
+ //mpMap = new int[ mMapHeight * mMapWidth];
+ DWORD data;
+ for(i = 0;i < mMapWidth * mMapHeight;i ++)
+ {
+ data = mMapData[i] ;
+
+ file << data;
+
+ if((i & 0x7) == 7) {
+ file << std::endl;
+ } else {
+ file << " ";
+ }
+
+ if(file.fail()){
+ system::instance()->errorTerminate(err_savestr.c_str());
+ return false;
+ }
+ }
+ return true;
+}
+
+// Map\83f\81[\83^\82ð\83Z\83b\83g \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Background::setData(float screenX, float screenY, DWORD value)
+{
+ int y = (int)(viewport::HEIGHT - screenY + mOffsetY) / Map::CELL_SIZE;
+ int x = (int)(screenX + mOffsetX - Map::DRAW_START_X + Map::CELL_SIZE / 2) / Map::CELL_SIZE;
+ mMapData[x + y * Map::WIDTH] = value;
+}
--- /dev/null
+/**
+ * @file
+ * @brief \94w\8ci\95`\89æ\90§\8cä\8aÖ\98A\82Ì\8eÀ\91\95\82ð\8ds\82¤.
+ *
+ * @author S.F.
+ * @version $Id:
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+/// \8fd\95¡\83C\83\93\83N\83\8b\81[\83h\96h\8e~\83}\83N\83\8d
+#if !defined(AFX_Background_H__78BD459C_E52C_4BE9_B8DB_8A6DDAFE1E52__INCLUDED_)
+#define AFX_Background_H__78BD459C_E52C_4BE9_B8DB_8A6DDAFE1E52__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+#include "sf.h"
+extern "C" {
+namespace sf {
+ namespace system {
+ namespace console {
+
+
+/** \94w\8ci\95`\89æ\90§\8cä\82ð\8ds\82¤.
+ * \94w\8ci\82Ì\95`\89æ\82ð\8ds\82¢\82Ü\82·\81B
+ * \94w\8ci\82Í\81A64\81~64pixel\82Ì\83r\83b\83g\83}\83b\83v\82ð\95~\82«\8bl\82ß\82é\82±\82Æ\82Å\8eÀ\8c»\82µ\82Ä\82¢\82Ü\82·\81B
+ * \94w\8ci\89æ\96Ê\82Ì\90Ý\8cv\82Í<a href="../../images/2001031102.gif">\82±\82¿\82ç\82Ì\90}</a>\82ð\82²\8eQ\8fÆ\82\82¾\82³\82¢*/
+class Background : public ObjRectangle
+{
+public:
+ ///\83X\83v\83\89\83C\83g\83e\83N\83X\83`\83\83\83\8a\83X\83g\94z\97ñ\8c^\82Ì\92è\8b`
+ typedef std::vector<sprite::Sprite *> TextureList;
+ ///\83X\83v\83\89\83C\83g\83e\83N\83X\83`\83\83\8fî\95ñ\83\8a\83X\83g\94z\97ñ\8c^\82Ì\92è\8b`
+ typedef std::vector<sprite::Info> TextureInfoList;
+ ///\83}\83b\83v\83f\81[\83^\8c^\82Ì\92è\8b`
+ typedef std::vector<int> MapData;
+
+ /// \83R\83\93\83X\83g\83\89\83N\83^
+ Background();
+ /// \83f\83X\83g\83\89\83N\83^
+ virtual ~Background();
+ /// \94w\8ci\95`\89æ\82ð\8ds\82¤
+ virtual void draw();
+ // ACCESS //
+
+ /** \8c»\8dÝ\82Ì\89æ\96Ê\82É\91Î\82·\82é\83I\83t\83Z\83b\83g\82w\8dÀ\95W\82ð\8eQ\8fÆ\82·\82é
+ * @return \83I\83t\83Z\83b\83gX */
+ const float offsetX() const {return mOffsetX;};
+
+ /** \8c»\8dÝ\82Ì\89æ\96Ê\82É\91Î\82·\82é\83I\83t\83Z\83b\83g\82w\8dÀ\95W\82ð\90Ý\92è\82·\82é
+ * @param value \83I\83t\83Z\83b\83gX */
+ void offsetX(const float value){mOffsetX = value;};
+
+ /** \8c»\8dÝ\82Ì\89æ\96Ê\82É\91Î\82·\82é\83I\83t\83Z\83b\83g\82x\8dÀ\95W\82ð\8eQ\8fÆ\82·\82é
+ * @return \83I\83t\83Z\83b\83g\82x\8dÀ\95W */
+ const float offsetY() const {return mOffsetY;};
+
+ /** \8c»\8dÝ\82Ì\89æ\96Ê\82É\91Î\82·\82é\83I\83t\83Z\83b\83g\82x\8dÀ\95W\82ð\90Ý\92è\82·\82é
+ * @param value \83I\83t\83Z\83b\83g\82x\8dÀ\95W */
+ void offsetY(const float value)
+ {
+ if(value < mOffsetYLimit) mOffsetY = value ;else mOffsetY = mOffsetYLimit;
+ if(mOffsetY < 0.0f) mOffsetY = 0.0f;
+ };
+
+ /** \95Û\91¶\82µ\82Ä\82¢\82é\83f\81[\83^\82ð\82·\82×\82Ä\94j\8aü\82·\82é */
+ void unload();
+
+ /** \83}\83b\83v\83f\81[\83^\82ð\83\8d\81[\83h\82·\82é
+ * @param pMapFileName \83}\83b\83v\83t\83@\83C\83\8bPATH */
+ void load(const char * const pMapFileName);
+
+ /** \83X\83N\83\8a\81[\83\93\82É\83}\83b\83v\83f\81[\83^\82ð\83Z\83b\83g\82·\82é
+ * @param screenX \83X\83N\83\8a\81[\83\93X\8dÀ\95W
+ * @param screenY \83X\83N\83\8a\81[\83\93Y\8dÀ\95W
+ * @param value \83r\83b\83g\83}\83b\83v\83f\81[\83^\82Ì\83C\83\93\83f\83b\83N\83X */
+ void setData(float screenX,float screenY,DWORD value);
+
+ /** \83}\83b\83v\83f\81[\83^\82ð\95Û\91¶\82·\82é
+ * @param pFileName \95Û\91¶\90æ\82Ì\83}\83b\83v\83t\83@\83C\83\8bPATH
+ * @retval true \90¬\8c÷
+ * @retval false \8e¸\94s */
+ bool save(const char *pFileName);
+
+ /** \83X\83v\83\89\83C\83g\83e\83N\83X\83`\83\83\83\8a\83X\83g\94z\97ñ\82ð\8eQ\8fÆ\82·\82é
+ * @return TextureList\82Ì\83|\83C\83\93\83^ */
+ TextureList* textureList(void){ return &mTextureList;};
+
+ /** \83}\83b\83v\8aÖ\98A\82Ì\92è\90\94\92è\8b`\83N\83\89\83X.
+ * \96¼\91O\8bó\8aÔ\82É\82µ\82½\82©\82Á\82½\82Ì\82Å\82·\82ª\81ABackground\82Ì\92\86\82Ì\92è\8b`\82Æ\82¢\82¤\8c`\82É\82±\82¾\82í\82Á\82½\8c\8b\89Ê\82±\82Ì\82æ\82¤\82È\82±\82Æ\82É...*/
+ class SFDLL Map {
+ public:
+ static const int WIDTH;///< Map\82Ì\95\9d
+ static const int HEIGHT_MAX;///< Map\82Ì\8dÅ\91å\92·
+ static const int CELL_SIZE;///< \83Z\83\8b\82Ì\83T\83C\83Y
+ static const int CELL_TEX_COUNT_W;///< \89æ\96Ê\89¡\82Ì\83}\83b\83v\83Z\83\8b\82Ì\90\94
+ static const int CELL_TEX_COUNT_H;///< \89æ\96Ê\8fc\82Ì\83}\83b\83v\83Z\83\8b\82Ì\90\94
+
+ static const int DRAW_HEIGHT;///< \95`\89æ\8fc\83T\83C\83Y
+ static const float DRAW_START_X;///< \95`\89æ\8aJ\8enX
+ static const float DRAW_START_Y;///< \95`\89æ\8aJ\8enY
+ static const float DRAW_CENTER_Y;///< \95`\89æ\92\86\90SY\8dÀ\95W
+ };
+
+ /** \95`\89æ\8aJ\8en\83I\83t\83Z\83b\83gX\82ð\8eæ\93¾\82·\82é
+ * @return \95`\89æ\8aJ\8en\83I\83t\83Z\83b\83gX */
+ const float startOffsetX(void) const {return mbEdit ? mStartOffsetX : 0.0f;};
+
+ /** \95`\89æ\8aJ\8en\83I\83t\83Z\83b\83gX\82ð\83Z\83b\83g\82·\82é
+ * @param value \95`\89æ\8aJ\8en\83I\83t\83Z\83b\83gX */
+ void startOffsetX(const float value){mStartOffsetX = value;};
+
+ /** \95`\89æ\8aJ\8en\83I\83t\83Z\83b\83gY\8dÀ\95W\82ð\8eæ\93¾\82·\82é
+ * @return \95`\89æ\8aJ\8en\83I\83t\83Z\83b\83gY\8dÀ\95W */
+ const float startOffsetY(void) const {return mbEdit ? mStartOffsetY : 0.0f;};
+
+ /** \95`\89æ\8aJ\8en\83I\83t\83Z\83b\83gY\82ð\83Z\83b\83g\82·\82é
+ * @param value \95`\89æ\8aJ\8en\83I\83t\83Z\83b\83gY */
+ void startOffsetY(const float value){mStartOffsetY = value;};
+
+ /** \95Ò\8fW\92\86\82©\82Ç\82¤\82©
+ * @return true \95Ò\8fW\92\86 false \95Ò\8fW\92\86\82Å\82È\82¢ */
+ const bool edit(void) const {return mbEdit;};
+
+ /** \95Ò\8fW\92\86\82©\82Ç\82¤\82©\90Ý\92è\82·\82é
+ * @param value true \95Ò\8fW\92\86 false \95Ò\8fW\92\86\82Å\82È\82¢ */
+ void edit(const bool value){mbEdit = value;};
+
+private:
+ int mMapWidth,///< Map\82Ì\95\9d
+ mMapHeight;///< Map\82Ì\8d\82\82³
+ float mOffsetYLimit;///< \83I\83t\83Z\83b\83gY\82Ì\8cÀ\93x
+ float mOffsetX,///< \83I\83t\83Z\83b\83gX
+ mOffsetY;///< \83I\83t\83Z\83b\83gY
+
+ float mStartOffsetX,///< \95`\89æ\8aJ\8en\83I\83t\83Z\83b\83gX
+ mStartOffsetY;///< \95`\89æ\8aJ\8en\83I\83t\83Z\83b\83gY
+
+ bool mbEdit;///< \95Ò\8fW\92\86\82©\82Ç\82¤\82©
+ int *mpMap;/// Map\82Ì\8c»\8dÝ\88Ê\92u
+ MapData mMapData;///< MapData
+ TextureList mTextureList;///< \83X\83v\83\89\83C\83g\83e\83N\83X\83`\83\83\94z\97ñ
+ TextureInfoList mTextureInfoList;///< \83X\83v\83\89\83C\83g\83e\83N\83X\83`\83\83\8fî\95ñ\94z\97ñ
+ Console *mpConsole;///< Console\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^
+ std::string mFileName;///< Map\82ÌPATH
+ sf::system::console::sprite::Sprite * mpBlankSprite;///< \8bó\94\92\82Ì\83X\83v\83\89\83C\83g
+ sf::system::console::ObjQuadrangle mObj[2];///< \95Ò\8fW\92\86\82Ì\94ñ\95\\8e¦\97Ì\88æ\82ð\95\\8e¦\82·\82é\82½\82ß\82ÌObjQuadrangle\94z\97ñ
+ static const sf::system::console::sprite::Info Background::msBlankSpriteInfo;///< \8bó\94\92\83X\83v\83\89\83C\83g\8fî\95ñ
+};
+ }
+ }
+}
+}
+#endif // !defined(AFX_Background_H__78BD459C_E52C_4BE9_B8DB_8A6DDAFE1E52__INCLUDED_)
--- /dev/null
+/AbstractObj.cpp/1.1/Fri May 11 10:14:04 2001//
+/AbstractSprite.cpp/1.1/Sun Oct 21 12:12:34 2001//
+/BackGround.cpp/1.1/Sun Oct 21 12:12:34 2001//
+/Console.cpp/1.1/Sun Oct 21 12:12:36 2001//
+/Input.cpp/1.1/Sun Oct 21 12:12:36 2001//
+/InputImpl.cpp/1.1/Sun Oct 21 12:12:36 2001//
+/Main.cpp/1.1/Sun Oct 21 12:12:36 2001//
+/Main.h/1.1/Sun Oct 21 12:12:36 2001//
+/Obj2D.cpp/1.1/Sun Oct 21 12:12:36 2001//
+/Obj3D.cpp/1.1/Sun Oct 21 12:12:36 2001//
+/Obj3DL.cpp/1.1/Sun Oct 21 12:12:36 2001//
+/ObjQuadrangle.cpp/1.1/Sun Oct 21 12:12:36 2001//
+/ObjRectangle.cpp/1.1/Sun Oct 21 12:12:36 2001//
+/Sound.cpp/1.1/Sun Oct 21 12:12:36 2001//
+/SoundImpl.cpp/1.1/Sun Oct 21 12:12:36 2001//
+/Sprite2D.cpp/1.1/Sun Oct 21 12:12:36 2001//
+/Sprite3D.cpp/1.1/Sun Oct 21 12:12:36 2001//
+/SpriteMesh.cpp/1.1/Sun Oct 21 12:12:36 2001//
+/StdAfx.cpp/1.1/Fri Oct 19 23:35:04 2001//
+/StdAfx.h/1.1/Sat Oct 20 00:08:16 2001//
+/dxerr8sf.h/1.1/Sun Oct 21 12:12:36 2001//
+/singleton.h/1.1/Sun Oct 21 12:12:36 2001//
+/Obj.cpp/1.2/Sun Oct 28 21:35:56 2001//
+/Obj.h/1.2/Sun Oct 28 21:35:56 2001//
+/Obj2D.h/1.2/Sun Oct 28 21:35:56 2001//
+/Obj3D.h/1.2/Sun Oct 28 21:35:56 2001//
+/Obj3DL.h/1.2/Sun Oct 28 21:35:56 2001//
+/ObjQuadrangle.h/1.2/Sun Oct 28 21:35:56 2001//
+/ObjRectangle.h/1.2/Sun Oct 28 21:35:56 2001//
+/resource.h/1.2/Sun Oct 21 21:55:22 2001//
+/sf.h/1.2/Sun Oct 28 13:01:58 2001//
+/sfdebug.h/1.2/Mon Oct 22 21:04:08 2001//
+/MAKEFILE/1.1/Sun Oct 28 21:40:54 2001//
+/icon1.ico/1.1/Fri May 11 10:14:02 2001/-kb/
+/AbstractSprite.h/1.3/Tue Nov 06 21:27:42 2001//
+/BackGround.h/1.3/Tue Nov 06 21:27:42 2001//
+/Console.h/1.3/Tue Nov 06 21:27:42 2001//
+/ConsoleImpl.cpp/1.2/Tue Nov 06 21:27:42 2001//
+/ConsoleImpl.h/1.3/Tue Nov 06 21:27:42 2001//
+/Exception.cpp/1.2/Tue Nov 06 21:27:42 2001//
+/Exception.h/1.3/Tue Nov 06 21:27:42 2001//
+/Input.h/1.3/Tue Nov 06 21:27:42 2001//
+/InputImpl.h/1.3/Tue Nov 06 21:27:42 2001//
+/Sound.h/1.3/Tue Nov 06 21:27:42 2001//
+/SoundImpl.h/1.3/Tue Nov 06 21:27:42 2001//
+/Sprite2D.h/1.3/Tue Nov 06 21:27:42 2001//
+/Sprite3D.h/1.3/Tue Nov 06 21:27:42 2001//
+/SpriteMesh.h/1.3/Tue Nov 06 21:27:42 2001//
+/System.cpp/1.3/Tue Nov 06 21:27:42 2001//
+/System.h/1.3/Tue Nov 06 21:27:42 2001//
+/SystemImpl.cpp/1.3/Tue Nov 06 21:27:42 2001//
+/SystemImpl.h/1.3/Tue Nov 06 21:27:44 2001//
+/sfglib.cpp/1.3/Sun Nov 04 12:06:46 2001//
+D
--- /dev/null
+project/sfglib
--- /dev/null
+:local:c:\home
--- /dev/null
+/**
+ * @file Console.h
+ * @brief \89æ\96Ê\95`\89æ\81i\83X\83v\83\89\83C\83g\81E\94w\8ci\89æ\91\9c\81j\82Ì\83C\83\93\83^\81[\83t\83F\81[\83X\81E\92è\90\94\92è\8b`\82ð\8ds\82¤.
+ * \89æ\96Ê\8aÖ\98A\82Ì\92è\90\94\92è\8b`
+ * \8eÀ\8dÛ\82Ì\8f\88\97\9d\82Í\81AOS\88Ë\91¶\82Ì\8bï\8fÛ\83N\83\89\83X\82É\94C\82¹\82Ü\82·\81B
+ * 2000/02/18 \82Õ\82æ\81[\82ñ\82³\82ñ\82Ì\83\89\83C\83u\83\89\83\8a\82ð\8eQ\8dl\82É\82R\82c\95\94\95ª\82ð\92Ç\89Á
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+/// \93ñ\8fd\83C\83\93\83N\83\8b\81[\83h\96h\8e~\83}\83N\83\8d
+#if !defined(AFX_IConsole_H__DB7BCF98_4A51_43E3_B919_9A26C58E6A90__INCLUDED_)
+#define AFX_IConsole_H__DB7BCF98_4A51_43E3_B919_9A26C58E6A90__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+#include <memory>
+
+#include "sf.h"
+
+extern "C" {
+namespace sf{
+ namespace system {
+ /// \89æ\96Ê\8aÖ\98A\82Ì\83N\83\89\83X\81E\92è\90\94
+ /*! \89æ\96Ê\8aÖ\98A\82Ì\83N\83\89\83X\81E\92è\90\94\82Í\82·\82×\82Ä\82Ì\82±\82Ì\96¼\91O\8bó\8aÔ\82É\8aÜ\82Ü\82ê\82Ü\82·\81B */
+ namespace console {
+ /// \83J\83\89\81[\8c^\82Ì\92è\8b`
+ typedef unsigned long COLOR;
+
+/** R,G,B,A\82Ì\8ae\90F\82©\82ç\81A32bit\82Ì\92l\82ð\93¾\82é
+ * Red,Green,Blue,Alpha\82Ì\8ae\90F\90¬\95ª(8bit)\82ð\82à\82Æ\82É\81A32bit\82Ìlong\92l\82ð\90¶\90¬\82µ\82Ü\82·
+ * @param a ALPHA\90¬\95ª
+ * @param r RED\90¬\95ª
+ * @param g GREEN\90¬\95ª
+ * @param b BLUE\90¬\95ª */
+#define COLOR(a,r,g,b) ((COLOR)((((a) & 0xff) << 24 )) | (((r) & 0xff) << 16) | (((g) & 0xff) << 8) | ((b) & 0xff)))
+
+ /** RGB\83J\83\89\81[\82ð\90§\8cä\82·\82é\83N\83\89\83X.
+ * 32bit\83J\83\89\81[\82Ì\92l\82©\82ç\81A\8ae\90F\90¬\95ª\82ð\8eæ\82è\8fo\82µ\82½\82è\81A\8ae\90F\90¬\95ª\82ð\93Æ\97§\82µ\82Ä\91\80\8dì\82·\82é\82½\82ß\82É\8dì\90¬\82³\82ê\82½\83N\83\89\83X\82Å\82·\82ª\81A\82 \82Ü\82è\8eg\82í\82ê\82Ä\82¢\82Ü\82¹\82ñ\81B
+ */
+ class Color {
+ public:
+ Color() { mColor.value32 = 0;};
+ /** \83R\83\93\83X\83g\83\89\83N\83^\82»\82Ì\82Q *
+ * @param xolor COLOR \8c^\82Ì\92l */
+ Color(COLOR color){mColor.value32 = color;};
+ /** COLOR\82Ì\92l\82ð\8eæ\82è\8fo\82·.
+ * @return COLOR\8c^\82Ì\92l */
+ COLOR value(void) const {return mColor.value32;};
+ /** COLOR\82ð\83Z\83b\83g\82·\82é
+ * @param color COLOR\8c^\82Ì\92l */
+ void value(COLOR color){mColor.value32 = color;};
+
+ /** \90Ô\82Ì\90¬\95ª\82ð\8eæ\93¾\82·\82é
+ * @return \90Ô\90¬\95ª(0-255) */
+ unsigned char red(void) const { return mColor.value.red;};
+ /** \90Ô\82Ì\90¬\95ª\82ð\83Z\83b\83g\82·\82é
+ * @param value \90Ô\90¬\95ª(0-255) */
+ void red(unsigned char value) { mColor.value.red = value;};
+
+ /** \90Â\82Ì\90¬\95ª\82ð\8eæ\93¾\82·\82é
+ * @return \90Â\90¬\95ª(0-255) */
+ unsigned char blue(void) const { return mColor.value.blue;};
+ /** \90Â\82Ì\90¬\95ª\82ð\83Z\83b\83g\82·\82é
+ * @param value \90Â\90¬\95ª(0-255) */
+ void blue(unsigned char value) { mColor.value.blue = value;};
+
+ /** \97Î\82Ì\90¬\95ª\82ð\8eæ\93¾\82·\82é
+ * @return \97Î\90¬\95ª(0-255) */
+ unsigned char green(void) const { return mColor.value.green;};
+ /** \97Î\82Ì\90¬\95ª\82ð\83Z\83b\83g\82·\82é
+ * @param value \97Î\90¬\95ª(0-255) */
+ void green(unsigned char value){mColor.value.green = value;};
+
+ /** ALPHA\82Ì\90¬\95ª\82ð\8eæ\93¾\82·\82é
+ * @return ALPHA\90¬\95ª(0-255) */
+ unsigned char alpha(void) const { return mColor.value.alpha;};
+ /** ALPHA\82Ì\90¬\95ª\82ð\83Z\83b\83g\82·\82é
+ * @param value ALPHA\90¬\95ª(0-255) */
+ void alpha(unsigned char value){mColor.value.alpha = value;};
+
+ private:
+ ///\81@\96³\96¼\8b¤\97p\91Ì
+ union {
+ COLOR value32;///< ARGB\82Ì\92l(32bit)
+ /// \96³\96¼\8d\\91¢\91Ì
+ struct {
+ unsigned char blue : 8;///< \90Â\90¬\95ª
+ unsigned char green : 8;///< \97Î\90¬\95ª
+ unsigned char red : 8;///< \90Ô\90¬\95ª
+ unsigned char alpha : 8;///< ALPHA\90¬\95ª
+ } value;
+
+ } mColor;
+ };
+
+ /// \83X\83N\83\8a\81[\83\93\8aÖ\98A
+ namespace screen {
+ const int WIDTH = 640;///< \83X\83N\83\8a\81[\83\93\82Ì\95\9d
+ const int HEIGHT = 480;///< \83X\83N\83\8a\81[\83\93\82Ì\8d\82\82³
+ };
+
+ /// \83r\83\85\81[\83|\81[\83g\8aÖ\98A
+ namespace viewport {
+ const int X = 120; ///< \83r\83\85\81[\83|\81[\83g\8d¶\92[ X
+ const int Y = 0; ///< \83r\83\85\81[\83|\81[\83g\8d¶\92[ Y
+ const float Z_MIN = 0.0f;///< \83r\83\85\81[\83|\81[\83g\82y\8dÅ\8f¬
+ const float Z_MAX = 1.0f;///< \83r\83\85\81[\83|\81[\83g\82y\8dÅ\91å
+ const int WIDTH = 400;///< \83r\83\85\81[\83|\81[\83g\82Ì\95\9d
+ const int HEIGHT = 480;///< \83r\83\85\81[\83|\81[\83g\82Ì\8d\82\82³
+ };
+
+ const int TEXTURE_COUNT_MIN = 0;///< \83e\83N\83X\83`\83\83\81[\90\94\82Ì\8dÅ\8f¬\92l
+ const int TEXTURE_COUNT_MAX = 1024;///< \83e\83N\83X\83`\83\83\81[\90\94\82Ì\8dÅ\91å\92l
+
+ // \83X\83v\83\89\83C\83g
+
+ class ObjQuadrangle;
+ class ObjRectangle;
+ class Obj3DL;
+
+
+ /// \83X\83v\83\89\83C\83g\8aÖ\98A
+ namespace sprite {
+ const int MIN = 0; ///< \83X\83v\83\89\83C\83g\90\94\8dÅ\8f¬\92l\81H
+ const int MAX = 1024; ///< \83X\83v\83\89\83C\83g\90\94\8dÅ\91å\92l
+
+ /// \83X\83v\83\89\83C\83g\82Ì\83^\83C\83v
+ enum TYPE
+ {
+ SPRITE2D,///< 2D\83X\83v\83\89\83C\83g\82Å\82 \82é(\8dÀ\95W\82ª2D)
+ SPRITE3D,///< 3D\83X\83v\83\89\83C\83g\82Å\82 \82é(\8dÀ\95W\82ª3D)
+ MESH ///< \83\81\83b\83V\83\85\82Å\82 \82é(X\83t\83@\83C\83\8b)
+ };
+
+ /** \83X\83v\83\89\83C\83g\92è\8b`\8fî\95ñ\8d\\91¢\91Ì.
+ * \83X\83v\83\89\83C\83g\82ð\92è\8b`\82·\82é\82½\82ß\82Ì\8d\\91¢\91Ì\82Å\82·\81B
+ * \83X\83v\83\89\83C\83g\82Ì\90¶\90¬\82Í\81AConsole \83C\83\93\83^\81[\83t\83F\81[\83X\82ÌConsole::createSprite()\82Ì\88ø\90\94\82Æ\82µ\82Ä\82±\82Ì\8d\\91¢\91Ì\82ð\93n\82µ\8ds\82¢\82Ü\82·\81B*/
+ struct Info {
+ char fileName[_MAX_PATH];///< \83r\83b\83g\83}\83b\83v\83t\83@\83C\83\8b\83l\81[\83\80
+ float centerX;///< \92\86\90S\82ÌX\8dÀ\95W
+ float centerY;///< \92\86\90S\82ÌY\8dÀ\95W
+ float cellWidth;///< \95\9d
+ float cellHeight;///< \8d\82\82³
+ COLOR transparentColor;///< \93§\89ß\90F
+ TYPE type;///< \83X\83v\83\89\83C\83g\82Ì\83^\83C\83v
+ };
+
+
+ /** \83X\83v\83\89\83C\83g\82Ì\95`\89æ\90§\8cä\82ð\8ds\82¤.
+ * \8eÀ\8dÛ\82Ì\83X\83v\83\89\83C\83g\95`\89æ\82ð\8ds\82¤\83C\83\93\83^\81[\83t\83F\81[\83X\82Å\82·\81B
+ * ObjRectangle\82È\82Ç\82Ì\8dÀ\95W\82ð\95Û\8e\9d\82·\82é\83N\83\89\83X\82ð\88ø\90\94\82É\89æ\96Ê\82É\8e©\90g\82ª\95Û\8e\9d\82µ\82Ä\82¢\82é\83r\83b\83g\83}\83b\83v\82ð\89æ\96Ê\82É\95`\89æ\82µ\82Ü\82·\81B
+ * @Section Sprite\83C\83\93\83^\81[\83t\83F\81[\83X\82ÆObj\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\8aÖ\8cW\82É\82Â\82¢\82Ä.
+ * @para Obj\83C\83\93\83^\81[\83t\83F\81[\83X\82ÆSprite\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\8aÖ\8cW
+ * console::Sprite\82Í\81A\83e\83N\83X\83`\83\83\82Ì\83r\83b\83g\83}\83b\83v\81Auv\8dÀ\95W\82ð\95Û\8e\9d\82µ\81Aconsole::Obj\82Ì\8cp\8f³\83N\83\89\83X\82É\89\9e\82¶\82½console::Sprite::draw()\83\81\83\\83b\83h\82ð\8e\9d\82¿\82Ü\82·\81B<br>
+ * console::Obj\82Í\81Aconsole::Sprite\82ð\89æ\96Ê\8fã\82Ç\82Ì\82æ\82¤\82É\95\\8e¦\82·\82é\82Ì\82©\82ð\8ew\92è\82·\82é\82½\82ß\82Ì\83C\83\93\83^\81[\83t\83F\81[\83X\82Å\82·*/
+ class Sprite
+ {
+ public:
+ /// \83f\83X\83g\83\89\83N\83^
+ virtual ~Sprite(){;};
+ /** ObjRectangle \82ð\88ø\90\94\82É\83X\83v\83\89\83C\83g\82ð\95`\89æ\82µ\82Ü\82·.
+ * @param pObj ObjRectangle\83N\83\89\83X\82Ö\82Ì\83|\83C\83\93\83^ */
+ virtual void draw(const sf::system::console::ObjRectangle * const pObj) = 0;
+ /** ObjQuadrangle \82ð\88ø\90\94\82É\83X\83v\83\89\83C\83g\82ð\95`\89æ\82µ\82Ü\82·.
+ * @param pObj ObjQuadrangle\83N\83\89\83X\82Ö\82Ì\83|\83C\83\93\83^ */
+ virtual void draw(const sf::system::console::ObjQuadrangle * const pObj) = 0;
+ /** Obj3DL \82ð\88ø\90\94\82É\83X\83v\83\89\83C\83g\82ð\95`\89æ\82µ\82Ü\82·.
+ * @param pObj Obj3DL \83N\83\89\83X\82Ö\82Ì\83|\83C\83\93\83^ */
+ virtual void draw(const sf::system::console::Obj3DL * const pObj) = 0;
+ /** \83X\83v\83\89\83C\83g\82Ì\92\86\90SX\8dÀ\95W\82ð\8eæ\93¾\82·\82é.
+ * @return \83X\83v\83\89\83C\83g\82Ì\92\86\90SX\8dÀ\95W */
+ virtual const float centerX(void) const = 0;
+ /** \83X\83v\83\89\83C\83g\82Ì\92\86\90SY\8dÀ\95W\82ð\8eæ\93¾\82·\82é.
+ * @return \83X\83v\83\89\83C\83g\82Ì\92\86\90SY\8dÀ\95W */
+ virtual const float centerY(void) const = 0;
+ /** \83X\83v\83\89\83C\83g\82Ì\95\9d\82ð\8eæ\93¾\82·\82é.
+ * @return \83X\83v\83\89\83C\83g\82Ì\95\9d */
+ virtual const float width(void) const = 0;
+ /** \83X\83v\83\89\83C\83g\82Ì\92\86\90S\8d\82\82³\82ð\8eæ\93¾\82·\82é.
+ * @return \83X\83v\83\89\83C\83g\82Ì\8d\82\82³ */
+ virtual const float height(void) const = 0;
+ };// Sprite
+
+ /// Sprite\82Ì\83X\83}\81[\83g\83|\83C\83\93\83^
+ typedef std::auto_ptr<Sprite> PSprite;
+
+ };
+
+ /** \83t\83H\83\93\83g\8aÖ\98A
+ *\82±\82±\82Å\82¢\82¤\83t\83H\83\93\83g\82Í\81AOS\82ª\8e\9d\82Â\82à\82Ì\82Å\82Í\82È\82\81A\93Æ\8e©\82É\83r\83b\83g\83}\83b\83v\82Å\95Û\8e\9d\82µ\82Ä\82¢\82é\82à\82Ì\82ð\82³\82µ\82Ü\82·\81B*/
+ namespace font {
+ const int COUNT_MAX = 2;///< \83t\83H\83\93\83g\82Ì\90\94
+ const int TEXTURE_WIDTH = 128;///< \83t\83H\83\93\83g\83r\83b\83g\83}\83b\83v\82Ì\95\9d
+ const int TEXTURE_HEIGHT = 64;///< \83t\83H\83\93\83g\83r\83b\83g\83}\83b\83v\82Ì\8d\82\82³
+ const int WIDTH = 8;///< \83t\83H\83\93\83g\82Ì\95\9d
+ const int HEIGHT = 8;///< \83t\83H\83\93\83g\82Ì\8d\82\82³
+ /// \83t\83H\83\93\83g\83t\83@\83C\83\8b\83l\81[\83\80\94z\97ñ
+ const char FILE_PATH[COUNT_MAX][MAX_PATH_]
+ = { "media\\font1.png",
+ "media\\font2.png"
+ };
+ }
+
+ /// \83e\83L\83X\83g\90§\8cä\8aÖ\98A
+ namespace text {
+ const int BUFFER_LENGTH = 1024;///< \83e\83L\83X\83g\95Û\8e\9d\83o\83b\83t\83@\82Ì\83T\83C\83Y
+ const float COLUMN_PITCH = 8.0f;///< \83e\83L\83X\83g\82Ì\83J\83\89\83\80\83s\83b\83`
+ const float LINE_PITCH = 10.0f;///< \83e\83L\83X\83g\82Ì\8ds\83s\83b\83`
+ }
+
+ /// \83J\83X\83^\83\80\92¸\93_\83t\83H\81[\83}\83b\83g
+ struct Vertex {
+ float x,///< x\8dÀ\95W
+ y,///< y\8dÀ\95W
+ z,///< z\8dÀ\95W
+ rhw;///< ???
+ DWORD diffuse,///< \83f\83B\83t\83\85\81[\83Y\90¬\95ª
+ specular;///< \83X\83y\83L\83\85\83\89\81[\90¬\95ª
+ float tu,///< \83e\83N\83X\83`\83\83\82Ìu\90¬\95ª
+ tv;///< \83e\83N\83X\83`\83\83\82Ìv\90¬\95ª
+ };
+
+
+ /// \89æ\96Ê\82Ì\95`\89æ\90§\8cä\82ð\8ds\82¤
+ /*! \89æ\96Ê\82Ì\95`\89æ\90§\8cä\82ð\8ds\82¤\83C\83\93\83^\81[\83t\83F\81[\83X\82Å\82·\81B
+ * @note Console\83N\83\89\83X\82Í\81AOS\8cÅ\97L\82Ì\89æ\96Ê\95`\89æ\8eü\82è\82Ì\8eÀ\91\95\82ð\92\8a\8fÛ\89»\82·\82é\96Ú\93I\82ª\82 \82è\82Ü\82·\81B<br>\92\8a\8fÛ\89»\82ð\8ds\82¤\8dÛ\82É\82Í\81AOS\82É\88Ë\91¶\82µ\82È\82¢\82æ\82è\88ê\94Ê\89»\82µ\82½\8c¾\97t\82Å\8bL\8fq\82·\82×\82«\82Å\82·\82ª\81A
+ * \8dì\8eÒ\82ªDirectX\82µ\82©\92m\82ç\82È\82¢\82½\82ß\81A\8eÀ\91\95\82¨\82æ\82Ñ\89ð\90à\82ÉOS\8cÅ\97L\82Ì\95\\8c»\82ª\82 \82é\89Â\94\\90«\82ª\82 \82è\82Ü\82·\81B*/
+ class Console
+ {
+ // LIFECYCLE //
+ public:
+ /// \83f\83X\83g\83\89\83N\83^
+ virtual ~Console(){;};
+
+ // OPERATORS //
+ // OPERATIONS //
+ /** Console\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\8f\89\8aú\89»\82ð\8ds\82¤
+ * Console \83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\8eÀ\91\95\83N\83\89\83X\82Ì\8f\89\8aú\89»\82ð\8ds\82¤\82½\82ß\82Ì\89¼\91z\8aÖ\90\94\82Å\81A\92Ê\8fí\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82©\82ç\8cÄ\82Ñ\8fo\82³\82ê\82é\82±\82Æ\82Í\82 \82è\82Ü\82¹\82ñ\81B
+ */
+ virtual void initialize(void) = 0;
+
+ /** \89æ\96Ê\8fÁ\8b\8e\82ð\8ds\82¤.
+ * \83X\83N\83\8a\81[\83\93\82ð\8fÁ\8b\8e\82µ\82Ü\82·\81B
+ * @param value \93h\82è\82Â\82Ô\82·\90F */
+ virtual void clearScreen(COLOR value = 0x00000000) = 0;
+
+ /** \89æ\96Ê\8fÁ\8b\8e\82ð\8ds\82¤.
+ * \83X\83N\83\8a\81[\83\93\82ð\8ew\92è\90F\82Å\93h\82è\82Â\82Ô\82µ\82Ü\82·\81B
+ * @param value \93h\82è\82Â\82Ô\82·\90F */
+ virtual void fillScreen(COLOR value = 0x00000000) = 0;
+
+ /** \89æ\96Ê\8dX\90V\82ð\8ds\82¤.
+ * \89æ\96Ê\8dX\90V\82ð\8ds\82¢\82Ü\82·\81B
+ * Windows\82Å\82Í\81A\83o\83b\83N\83o\83b\83t\83@\82©\82ç\83v\83\89\83C\83}\83\8a\83T\81[\83t\83F\81[\83X\82Ö\82Ì\93]\91\97\82ð\8ds\82¢\82Ü\82·\81B
+ * \82Ü\82½\81A\83X\83v\83\89\83C\83g\82Ì\95`\89æ\81A\83e\83L\83X\83g\83o\83b\83t\83@\82É\92~\90Ï\82³\82ê\82½\95¶\8e\9a\97ñ\82Ì\95`\89æ\82à\82 \82í\82¹\82Ä\8ds\82¢\82Ü\82·\81B
+ */
+ virtual void update(void) = 0;
+
+ /// \83o\83b\83N\83o\83b\83t\83@\82ÉAscii\95¶\8e\9a\97ñ\82ð\8ew\92è\82µ\82½\83e\83N\83X\83`\83\83\81[\94Ô\8d\86\82Å\95\\8e¦\82·\82é\81B
+ /*! @param textureNo \83t\83H\83\93\83g\97p\83e\83N\83X\83`\83\83\82Ì\94Ô\8d\86 @ref sf::system::console::font::FILE_PATH \82ð\8eQ\8fÆ
+ * @param x \95\\8e¦\8aJ\8enX\8dÀ\95W
+ * @param y \95\\8e¦\8aJ\8enY\8dÀ\95W
+ * @param angleRad \95\\8e¦\8ap\93x\82ð\83\89\83W\83A\83\93\82Å\8ew\92è
+ * @param scale \8ag\91å\8fk\8f¬\97¦
+ * @param color \95\\8e¦\90F
+ * @param format printf\82Ì\83t\83H\81[\83}\83b\83g\95¶\8e\9a\97ñ
+ * @param ... \95\\8e¦\82µ\82½\82¢\95Ï\90\94\97ñ */
+ virtual void print(const int textureNo,const float x,const float y,const float angleRad,const float scale,const COLOR color,
+ const char *format,...) = 0;
+
+ /** \83X\83v\83\89\83C\83g\83f\81[\83^\82ð\83\8d\81[\83h\82·\82é.
+ * sprite::Info\82Ì\8fî\95ñ\82É\8f]\82Á\82Ä\83X\83v\83\89\83C\83g\83f\81[\83^\82ð\83\8d\81[\83h\82µ\81ASprite\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^\82ð\95Ô\82µ\82Ü\82·\81B
+ * @param pInfo sprite::Info \8d\\91¢\91Ì\82Ì\83|\83C\83\93\83^
+ * @return Sprite\83C\83\93\83^\81[\83t\83F\81[\83X\82Ö\82Ì\83|\83C\83\93\83^ */
+ virtual sprite::Sprite * const createSprite(const sprite::Info* const pInfo) = 0;
+ // ACCESS //
+
+ // INQUIRY //
+ /// \83R\83\93\83\\81[\83\8b\82ª\8eg\97p\89Â\82©\94Û\82©\82ð\95Ô\82·
+ /*! @retval true \8eg\97p\89Â
+ * @retval false \8eg\97p\95s\89Â */
+ virtual const bool isEnabled(void) const = 0;
+ };// Console()
+
+ /** \83X\83v\83\89\83C\83g\95`\89æ\83^\83C\83v
+ *
+ * \83X\83v\83\89\83C\83g\82Ì\93§\89ß\8f\88\97\9d\82ð\82Ç\82Ì\83^\83C\83v\82Å\8ds\82¤\82©\8ew\92è\82µ\82Ü\82·\81B */
+ enum DrawMode {
+ DRAW_TRANS,///< \92Ê\8fí\82Ì\93§\89ß\8f\88\97\9d
+ DRAW_ADD,///< \89Á\8eZ\8d\87\90¬
+ DRAW_ADD1,///< \89Á\8eZ\8d\87\90¬1
+ DRAW_SHADOW,///< \96Y\82ê\82Ü\82µ\82½
+ DRAW_INV,///< \94½\93]\8d\87\90¬
+ DRAW_MUL///< \8fæ\8eZ\8d\87\90¬
+ };// DrawMode
+
+ }// namespace console
+ }// namespace system
+}//namespace sf
+}
+#endif // !defined(AFX_IConsole_H__DB7BCF98_4A51_43E3_B919_9A26C58E6A90__INCLUDED_)
--- /dev/null
+/**
+ * @file
+ * @brief \89æ\96Ê\95`\89æ\81i\83X\83v\83\89\83C\83g\81E\94w\8ci\89æ\91\9c\81j\82Ì\8eÀ\91\95\82ð\8ds\82¤.
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+
+#pragma warning( disable : 4786 4251) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+// SYSTEM INCLUDES
+//
+#include <stdio.h>
+#include <queue>
+#include "windows.h"
+#include "windowsx.h"
+
+#include "d3d8.h"
+#include "d3dx8.h"
+#include "dxerr8sf.h"
+
+
+// PROJECT INCLUDES
+//
+#include "exception.h"
+#include "sound.h"
+#include "System.h"
+#include "console.h"
+#include "Obj.h"
+#include "Obj2D.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+#include "Obj3D.h"
+#include "Obj3DL.h"
+#include "input.h"
+#include "AbstractSprite.h"
+
+
+
+#include "ConsoleImpl.h"
+#include "Main.h"
+#include "Sprite2D.h"
+#include "Sprite3D.h"
+#include "SpriteMesh.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+using namespace sf::system::console;
+using namespace sf::system::console::sprite;
+
+
+ConsoleImpl::ConsoleImpl()
+{
+ mbD3DReady = false;
+ mpD3D = NULL;
+ mpD3DDevice = NULL;
+ mpD3DXSprite = NULL;
+}
+
+ConsoleImpl::ConsoleImpl(const HWND hwnd,const bool bWindow)
+{
+ // HWND\82Ì\83R\83s\81[
+ mhWndMain = hwnd;
+ mbWindowed = bWindow;
+
+}
+
+ConsoleImpl::~ConsoleImpl()
+{
+ uninitialize();
+}
+
+void ConsoleImpl::initialize(void)
+{
+ initialize(mhWndMain,mbWindowed);
+};
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ConsoleImpl::initialize(const HWND hwnd,const bool bWindow)
+{
+ int i;
+ HRESULT hr;
+
+ // \8ae\8d\80\96Ú\82Ì\83N\83\8a\83A
+
+ mpD3D = NULL;
+ mpD3DDevice = NULL;
+ mpD3DXSprite = NULL;
+
+ mbD3DReady = false;
+ mbWindowed = false;
+
+ for(i = 0;i < font::COUNT_MAX;i++)
+ {
+ mpFontTexture[i] = NULL;
+ }
+
+ ZeroMemory( &mD3Dpp, sizeof(mD3Dpp) );
+
+ // HWND\82Ì\83R\83s\81[
+ mhWndMain = hwnd;
+
+ // D3D Object \82Ì\90¶\90¬
+ if( NULL == ( mpD3D = Direct3DCreate8( D3D_SDK_VERSION ) ) )
+ throw FatalErrorException("D3D8 Create Error",__FILE__,__LINE__);
+
+ checkAndSetDevice();
+
+ //
+ //D3DPRESENT_PARAMETERS mD3Dpp;
+
+ ZeroMemory(&mD3Dpp,sizeof(mD3Dpp));
+
+ if(bWindow){
+ //\83E\83B\83\93\83h\83E\83\82\81[\83h\81i\83f\83o\83b\83O\97p\81j
+ D3DDISPLAYMODE d3ddm;
+ if( FAILED( hr = mpD3D->GetAdapterDisplayMode( D3DADAPTER_DEFAULT, &d3ddm ) ) )
+ { throw FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__); }
+ mD3Dpp.Windowed = TRUE;
+ mD3Dpp.BackBufferFormat = d3ddm.Format;
+ mD3DFormat = d3ddm.Format;
+ mD3Dpp.SwapEffect = D3DSWAPEFFECT_COPY;
+ mbWindowed = true;
+ } else {
+ //\83t\83\8b\83X\83N\83\8a\81[\83\93\83\82\81[\83h
+ mD3Dpp.Windowed = FALSE;
+ mD3Dpp.BackBufferWidth = screen::WIDTH;
+ mD3Dpp.BackBufferHeight = screen::HEIGHT;
+ mD3Dpp.BackBufferCount = 1;
+ mD3Dpp.BackBufferFormat = mD3DFormat;
+ mD3Dpp.FullScreen_RefreshRateInHz = 0;
+ mD3Dpp.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE ;
+ mD3Dpp.SwapEffect = D3DSWAPEFFECT_COPY;
+// mD3Dpp.Flags = D3DPRESENTFLAG_LOCKABLE_BACKBUFFER;
+ mbWindowed = false;
+ }
+
+ mD3Dpp.EnableAutoDepthStencil = TRUE;
+ mD3Dpp.AutoDepthStencilFormat = mDepthFormat;
+ // mD3Dpp.MultiSampleType = D3DMULTISAMPLE_NONE;
+ mD3Dpp.hDeviceWindow = hwnd;
+
+ //3D\83f\83o\83C\83X\82Ì\8eæ\93¾//
+ // HAL\82©REF\82Ì\82Ç\82¿\82ç\82©\82ð\8eæ\93¾ //
+ if( FAILED( hr = mpD3D->CreateDevice( D3DADAPTER_DEFAULT, mD3DDeviceType, hwnd,
+ D3DCREATE_SOFTWARE_VERTEXPROCESSING,
+ &mD3Dpp, &mpD3DDevice ) ) )
+ {
+ throw FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+ }
+
+ // \83X\83v\83\89\83C\83g\83I\83u\83W\83F\83N\83g\82Ì\8f\89\8aú\89»
+ for(i = 0;i < sprite::MAX;i++)
+ {
+ mpSprite[i] = NULL;
+ //mSprite[i]->initialize(mpD3DDevice);
+ }
+
+
+ // D3DDevice\82ªReset\8e\9e\82É\94j\8aü\82µ\82È\82\82Ä\82Í\82¢\82¯\82È\82¢\83I\83u\83W\83F\83N\83g\82Ì\8f\89\8aú\89»
+ initNotManagedObjects();
+
+ // \89æ\96Ê\81E\83r\83\85\81[\83|\81[\83g\82Ì\83R\81[\83f\83B\83l\81[\83g
+ initConsoleViewStyle();
+
+ // \83f\83o\83C\83X\82Ì\8f\89\8aú\89»
+ initDeviceStates();
+
+ // \95¶\8e\9a\83t\83H\83\93\83g\82Ì\83\8d\81[\83h
+ loadFont();
+
+ // Lock the surface and write the alpha values for the set pixels
+#ifdef _DEBUG
+ D3DSURFACE_DESC des;
+ mpFontTexture[0]->GetLevelDesc(0,&des);
+ char pdebug_str[256];
+ sprintf(pdebug_str,"format: %d ",des.Format);
+ OutputDebugString(pdebug_str);
+#endif
+ //\83N\83\8a\83b\83v\97Ì\88æ\82ð\83N\83\8a\83A//
+ mbD3DReady = true;
+}//initialize()
+
+// \8dÅ\93K\82È\82R\82c\83f\83o\83C\83X\82ð\93¾\82é --------------------------------------------------
+void ConsoleImpl::checkAndSetDevice(const D3DDEVTYPE devtype)
+{
+ try {
+ checkAndSetDeviceType(devtype);
+ } catch(RecoverbleErrorException e) {
+ if(e.errorType() == sf::system::Exception::DEVICE_NOT_FOUND){
+ try {
+ checkAndSetDeviceType(D3DDEVTYPE_REF);
+ } catch (RecoverbleErrorException e){
+ if(e.errorType() == sf::system::Exception::DEVICE_NOT_FOUND){
+ throw FatalErrorException("Device Not Found",__FILE__,__LINE__,sf::system::Exception::DEVICE_NOT_FOUND);
+ }
+ } catch(...) {
+ throw;
+ }
+ } else {
+ throw;
+ }
+ } catch(...){
+ throw;
+ }
+}// checkAndSetDevice()
+
+// \83f\83o\83C\83X\83^\83C\83v\82ð\83e\83X\83g\82·\82é -------------------------------------------------
+void ConsoleImpl::checkAndSetDeviceType(const D3DDEVTYPE devtype)
+{
+ // \83A\83\8b\83t\83@\83u\83\8c\83\93\83h\83X\83v\83\89\83C\83g\82ð\83T\83|\81[\83g\82µ\82Ä\82¢\82é\82à\82Á\82Æ\82à\8d\82\91¬\82È\83^\83C\83v\8c\9f\8fo
+ // \82Æ\82¢\82Á\82Ä\82àHAL\82©REF\82©\82ð\91I\82Ô\82¾\82¯\82Å\82·\82ª...
+ // REF\82Å\82à\83_\83\81\82È\82ç\83G\83\89\81[\82Å\8fI\97¹
+
+ HRESULT hr = S_OK;
+ D3DCAPS8 d3dcaps8;
+ ZeroMemory(&d3dcaps8,sizeof(d3dcaps8));
+
+ hr = mpD3D->GetDeviceCaps(D3DADAPTER_DEFAULT,devtype,&d3dcaps8);
+ if(SUCCEEDED(hr))
+ {
+ if(!((d3dcaps8.SrcBlendCaps & D3DPBLENDCAPS_SRCALPHA) &&
+ (d3dcaps8.DestBlendCaps & D3DPBLENDCAPS_INVSRCALPHA) &&
+ (d3dcaps8.TextureFilterCaps & D3DPTFILTERCAPS_MAGFLINEAR ) &&
+ (d3dcaps8.TextureOpCaps & D3DTEXOPCAPS_MODULATE )
+ )){
+ throw RecoverbleErrorException("Device Not Found",__FILE__,__LINE__,sf::system::Exception::DEVICE_NOT_FOUND);
+ } else {
+ mD3DDeviceType = devtype;
+
+ // 16bit\82Ì\83o\83b\83N\83o\83b\83t\83@\82Ì\83t\83H\81[\83}\83b\83g\82ð\93¾\82é
+ checkAndSetBackBufferFormat();
+
+ checkAndSetDepthFormat();
+
+ // \93§\89ß\8f\88\97\9d\82ª\8eg\97p\82Å\82«\82é\83e\83N\83X\83`\83\83\83t\83H\81[\83}\83b\83g\82ð\93¾\82é
+ checkAndSetTextureFormat();
+ }
+
+ }
+ return;
+}// checkAndSetDeviceType()
+
+// \83o\83b\83N\83o\83b\83t\83@\82Ì\83t\83H\81[\83}\83b\83g\82ð\93¾\82é ---------------------------------------
+void ConsoleImpl::checkAndSetBackBufferFormat(void)
+{
+ //\8dÅ\93K\82È\81A16bit\83J\83\89\81[\83\82\81[\83h\82Ì\91I\91ð
+ if(SUCCEEDED(mpD3D->CheckDeviceType(D3DADAPTER_DEFAULT,mD3DDeviceType ,D3DFMT_A1R5G5B5,D3DFMT_A1R5G5B5,FALSE)))
+ mD3DFormat = D3DFMT_A1R5G5B5;
+ else
+ {
+ if(SUCCEEDED(mpD3D->CheckDeviceType(D3DADAPTER_DEFAULT,mD3DDeviceType ,D3DFMT_A4R4G4B4,D3DFMT_A4R4G4B4,FALSE))){
+ mD3DFormat = D3DFMT_A4R4G4B4;
+ } else {
+ if(SUCCEEDED(mpD3D->CheckDeviceType(D3DADAPTER_DEFAULT,mD3DDeviceType ,D3DFMT_X1R5G5B5,D3DFMT_X1R5G5B5,FALSE))){
+ mD3DFormat = D3DFMT_X1R5G5B5;
+ } else {
+ if(SUCCEEDED(mpD3D->CheckDeviceType(D3DADAPTER_DEFAULT,mD3DDeviceType ,D3DFMT_R5G6B5,D3DFMT_R5G6B5,FALSE))){
+ mD3DFormat = D3DFMT_R5G6B5;
+ } else {
+ if(SUCCEEDED(mpD3D->CheckDeviceType(D3DADAPTER_DEFAULT,mD3DDeviceType ,D3DFMT_X4R4G4B4,D3DFMT_X4R4G4B4,FALSE))){
+ mD3DFormat = D3DFMT_X4R4G4B4;
+ } else {
+ throw RecoverbleErrorException("Back Buffer Format Not Found",__FILE__,__LINE__,sf::system::Exception::DEVICE_NOT_FOUND);
+ }
+ }
+ }
+ }
+ }
+}// checkAndSetBackBufferFormat()
+
+// \83e\83N\83X\83`\83\83\83T\81[\83t\83F\81[\83X\82Ì\83t\83H\81[\83}\83b\83g\82ð\8eæ\93¾\82·\82é -----------------------------
+void ConsoleImpl::checkAndSetTextureFormat(void)
+{
+ // \83¿\83r\83b\83g\82ð\82à\82Â\83e\83N\83X\83`\83\83\81[\83t\83H\81[\83}\83b\83g\82ð\92T\82·
+ if(SUCCEEDED(mpD3D->CheckDeviceFormat(D3DADAPTER_DEFAULT,mD3DDeviceType,mD3DFormat,0,D3DRTYPE_TEXTURE,D3DFMT_A1R5G5B5))){
+ mTextureFormat = D3DFMT_A1R5G5B5;
+ } else {
+ if(SUCCEEDED(mpD3D->CheckDeviceFormat(D3DADAPTER_DEFAULT,mD3DDeviceType,mD3DFormat,0,D3DRTYPE_TEXTURE,D3DFMT_A4R4G4B4))){
+ mTextureFormat = D3DFMT_A4R4G4B4;
+ } else {
+ if(SUCCEEDED(mpD3D->CheckDeviceFormat(D3DADAPTER_DEFAULT,mD3DDeviceType,mD3DFormat,0,D3DRTYPE_TEXTURE,D3DFMT_A8R3G3B2))){
+ mTextureFormat = D3DFMT_A8R3G3B2;
+ } else {
+ throw RecoverbleErrorException("Texture Format Not Found",__FILE__,__LINE__,sf::system::Exception::DEVICE_NOT_FOUND);
+ }
+ }
+ }
+}// checkAndSerTextureFormat()
+
+// \90[\93x\83o\83b\83t\83@\82Ì\83t\83H\81[\83}\83b\83g\82ð\93¾\82é ------------------------------------------
+void ConsoleImpl::checkAndSetDepthFormat()
+{
+ if(SUCCEEDED(mpD3D->CheckDeviceFormat(D3DADAPTER_DEFAULT,mD3DDeviceType,mD3DFormat,D3DUSAGE_DEPTHSTENCIL,D3DRTYPE_SURFACE,D3DFMT_D16))){
+ mDepthFormat = D3DFMT_D16;
+ } else {
+ if(SUCCEEDED(mpD3D->CheckDeviceFormat(D3DADAPTER_DEFAULT,mD3DDeviceType,mD3DFormat,D3DUSAGE_DEPTHSTENCIL,D3DRTYPE_SURFACE,D3DFMT_D16_LOCKABLE))){
+ mDepthFormat = D3DFMT_D16_LOCKABLE;
+ } else {
+ throw RecoverbleErrorException("Depth Format Not Found",__FILE__,__LINE__,sf::system::Exception::DEVICE_NOT_FOUND);
+ }
+ }
+}// checkAndSetDepthFormat()
+
+// \83\8c\83\93\83_\83\8a\83\93\83O\83X\83e\81[\83g\81A\83e\83N\83X\83`\83\83\83X\83e\81[\83W\83X\83e\81[\83g\82Ì\8f\89\8aú\89» --------------------
+void ConsoleImpl::initDeviceStates(void)
+{
+ HRESULT hr;
+
+ hr = mpD3DDevice->SetRenderState(D3DRS_SPECULARENABLE, TRUE);
+ if (FAILED(hr)){
+ throw FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+ }
+
+ //D3D\83f\83o\83C\83X\82Ì\83\8c\83\93\83_\83\8a\83\93\83O\83X\83e\81[\83g\82Ì\90Ý\92è//////////////////////
+
+ //\83\89\83C\83e\83B\83\93\83O
+ hr = mpD3DDevice->SetRenderState(D3DRS_LIGHTING, TRUE);
+ if (FAILED(hr)){
+ throw FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+ }
+
+ //Z\83o\83b\83t\83@
+ hr = mpD3DDevice->SetRenderState(D3DRS_ZENABLE, TRUE);
+ if (FAILED(hr)){
+ throw FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+ }
+// hr = mpD3DDevice->SetRenderState(D3DRS_ZWRITEENABLE, TRUE);
+
+ // Enable vertices to have colors
+
+ hr = mpD3DDevice->SetRenderState(D3DRS_COLORVERTEX, TRUE);
+ if (FAILED(hr)){
+ throw FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+ }
+
+ // Enable vertices to have colors
+/* hr = mpD3DDevice->SetRenderState(D3DRS_CULLMODE , D3DCULL_NONE );
+ if (FAILED(hr)){
+ system::instance()->errorTerminate(DXGetErrorString8(hr));
+ return false;
+ }
+*/
+ // \83N\83\8a\83b\83s\83\93\83O
+ hr = mpD3DDevice->SetRenderState( D3DRS_CLIPPING, TRUE);
+ if (FAILED(hr)){
+ throw FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+ }
+
+/* hr = mpD3DDevice->SetRenderState(D3DRS_DIFFUSEMATERIALSOURCE, TRUE);
+ if (FAILED(hr)){
+ system::instance()->errorTerminate(DXGetErrorString8(hr));
+ return false;
+ }
+*/
+ hr = mpD3DDevice->SetRenderState(D3DRS_AMBIENT, 0xFF808080);
+ if (FAILED(hr)){
+ throw FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+ }
+
+
+ // hr = mpD3DDevice->SetRenderState(D3DRS_COLORKEYENABLE, TRUE);
+ // if (FAILED(hr))
+ // return false;
+
+ // hr = mpD3DDevice->SetRenderState( D3DRS_ALPHAFUNC, D3DCMP_GREATEREQUAL);
+ // if (FAILED(hr))
+ // return hr;
+
+
+ // hr = mpD3DDevice->SetRenderState( D3DRS_ALPHATESTENABLE , TRUE);
+ // if (FAILED(hr))
+ // return hr;
+
+ // hr = mpD3DDevice->SetRenderState( D3DRS_ALPHAREF, 0xff);
+ // if (FAILED(hr))
+ // return hr;
+
+
+ // hr = mpD3DDevice->SetRenderState(D3DRS_DITHERENABLE, TRUE);
+ // hr = mpD3DDevice->SetRenderState(D3DRS_ANTIALIAS, D3DANTIALIAS_NONE );
+ // if (FAILED(hr))
+ // return false;
+
+// hr = mpD3DDevice->SetRenderState(D3DRS_SHADEMODE, D3DSHADE_FLAT);
+// if (FAILED(hr)){
+// system::instance()->errorTerminate(DXGetErrorString8(hr));
+// return false;
+// }
+
+ hr = mpD3DDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
+ if (FAILED(hr)){
+ throw FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+ }
+
+ hr = mpD3DDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA);
+ if (FAILED(hr)){
+ throw FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+ }
+
+ hr = mpD3DDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);
+ if (FAILED(hr)){
+ throw FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+ }
+
+ // \83e\83N\83X\83`\83\83\83X\83e\81[\83W\83X\83e\81[\83g\82Ì\90Ý\92è //
+ mpD3DDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE );
+
+ mpD3DDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
+ mpD3DDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE );
+ mpD3DDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_MODULATE );
+ mpD3DDevice->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE );
+ mpD3DDevice->SetTextureStageState( 0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE );
+
+ mpD3DDevice->SetTextureStageState( 0, D3DTSS_MINFILTER, D3DTEXF_POINT );
+ mpD3DDevice->SetTextureStageState( 0, D3DTSS_MAGFILTER, D3DTEXF_POINT );
+
+ mpD3DDevice->SetTextureStageState( 0, D3DTSS_MIPFILTER, D3DTEXF_NONE );
+
+/* mpD3DDevice->SetTextureStageState( 0, D3DTSS_TEXCOORDINDEX, 0 );
+ mpD3DDevice->SetTextureStageState( 0, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_DISABLE );
+*/
+
+}// initDeviceStates()
+
+// \89æ\96Ê\82Ì\8f\89\8aú\89»\83r\83\85\81[\83|\81[\83g\82Ì\90Ý\92è\82È\82Ç ------------------------------------------
+void ConsoleImpl::initConsoleViewStyle(void)
+{
+
+ HRESULT hr = E_FAIL;
+
+ initLight();
+
+ mpD3DDevice->BeginScene();
+
+ initMatrix();
+
+
+
+ //\89æ\96Ê\83N\83\8a\83A//
+
+
+ mpD3DDevice->Clear(0,NULL,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,D3DCOLOR_COLORVALUE(0.0f,0.5f,0.0f,0.0f),0.0f,0);
+
+ mpD3DDevice->EndScene();
+
+ mpD3DDevice->Present(NULL,NULL,NULL,NULL);
+
+ //\83r\83\85\81[\83|\81[\83g\82Ì\90Ý\92è//
+
+ D3DVIEWPORT8 d3dv;
+
+ d3dv.X = viewport::X;
+ d3dv.Y = viewport::Y;
+ d3dv.Width = viewport::WIDTH;
+ d3dv.Height = viewport::HEIGHT;
+ d3dv.MinZ = viewport::Z_MIN;
+ d3dv.MaxZ = viewport::Z_MAX;
+
+ hr = mpD3DDevice->SetViewport(&d3dv);
+ if(FAILED(hr)){
+ throw FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+ }
+
+ //\81@\83r\83\85\81[\83|\81[\83g\93à\82Ì\83N\83\8a\83A
+ mpD3DDevice->BeginScene();
+ clearScreen();
+ mpD3DDevice->EndScene();
+ mpD3DDevice->Present(NULL,NULL,NULL,NULL);
+}//initConsoleViewStyle();
+
+// \83\89\83C\83g\82Ì\8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ConsoleImpl::initLight()
+{
+ D3DLIGHT8 light;
+ ZeroMemory(&light, sizeof(D3DLIGHT8));
+ light.Type = D3DLIGHT_DIRECTIONAL;
+ light.Diffuse.r = 1.0f;
+ light.Diffuse.g = 1.0f;
+ light.Diffuse.b = 1.0f;
+ D3DXVECTOR3 v(0.7f, -0.8f, 0.1f);
+ D3DXVec3Normalize((D3DXVECTOR3 *)&light.Direction, &v);
+ light.Range = 100.0f;
+
+ mpD3DDevice->SetLight(0, &light);
+ mpD3DDevice->LightEnable(0, TRUE);
+ mpD3DDevice->SetRenderState(D3DRS_LIGHTING, TRUE);
+}
+
+// \8ds\97ñ\82Ì\8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void ConsoleImpl::initMatrix()
+{
+ // 3D View \82Ì\90Ý\92è(\8eQ\8dl\81F\82Õ\82æ\81[\82ñ\82³\82ñ\82Ì\83\89\83C\83u\83\89\83\8a)
+ // \82Ù\82Æ\82ñ\82Ç\81A\82»\82Ì\82Ü\82Ü\82Å\82·\81B
+
+ //\8aî\96{\92l\90Ý\92è
+ float aspect = (float) screen::WIDTH / screen::HEIGHT; //\83A\83X\83y\83N\83g\94ä(\8d\82\82³\82ð1\82Æ\82µ\82½\82Æ\82«\82Ì\95\9d)
+ float aspect_v = (float) viewport::WIDTH / viewport::HEIGHT; //\83A\83X\83y\83N\83g\94ä(\8d\82\82³\82ð1\82Æ\82µ\82½\82Æ\82«\82Ì\95\9d)
+
+ float depth = 1.5f; //\89\9c\8ds\82«Z
+ float fovy = (float)atan(1.0f / depth) * 2.0f; //\8e\8b\96ì\82ðZ=0\82Å\83f\83o\83C\83X\82Ì\95\9d\82Æ\8d\82\82³\82É\8d\87\82í\82¹\82é
+
+ //\8dÀ\95W\82ð\91µ\82¦\82é
+ D3DXMATRIX mat_view;
+ D3DXMatrixLookAtLH( &mat_view,
+ &D3DXVECTOR3( aspect, -1.0f,-depth),
+ &D3DXVECTOR3( aspect, -1.0f, 0.0f),
+ &D3DXVECTOR3( 0.0f, 1.0f, 0.0f ) );
+
+/* D3DXMatrixLookAtLH( &mat_view, &D3DXVECTOR3( 0.0f, 3.0f,-5.0f ),
+ &D3DXVECTOR3( 0.0f, 0.0f, 0.0f ),
+ &D3DXVECTOR3( 0.0f, 1.0f, 0.0f ) );
+*/
+ mpD3DDevice->SetTransform( D3DTS_VIEW, &mat_view );
+
+ //\89\9c\8ds\82«\82É\91Î\82·\82é\94ä\97¦\82ð\92²\90®
+ D3DXMATRIX mat_proj;
+// D3DXMatrixPerspectiveFovLH( &mat_proj, D3DX_PI/4, aspect_v, 1.0f, 100.0f );
+
+ D3DXMatrixPerspectiveFovLH( &mat_proj,fovy, aspect_v, 1.0f, 100.0f );
+
+ mpD3DDevice->SetTransform( D3DTS_PROJECTION, &mat_proj );
+
+ //
+
+}//initMatrix()
+
+// create\8e\9e\82¨\82æ\82Ñreset\8e\9e\82Ì\8dÄ\8f\89\8aú\89»---------------------------------------------
+void ConsoleImpl::initNotManagedObjects(void)
+{
+ HRESULT hr;
+
+ //\83X\83v\83\89\83C\83g\83I\83u\83W\83F\83N\83g
+
+ if(FAILED(hr = D3DXCreateSprite(mpD3DDevice,&mpD3DXSprite)))
+ {
+ throw FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+ }
+
+}// initNotManagedObjects
+
+void ConsoleImpl::releaseNotManagedObjects(void)
+{
+
+ if(mpD3DXSprite)
+ {
+ mpD3DXSprite->Release();
+ mpD3DXSprite = NULL;
+ }
+
+}// releaseNotManagedObjects
+
+// \8fI\97¹\8f\88\97\9d -------------------------------------------------------------------
+void ConsoleImpl::uninitialize(void)
+{
+ int i;
+
+ // \83t\83H\83\93\83g\83e\83N\83X\83`\83\83\82Ì\83\8a\83\8a\81[\83X
+ for(i = 0;i < font::COUNT_MAX;i++)
+ {
+ if(mpFontTexture[i]){
+ mpFontTexture[i]->Release();
+ mpFontTexture[i] = NULL;
+ }
+ }
+ // \83X\83v\83\89\83C\83g\83I\83u\83W\83F\83N\83g\82Ì\8f\89\8aú\89»
+ for(i = 0;i < sprite::MAX;i++)
+ {
+ if(mpSprite[i]){
+ delete mpSprite[i];
+ }
+ }
+
+
+ releaseNotManagedObjects();
+
+ // D3D\83f\83o\83C\83X\82Ì\83\8a\83\8a\81[\83X
+ if(mpD3DDevice) {
+ mpD3DDevice->Release();
+ mpD3DDevice = NULL;
+ }
+
+ // Direct3D\83I\83u\83W\83F\83N\83g\82Ì\83\8a\83\8a\81[\83X
+ if(mpD3D){
+ mpD3D->Release();
+ mpD3D = NULL;
+ }
+
+ // text queue \82Ì\83N\83\8a\83A
+
+ while(!mTextQueue.empty())
+ {
+ delete mTextQueue.front();
+ mTextQueue.pop();
+ }
+
+}// Uninitialize
+
+// \83t\83H\83\93\83g\8aÖ\98A\83\81\83\\83b\83h ///////////////////////////////////////////////////////
+
+// \83t\83H\83\93\83g\83\8d\81[\83h -----------------------------------------------------------
+void ConsoleImpl::loadFont(void)
+{
+
+ HRESULT hr;
+ for(int i = 0;i < font::COUNT_MAX;i++)
+ {
+ hr = D3DXCreateTextureFromFileExA(
+ mpD3DDevice,
+ font::FILE_PATH[i],
+ D3DX_DEFAULT,
+ D3DX_DEFAULT,
+ 0,
+ 0,
+ mTextureFormat,
+ D3DPOOL_MANAGED,
+ D3DX_FILTER_NONE,
+ D3DX_FILTER_NONE,
+ 0xff000000,
+ NULL,
+ NULL,
+ &mpFontTexture[i]);
+
+ if(FAILED(hr))
+ {
+ throw FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+ }
+ }
+}// LoadFont
+
+// \83L\83\83\83\89\83N\83^\83e\83N\83X\83`\83\83\82ð\8eg\97p\82µ\82Ä\81A\95¶\8e\9a\97ñ\82ð\95\\8e¦\82·\82é -----------------------
+void ConsoleImpl::textDraw(int textureNo,float x,float y,float angleRad,float scale,COLOR color,
+ char *pBuf)
+{
+
+ int cc = text::BUFFER_LENGTH;
+ int ncc,ix,iy;
+
+ float startx = x;
+ float starty = y;
+
+ D3DXVECTOR2 scaling,rotation_center,translation;
+
+ float line = 0;
+ RECT srect;
+
+
+
+ float dx = text::COLUMN_PITCH * scale * cosf(angleRad);
+ float dy = text::COLUMN_PITCH * scale * sinf(angleRad);
+
+ scaling.x = scaling.y = scale;
+
+ rotation_center.x = font::WIDTH / 2;
+ rotation_center.y = font::HEIGHT / 2;
+
+ // \83J\83\89\81[\83L\81[\82Ì\82Ó\82¿\82ª\94²\82¯\82È\82¢\8c»\8fÛ\82ð\96h\8e~\82·\82é\82½\82ß
+ mpD3DDevice->SetTextureStageState(0, D3DTSS_MAGFILTER , D3DTEXF_POINT);
+ mpD3DDevice->SetTextureStageState(0, D3DTSS_MINFILTER , D3DTEXF_POINT);
+
+ while(*pBuf && cc){
+ ncc = *pBuf++;
+ if (ncc > 0x1f && ncc < 0x80){
+ ncc -= 0x20;
+
+ ix = (ncc % 16) * font::WIDTH;
+ iy = (ncc / 16) * font::HEIGHT;
+
+ srect.top = iy;
+ srect.left = ix;
+ srect.right = ix + font::WIDTH;
+ srect.bottom = iy + font::HEIGHT;
+
+ translation.x = x;
+ translation.y = y;
+
+ // mPointDest.z = zOrder;
+
+ mpD3DXSprite->Draw(
+ mpFontTexture[textureNo],
+ &srect,
+ &scaling,
+ &rotation_center,
+ 2 * D3DX_PI - angleRad,
+ &translation,
+ (D3DCOLOR)color
+ );
+
+ x += dx;
+ y += dy;
+
+ } else {
+
+ if (ncc == 0xa){//LF
+ line++;
+ y = starty + line * text::LINE_PITCH *
+ scale * sinf((angleRad + D3DX_PI/2));
+ x = startx + line * text::LINE_PITCH *
+ scale * cosf((angleRad + D3DX_PI/2 ));
+ }
+ }
+ --cc;
+ }
+ return ;
+
+}// TextDraw
+
+// \83e\83L\83X\83g\83L\83\85\81[\82Ì\93à\97e\82ð\8fo\97Í -----------------------------------------------
+void ConsoleImpl::textOut()
+{
+ TextQueueData* text_q;
+ mpD3DXSprite->Begin();
+ while(!mTextQueue.empty())
+ {
+ text_q = mTextQueue.front();
+ mTextQueue.pop();
+ textDraw(text_q->textureNo(),text_q->x(),text_q->y(),text_q->angeleRad(),text_q->scale(),text_q->color(),text_q->buffer());
+ delete text_q;
+ }
+ mpD3DXSprite->End();
+}// textOut
+
+// \83L\83\83\83\89\83N\83^\81[\83T\81[\83t\83F\81[\83X\82ð\8eg\97p\82µ\82Ä\81A\95¶\8e\9a\97ñ\82ð\95\\8e¦\82·\82é -----------------------
+void ConsoleImpl::print(const int textureNo,const float x,const float y,const float angleRad,const float scale,const COLOR color,
+ const char *format,...)
+{
+ va_list varl;
+ //char buf[text::BUFFER_LENGTH];
+
+ /* mAlpha = alpha;
+ mAngleRad = angleRad;
+ mScale = scale;
+ mTextureNo = textureNo;
+ mZOrder = zOrder;
+ */
+
+ TextQueueData* ptext_q = new TextQueueData(textureNo,x,y,angleRad,scale,color);
+
+ va_start(varl,format);
+ vsprintf(ptext_q->buffer(),format,varl);
+ va_end(varl);
+
+ mTextQueue.push(ptext_q);
+
+// textOut(textureNo,x,y,zOrder,alpha,angleRad,scale,color,buf);
+}// Print
+
+// \89æ\96Ê\8dX\90V ------------------------------------------------------------------
+void ConsoleImpl::update(void)
+{
+ if(!isEnabled())
+ return;
+
+ // \83o\83b\83N\83o\83b\83t\83@\82Ì\93à\97e\82ð\95\\8e¦
+ mpD3DDevice->Present(NULL,NULL,NULL,NULL);
+ startFrame();
+// Sleep(1);
+ clearScreen();
+// Sleep(1);
+ // \83X\83v\83\89\83C\83g\95`\89æ
+ for(Obj* pobj = Obj::List::moveTop();pobj != NULL;pobj = Obj::List::moveNext())
+ {
+ pobj->draw();
+ }
+
+ // \83e\83L\83X\83g\95`\89æ
+
+ textOut();
+
+ endFrame();
+
+
+
+}// update()
+
+// \89æ\96Ê\8fÁ\8b\8e ------------------------------------------------------------------
+void ConsoleImpl::clearScreen(COLOR value)
+{
+ mpD3DDevice->Clear(0,NULL,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER ,value,1.0f,0);
+}// clearScreen()
+// \89æ\96Ê\8fÁ\8b\8e(\90F\82Å\96\84\82ß\82é) -------------------------------------------------------
+void ConsoleImpl::fillScreen(COLOR value)
+{
+ mpD3DDevice->Clear(0,NULL,D3DCLEAR_TARGET ,value,1.0f,0);
+}// fillScreen()
+
+// \83t\83\8c\81[\83\80\8aJ\8en --------------------------------------------------------------
+void ConsoleImpl::startFrame(void)
+{
+ // \83f\83o\83C\83X\82Ì\8fó\91Ô\82ð\83`\83F\83b\83N\82·\82é
+ HRESULT hr = mpD3DDevice->TestCooperativeLevel();
+ if(FAILED(hr)){
+ mbD3DReady = false;
+ switch(hr){
+ case D3DERR_DEVICELOST:
+#ifdef _DEBUG
+ OutputDebugString("DEVICELOST\r\n");
+#endif
+
+ break;
+ case D3DERR_DEVICENOTRESET:
+#ifdef _DEBUG
+ OutputDebugString("DEVICENOTRESET\r\n");
+#endif
+ releaseNotManagedObjects();
+
+ if(FAILED(hr = mpD3DDevice->Reset(&mD3Dpp)))
+ {
+ throw FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+ }
+
+ initConsoleViewStyle();
+
+ initNotManagedObjects();
+
+ // \83f\83o\83C\83X\82Ì\8f\89\8aú\89»
+ initDeviceStates();
+
+ mbD3DReady = true;
+ break;
+ }
+ } else {
+ mpD3DDevice->BeginScene();
+ }
+}// startFrame()
+
+// \83t\83\8c\81[\83\80\8fI\97¹ --------------------------------------------------------------
+void ConsoleImpl::endFrame(void)
+{
+ mpD3DDevice->EndScene();
+}// endFrame()
+
+
+// \83X\83v\83\89\83C\83g\82Ì\83\8d\81[\83h ---------------------------------------------------------
+// 3D\82Ì\83o\81[\83e\83b\83N\83X\83o\83b\83t\83@\82Ì\90¶\90¬\95\94\95ª\82Í\81A\82Õ\82æ\81[\82ñ\82³\82ñ\82Ì\83\89\83C\83u\83\89\83\8a\82ð\8eQ\8dl\82É\82µ\82Ä\82¢\82Ü\82·\81B
+sprite::Sprite * const ConsoleImpl::createSprite(const sprite::Info * const pInfo)
+{
+ sprite::AbstractSprite * psprite = NULL;
+
+ switch (pInfo->type)
+ {
+ case SPRITE2D:
+ psprite = new Sprite2D(mpD3DDevice);
+ break;
+ case SPRITE3D:
+ psprite = new Sprite3D(mpD3DDevice);
+ break;
+ case MESH:
+ psprite = new SpriteMesh(mpD3DDevice);
+ break;
+ };
+
+ if(NULL == psprite)
+ {
+ throw FatalErrorException("Sprite is not created",__FILE__,__LINE__);
+ }
+
+ psprite->load(pInfo,mTextureFormat,pInfo->transparentColor);
+ return psprite;
+}// createSprite()
+
+//----------------------------------------------------------------------------
+// TextQueueData -------------------------------------------------------------
+//----------------------------------------------------------------------------
+
+ConsoleImpl::TextQueueData::TextQueueData(const int textureNo,const float x,const float y,const float angleRad,const float scale,const COLOR color,const char *pBuffer)
+{
+ mTextureNo = textureNo;
+ mX = x;
+ mY = y;
+ mAngleRad = angleRad;
+ mScale = scale;
+ mColor = color;
+
+ if(pBuffer != NULL)
+ strncpy(mpBuf,pBuffer,sizeof(mpBuf));
+}// ConsoleImpl::TextQueueData::TextQueueData
+
+ConsoleImpl::TextQueueData::~TextQueueData()
+{
+ ;
+}// ~TextQueueData
+
+
--- /dev/null
+/**
+ * @file
+ * @brief \89æ\96Ê\95`\89æ\81i\83X\83v\83\89\83C\83g\81E\94w\8ci\89æ\91\9c\81j\82Ì\8eÀ\91\95\82ð\8ds\82¤.
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+/// \8fd\95¡\83C\83\93\83N\83\8b\81[\83h\96h\8e~\83}\83N\83\8d
+#if !defined(AFX_ConsoleImpl_H__B6F6F87A_C87F_40DA_8F4F_C037111CAC9D__INCLUDED_)
+#define AFX_ConsoleImpl_H__B6F6F87A_C87F_40DA_8F4F_C037111CAC9D__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+#include "sf.h"
+#include "Console.h"
+extern "C" {
+namespace sf {
+ namespace system {
+ namespace console {
+ /// \83X\83v\83\89\83C\83g\97p \83o\81[\83e\83b\83N\83X\83o\83b\83t\83@\82Ì\83t\83\89\83O
+ const DWORD VertexFVF =
+ (D3DFVF_XYZRHW | ///< \8dÀ\95W\8cn
+ D3DFVF_DIFFUSE | ///< \83f\83B\83t\83\85\81[\83Y
+ D3DFVF_SPECULAR | ///< \83X\83y\83L\83\85\83\89
+ D3DFVF_TEX1 );
+
+ /// 3D\83J\83X\83^\83\80\92¸\93_\83t\83H\81[\83}\83b\83g
+ struct Vertex2 {
+ D3DVECTOR position; ///< \83I\83u\83W\83F\83N\83g\8dÀ\95W\81B
+ DWORD diffuse; ///< \83f\83B\83t\83\85\81[\83Y
+ DWORD specular;///< \83X\83y\83L\83\85\83\89\90¬\95ª
+ float tu;///< \83e\83N\83X\83`\83\83u\8dÀ\95W
+ float tv;///< \83e\83N\83X\83`\83\83v\8dÀ\95W
+ };
+
+ /// 3D\83X\83v\83\89\83C\83g\97p \83o\81[\83e\83b\83N\83X\83o\83b\83t\83@\82Ì\83t\83\89\83O
+ const DWORD Vertex2FVF = (D3DFVF_DIFFUSE | D3DFVF_SPECULAR | D3DFVF_XYZ | D3DFVF_TEX1);
+
+ /** Console\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\8eÀ\91\95. */
+ class ConsoleImpl : public Console
+ {
+ // LIFECYCLE //
+ public:
+ /// \83R\83\93\83X\83g\83\89\83N\83^
+ ConsoleImpl();
+ /** \83R\83\93\83X\83g\83\89\83N\83^
+ * @param hwnd \83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b
+ * @param bWindow \83E\83B\83\93\83h\83E\95\\8e¦\82©\83t\83\8b\83X\83N\83\8a\81[\83\93\95\\8e¦\82© */
+ ConsoleImpl(const HWND hwnd,const bool bWindow);
+ /// \83f\83X\83g\83\89\83N\83^
+ virtual ~ConsoleImpl();
+ // OPERATORS //
+ // OPERATIONS //
+ virtual void initialize(void);
+ /** \8f\89\8aú\89»\82ð\8ds\82¤.
+ * @param hwnd \83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b
+ * @param bWindow true \83E\83B\83\93\83h\83E\95\\8e¦ false \83t\83\8b\83X\83N\83\8a\81[\83\93\95\\8e¦ */
+ void initialize(const HWND hwnd,const bool bWindow);
+
+ /** \8fI\97¹\8f\88\97\9d\82ð\8ds\82¤.
+ * \8fI\97¹\8e\9e\82É\8aJ\95ú\82µ\82È\82\82Ä\82Í\82¢\82¯\82È\82¢\82à\82Ì\82Í\82±\82±\82Å\8aJ\95ú\82·\82é */
+ void uninitialize(void);
+
+ virtual void clearScreen(COLOR value = 0x00000000);
+ virtual void fillScreen(COLOR value = 0x00000000);
+ void update(void);
+
+ // \83o\83b\83N\83o\83b\83t\83@\82ÉAscii\95¶\8e\9a\97ñ\82ð\8ew\92è\82µ\82½\83e\83N\83X\83`\83\83\81[\94Ô\8d\86\82Å\95\\8e¦\82·\82é\81B
+ virtual void print(const int textureNo,const float x,const float y,const float angleRad,const float scale,const COLOR color,
+ const char *format,...);
+ // \83X\83v\83\89\83C\83g\82Ì\83\8d\81[\83h
+ sprite::Sprite* const createSprite(const sprite::Info* const pInfo);
+
+ // ACCESS //
+
+ // INQUIRY //
+ virtual const bool isEnabled(void) const {return mbD3DReady;};
+
+ private:
+ /** D3D\83f\83o\83C\83X\82ð\83`\83F\83b\83N\82µ\81A\91I\91ð\82·\82é.
+ * \8c»\8dÝ\82Ì\83n\81[\83h\83E\83F\83A\82ÌD3D\83f\83o\83C\83X\82ð\83`\83F\83b\83N\82µ\81AConsoleImpl\82ª\95K\97v\82Æ\82·\82é\97v\8b\81\82É\91Î\89\9e\82µ\81A\82à\82Á\82Æ\82à\94\\97Í\82Ì\8d\82\82¢\82à\82Ì\82ð\91I\91ð\82µ\82Ü\82·\81B*/
+ void checkAndSetDevice(const D3DDEVTYPE devtype = D3DDEVTYPE_HAL);
+
+ /** \83f\83o\83C\83X\83^\83C\83v\82ð\83`\83F\83b\83N\82µ\81A\90Ý\92è\82·\82é */
+ void checkAndSetDeviceType(const D3DDEVTYPE devtype);
+
+ /** \8c»\8dÝ\82Ì\83n\81[\83h\83E\83F\83A\82Ì\83o\83b\83N\83o\83b\83t\83@\83t\83H\81[\83}\83b\83g\82ð\83`\83F\83b\83N\82µ\81A\90Ý\92è\82·\82é
+ * \83V\83X\83e\83\80\82ª\97v\8b\81\82·\82é\83o\83b\83N\83o\83b\83t\83@\83t\83H\81[\83}\83b\83g\82ª\82 \82é\82©\82Ç\82¤\82©\83`\83F\83b\83N\82µ\81A\82 \82ê\82Î\90Ý\92è\82µ\82Ü\82·\81B<br>
+ * \82È\82¯\82ê\82Î\81A\97v\8b\81\82·\82é\82à\82Ì\82É\8dÅ\82à\8bß\82¢\83o\83b\83N\83o\83b\83t\83@\82Ì\83t\83H\81[\83}\83b\83g\82ð\91I\91ð\82µ\82Ü\82· */
+ void checkAndSetBackBufferFormat(void);
+ /** \8c»\8dÝ\82Ì\83n\81[\83h\83E\83F\83A\82Ì\83e\83N\83X\83`\83\83\83t\83H\81[\83}\83b\83g\82ð\83`\83F\83b\83N\82µ\81A\90Ý\92è\82·\82é */
+ void checkAndSetTextureFormat(void);
+ /** \8c»\8dÝ\82Ì\83n\81[\83h\83E\83F\83A\82Ì\83r\83b\83g\90[\93x\82ð\92²\82×\82Ä\81A\90Ý\92è\82·\82é */
+ void checkAndSetDepthFormat(void);
+
+ /// \83\8c\83\93\83_\83\8a\83\93\83O\83X\83e\81[\83g\81A\83e\83N\83X\83`\83\83\83X\83e\81[\83W\83X\83e\81[\83g\82Ì\8f\89\8aú\89»\82ð\8ds\82¤
+ void initDeviceStates(void);
+
+ /// \89æ\96Ê\82Ì\8f\89\8aú\89»\81E\83r\83\85\81[\83|\81[\83g\82Ì\90Ý\92è\82È\82Ç\82ð\8ds\82¤
+ void initConsoleViewStyle(void);
+
+ /// \83\89\83C\83g\82Ì\8f\89\8aú\89»\82ð\8ds\82¤
+ void initLight();
+
+ /// \95Ï\8a·\8ds\97ñ\82Ì\8f\89\8aú\89»\82ð\8ds\82¤
+ void initMatrix();
+
+
+ /// Reset\8e\9e\82É\8dÄ\8dì\90¬\82µ\82È\82\82Ä\82Í\82¢\82¯\82È\82¢\8f\88\97\9d\82ð\8ds\82¤
+ void initNotManagedObjects(void);
+
+ /// D3DDevice\82Å\8aÇ\97\9d\82³\82ê\82È\82¢\83I\83u\83W\83F\83N\83g\82ð\8aJ\95ú\82·\82é
+ void releaseNotManagedObjects(void);
+
+ /// \83t\83H\83\93\83g\83t\83@\83C\83\8b\82ð\93Ç\82Ý\8d\9e\82Þ
+ void loadFont(void);
+
+ /// \83t\83\8c\81[\83\80\8aJ\8en\82ð\90é\8c¾\82·\82é
+ void startFrame(void);
+
+ /// \83t\83\8c\81[\83\80\8fI\97¹\82ð\90é\8c¾\82·\82é
+ void endFrame(void);
+
+ /// \83e\83L\83X\83g\82Ì\95`\89æ\82ð\8ds\82¤
+ void textDraw(int textureNo,float x,float y,float angleRad,float scale,COLOR color,char *pBuf);
+
+ /// \83e\83L\83X\83g\83L\83\85\81[\82Ì\93à\97e\82ð\8fo\97Í\82·\82é
+ void textOut(void);
+
+ HWND mhWndMain;///< Window\83n\83\93\83h\83\8b
+
+ bool mbD3DReady;///< \82·\82×\82Ä\82Ì\8f\89\8aú\89»\82ª\8a®\97¹\82µ\81A\8eg\97p\89Â\94\
+ bool mbWindowed; ///< \83E\83B\83\93\83h\83E\83\82\81[\83h\82©\82Ç\82¤\82©
+
+ LPDIRECT3D9 mpD3D;///< D3D
+ D3DDEVTYPE mD3DDeviceType;///< D3D\83f\83o\83C\83X\83^\83C\83v
+
+ LPDIRECT3DDEVICE9 mpD3DDevice;///< D3DDevice
+ LPD3DXSPRITE mpD3DXSprite;///< D3DXSprite
+
+ D3DFORMAT mD3DFormat;///< \83v\83\89\83C\83}\83\8a\81E\83o\83b\83N\83o\83b\83t\83@\82Ì\83t\83H\81[\83}\83b\83g
+ D3DFORMAT mTextureFormat;///< \93§\89ß\83e\83N\83X\83`\83\83\97p\83t\83H\81[\83}\83b\83g
+ D3DFORMAT mDepthFormat;///<\81@\90[\93x\83o\83b\83t\83@\97p\83t\83H\81[\83}\83b\83g
+ D3DPRESENT_PARAMETERS mD3Dpp;///< D3DPRESENT_PARAMETERS
+
+ IDirect3DTexture9* mpFontTexture[font::COUNT_MAX];///< \83t\83H\83\93\83g\83e\83N\83X\83`\83\83\94z\97ñ
+ sprite::AbstractSprite* mpSprite[sprite::MAX];///< \83X\83v\83\89\83C\83g\83e\83N\83X\83`\83\83\94z\97ñ
+
+ ///\81@\83e\83L\83X\83g\95¶\8e\9a\97ñ\95Û\8e\9d\83N\83\89\83X
+ class TextQueueData{
+ public:
+ /**\81@\83R\83\93\83X\83g\83\89\83N\83^
+ * @param \83e\83N\83X\83`\83\83\94Ô\8d\86
+ * @param x \95\\8e¦x\8dÀ\95W
+ * @param y \95\\8e¦y\8dÀ\95W
+ * @param angleRad \95\\8e¦\8ap\93x(\83\89\83W\83A\83\93)
+ * @param scale \8ag\91å\8fk\8f¬\97¦
+ * @param color \95\\8e¦\90F
+ * @param pBuffer \83e\83L\83X\83g\95¶\8e\9a\97ñ\82Ì\83|\83C\83\93\83^ */
+ TextQueueData(const int textureNo,const float x,const float y,const float angleRad,const float scale,const COLOR color,const char *pBuffer = NULL);
+ /// \83f\83X\83g\83\89\83N\83^
+ ~TextQueueData();
+ // ACCESS
+ /** \83e\83L\83X\83g\95¶\8e\9a\97ñ\82Ì\83|\83C\83\93\83^\82ð\8eæ\93¾\82·\82é.
+ * @return \83e\83L\83X\83g\95¶\8e\9a\97ñ\82Ì\90æ\93ª\83A\83h\83\8c\83X */
+ char * const buffer(void) { return mpBuf;};
+
+ /** \83t\83H\83\93\83g\83e\83N\83X\83`\83\83\94Ô\8d\86\82ð\8eæ\93¾\82·\82é.
+ * @return \83t\83H\83\93\83g\83e\83N\83X\83`\83\83\94Ô\8d\86 */
+ const int textureNo() const { return mTextureNo;};
+
+ /** \95\\8e¦\8aJ\8enX\8dÀ\95W\82ð\8eæ\93¾\82·\82é.
+ * @return \95\\8e¦\8aJ\8enX\8dÀ\95W */
+ const float x() const { return mX;};
+
+ /** \95\\8e¦\8aJ\8enY\8dÀ\95W\82ð\8eæ\93¾\82·\82é.
+ * @return \95\\8e¦\8aJ\8enY\8dÀ\95W */
+ const float y() const { return mY;};
+
+ /** \95\\8e¦\8ap\93x\82ð\8eæ\93¾\82·\82é.
+ * @return \95\\8e¦\8aJ\8enX\8dÀ\95W */
+ const float angeleRad() const { return mAngleRad;};
+
+ /** \8ag\91å\8fk\8f¬\97¦\82ð\8eæ\93¾\82·\82é.
+ * @return \8ag\91å\8fk\8f¬\97¦ */
+ const float scale() const { return mScale;};
+
+ /** \95\\8e¦\90F\82ð\8eæ\93¾\82·\82é.
+ * @return \95\\8e¦\90F */
+ const COLOR color() const { return mColor;};
+ private:
+ int mTextureNo;///< \83t\83H\83\93\83g\83e\83N\83X\83`\83\83\94Ô\8d\86
+ float mX;///< \95\\8e¦\8aJ\8enX\8dÀ\95W
+ float mY;///< \95\\8e¦\8aJ\8enY\8dÀ\95W
+ float mAngleRad;///< \95\\8e¦\8ap\93x\81i\83\89\83W\83A\83\93\81j
+ float mScale;///< \8ag\91å\8fk\8f¬\97¦
+ COLOR mColor;///< \95\\8e¦\90F
+ char mpBuf[text::BUFFER_LENGTH];///< \95\\8e¦\95¶\8e\9a\97ñ
+ };
+
+ /// \83e\83L\83X\83g\95\\8e¦\97p\83L\83\85\81[\83o\83b\83t\83@
+ std::queue<TextQueueData *> mTextQueue;
+
+ }; // ConsoleImpl
+ } // namespace console
+ } // namespace system
+} // namespace sf
+}
+#endif // !defined(AFX_ConsoleImpl_H__B6F6F87A_C87F_40DA_8F4F_C037111CAC9D__INCLUDED_)
--- /dev/null
+/**
+ * @file Exception.h
+ * @brief \97á\8aO\82Ì\92è\8b`\82ð\8ds\82¤.
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+/// \8fd\95¡\83C\83\93\83N\83\8b\81[\83h\96h\8e~\83}\83N\83\8d
+#if !defined(AFX_EXCEPTION_H__F0B6B43A_53BE_4C53_AB43_D64FED220C3B__INCLUDED_)
+#define AFX_EXCEPTION_H__F0B6B43A_53BE_4C53_AB43_D64FED220C3B__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+#include "sf.h"
+#include <string>
+#include <strstream>
+#include "boost/format.hpp"
+extern "C" {
+namespace sf {
+ namespace system {
+/// \97á\8aO
+class Exception {
+ public:
+ /// \83G\83\89\81[\82Ì\8eí\97Þ
+ enum ERROR_TYPE{
+ DEFAULT,///< \83f\83t\83H\83\8b\83g
+ DEVICE_NOT_FOUND,///< \83f\83o\83C\83X\82ª\8c©\82Â\82©\82ç\82È\82©\82Á\82½
+ BUFFER_IS_FULL,///< \83o\83b\83t\83@\81[\82ª\83t\83\8b
+ SCENE_IS_EMPTY///< \83V\81[\83\93\82Í\8bó\82Å\82 \82é
+ };
+
+ /// \83R\83\93\83X\83g\83\89\83N\83^
+ Exception::Exception()
+ {
+ mErrID = DEFAULT;
+ };
+
+ /** \83R\83\93\83X\83g\83\89\83N\83^
+ * @param pValue \83G\83\89\81[\95¶\8e\9a\97ñ
+ * @param fileName \83t\83@\83C\83\8b\83l\81[\83\80
+ * @param line \8ds\94Ô\8d\86
+ * @param err ERROR_TYPE */
+ Exception(const wchar_t * const pValue,const wchar_t * const fileName,const int line,const ERROR_TYPE err = DEFAULT)
+ {mErrString = pValue; mFileName = fileName;mLineNumber = line; mErrID = err;};
+ /** \83R\83\93\83X\83g\83\89\83N\83^
+ * @param value \83G\83\89\81[\95¶\8e\9a\97ñ
+ * @param fileName \83t\83@\83C\83\8b\83l\81[\83\80
+ * @param line \8ds\94Ô\8d\86
+ * @param err ERROR_TYPE */
+ Exception(std::wstring & value,const wchar_t * const fileName,const int line,const ERROR_TYPE err = DEFAULT)
+ {mErrString = value;mFileName = fileName ; mLineNumber = line; mErrID = err;};
+ /// \83f\83X\83g\83\89\83N\83^
+ virtual ~Exception(){};
+
+ /** \83G\83\89\81[\95¶\8e\9a\97ñ\82ð\8eQ\8fÆ\82·\82é.
+ * @return \83G\83\89\81[\95¶\8e\9a\97ñ\82ðstd::string\82Ì\8eQ\8fÆ\82Å\95Ô\82µ\82Ü\82·*/
+ virtual std::wstring & reason(void)
+ {return mErrString;};
+
+ /** \83G\83\89\81[\95¶\8e\9a\97ñ\82ð\83Z\83b\83g\82·\82é.
+ * @param value \83G\83\89\81[\95¶\8e\9a\97ñ(std::string) */
+ virtual void reason(const std::wstring& value){mErrString = value;};
+
+ /** \83G\83\89\81[\95¶\8e\9a\97ñ\82ð\83Z\83b\83g\82·\82é.
+ * @param value \83G\83\89\81[\95¶\8e\9a\97ñ(const char *) */
+ virtual void reason(const wchar_t * const pValue){mErrString = pValue;};
+
+ /** \83G\83\89\81[\82ð\8bN\82±\82µ\82½\83t\83@\83C\83\8b\83l\81[\83\80\82ð\83Z\83b\83g\82·\82é
+ * @param pValue \83G\83\89\81[\82ð\8bN\82±\82µ\82½\83t\83@\83C\83\8b\83l\81[\83\80 */
+ virtual void sourceFileName(const wchar_t * const pValue){mFileName = pValue;};
+
+ /** \83G\83\89\81[\82ð\8bN\82±\82µ\82½\83t\83@\83C\83\8b\83l\81[\83\80\82ð\8eQ\8fÆ\82·\82é
+ * @return \83G\83\89\81[\82ð\8bN\82±\82µ\82½\83t\83@\83C\83\8b\83l\81[\83\80 */
+ virtual const std::wstring sourceFileName(void) const {return mFileName;};
+
+ /** \83G\83\89\81[\82ð\8bN\82±\82µ\82½\8ds\94Ô\8d\86\82ð\83Z\83b\83g\82·\82é
+ * @param value \83G\83\89\81[\82ð\8bN\82±\82µ\82½\8ds\94Ô\8d\86 */
+ virtual void lineNumber(const int value){mLineNumber = value;};
+
+ /** \83G\83\89\81[\82ð\8bN\82±\82µ\82½\8ds\94Ô\8d\86\82ð\83Z\83b\83g\82·\82é
+ * @param value \83G\83\89\81[\82ð\8bN\82±\82µ\82½\8ds\94Ô\8d\86 */
+ virtual const int lineNumber(void){return mLineNumber;};
+
+ /** ERROR_TYPE\82ð\83Z\83b\83g\82·\82é
+ * @param value ERROR_TYPE(\97á\8aO\82Ì\8eí\97Þ) */
+ virtual void errorType(const ERROR_TYPE value){mErrID = value;};
+
+ /** ERROR_TYPE\82ð\8eQ\8fÆ\82·\82é
+ * @return ERROR_TYPE(\97á\8aO\82Ì\8eí\97Þ) */
+ virtual const ERROR_TYPE errorType(void) const {return mErrID;};
+
+ /** \83f\83t\83H\83\8b\83g\83G\83\89\81[\95\\8e¦\83\81\83b\83Z\81[\83W\82ð\8eQ\8fÆ\82·\82é
+ * @return \83G\83\89\81[\95¶\8e\9a\97ñ */
+ virtual const wchar_t * const Exception::getDefaultMessage(void){
+ return (boost::wformat(L"%s\n%s:line%d") % reason() % sourceFileName() % lineNumber()).str().c_str();
+ }// getDefaultMessage()
+
+private:
+ std::wstring mErrString;///< \83G\83\89\81[\95¶\8e\9a\97ñ
+ std::wstring mFileName;///< \83G\83\89\81[\82ð\8bN\82±\82µ\82½\83t\83@\83C\83\8b\96¼
+ std::wstring mDefaultMessage;///< \83f\83t\83H\83\8b\83g\82Ì\83\81\83b\83Z\81[\83W
+ int mLineNumber;///< \8ds\94Ô\8d\86
+ ERROR_TYPE mErrID;///< \83G\83\89\81[ID
+};
+
+/// \92v\96½\93I\82È\97á\8aO
+class FatalErrorException : public Exception {
+public:
+ /** \83R\83\93\83X\83g\83\89\83N\83^
+ * @param pValue \83G\83\89\81[\95¶\8e\9a\97ñ
+ * @param fileName \83t\83@\83C\83\8b\83l\81[\83\80
+ * @param line \8ds\94Ô\8d\86
+ * @param err ERROR_TYPE */
+ FatalErrorException(const wchar_t * const pValue,const wchar_t * const fileName,const int line,const ERROR_TYPE err = DEFAULT)
+ : Exception(pValue,fileName,line)
+ {;};
+ /** \83R\83\93\83X\83g\83\89\83N\83^
+ * @param pValue \83G\83\89\81[\95¶\8e\9a\97ñ
+ * @param fileName \83t\83@\83C\83\8b\83l\81[\83\80
+ * @param line \8ds\94Ô\8d\86
+ * @param err ERROR_TYPE */
+ FatalErrorException(std::wstring & value,const wchar_t * const fileName,const int line,const ERROR_TYPE err = DEFAULT)
+ : Exception(value,fileName,line)
+ {;};
+};
+
+///\8fC\95\9c\89Â\94\\82È\97á\8aO
+class RecoverbleErrorException : public Exception {
+public:
+ /** \83R\83\93\83X\83g\83\89\83N\83^
+ * @param pValue \83G\83\89\81[\95¶\8e\9a\97ñ
+ * @param fileName \83t\83@\83C\83\8b\83l\81[\83\80
+ * @param line \8ds\94Ô\8d\86
+ * @param err ERROR_TYPE */
+ RecoverbleErrorException(const wchar_t * const pValue,const wchar_t * const fileName,const int line,const ERROR_TYPE err = DEFAULT)
+ : Exception(pValue,fileName,line)
+ {;};
+ /** \83R\83\93\83X\83g\83\89\83N\83^
+ * @param pValue \83G\83\89\81[\95¶\8e\9a\97ñ
+ * @param fileName \83t\83@\83C\83\8b\83l\81[\83\80
+ * @param line \8ds\94Ô\8d\86
+ * @param err ERROR_TYPE */
+ RecoverbleErrorException(std::wstring & value,const wchar_t * const fileName,const int line,const ERROR_TYPE err = DEFAULT)
+ : Exception(value,fileName,line)
+ {;};
+
+};
+ }// system
+}// sf
+}
+#endif // !defined(AFX_EXCEPTION_H__F0B6B43A_53BE_4C53_AB43_D64FED220C3B__INCLUDED_)
--- /dev/null
+/**
+ * @file Input.h
+ * @brief \93ü\97Í\81i\83L\81[\83{\81[\83h\81E\83}\83E\83X\81E\83W\83\87\83C\83X\83e\83B\83b\83N\81j\82Ì\83C\83\93\83^\81[\83t\83F\81[\83X\81A\92è\90\94\92è\8b`\82È\82Ç\82ð\8ds\82¤.
+ * \8eÀ\8dÛ\82Ì\8f\88\97\9d\82Í\81AOS\88Ë\91¶\82Ì\8eÀ\91\95\83N\83\89\83X\82É\94C\82¹\82Ü\82·\81B
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+/// \93ñ\8fd\93Ç\82Ý\8d\9e\82Ý\96h\8e~\83}\83N\83\8d
+#if !defined(AFX_INPUT_H__D4B94DF3_02D8_42CE_AC7A_A98CCC9D0115__INCLUDED_)
+#define AFX_INPUT_H__D4B94DF3_02D8_42CE_AC7A_A98CCC9D0115__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "sf.h"
+extern "C" {
+namespace sf{
+ namespace system {
+ /// \93ü\97Í\8eü\82è\82Ì\83N\83\89\83X\81E\92è\90\94\82È\82Ç\82Í\82·\82×\82Ä\82±\82±\82É\8aÜ\82Ü\82ê\82Ü\82·\81B
+ namespace input {
+ /// \83}\83E\83X\8aÖ\98A\82Ì\83N\83\89\83X\81E\92è\90\94\82È\82Ç\82Í\82·\82×\82Ä\82±\82±\82É\8aÜ\82Ü\82ê\82Ü\82·
+ namespace mouse {
+ /// \83}\83E\83X\83C\83x\83\93\83g\82Å\93¯\8e\9e\82É\89\9f\82³\82ê\82½\83L\81[\83R\81[\83h\82ð\97ñ\8b\93\82·\82é
+ enum MKEY_CODE {
+ MKEY_CONTROL = 0x1,///< \83R\83\93\83g\83\8d\81[\83\8b\83L\81[\83}\83X\83N
+ MKEY_LBUTTON = 0x2,///< \83}\83E\83X\8d¶\83{\83^\83\93\83}\83X\83N
+ MKEY_RBUTTON = 0x4,///< \83}\83E\83X\89E\83{\83^\83\93\83}\83X\83N
+ MKEY_SHIFT = 0x8,///< \83V\83t\83g\83L\81[\83}\83X\83N
+ WHEEL_MASK = 0xffff0000///< \83}\83E\83X\83z\83C\81[\83\8b\83}\83X\83N
+ };
+
+ /** \83}\83E\83X\83C\83x\83\93\83g\83\8a\83X\83i\81|
+ *
+ * \83}\83E\83X\83C\83x\83\93\83g\82Ì\83\8a\83X\83i\81[\82Å\82·\81B\83}\83E\83X\82Ì\83C\83x\83\93\83g\82Í\82·\82×\82Ä\82±\82Ì\83\8a\83X\83i\81[\83C\83\93\83^\81[\83t\83F\81[\83X\82ð\92Ê\82¶\82Ä\8ds\82í\82ê\82Ü\82·\81B<br>
+ * \83}\83E\83X\83C\83x\83\93\83g\82ð\8f\88\97\9d\82µ\82½\82¢\8fê\8d\87\81A\82±\82Ì\83C\83\93\83^\81[\83t\83F\81[\83X\82ð\8cp\8f³\82µ\82Ä\8eÀ\91\95\82µ\81A\83C\83x\83\93\83g\82ð\94\8ds\82·\82éInput\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì
+ * Input::addMouseListener()\83\81\83\\83b\83h\82Å\93o\98^\82µ\82Ü\82·\81B
+ */
+ class Listener
+ {
+ public:
+
+ /** \8d¶\83{\83^\83\93\82ª\89\9f\82³\82ê\82½.
+ * \83}\83E\83X\82Ì\8d¶\83{\83^\83\93\82ª\89\9f\82³\82ê\82½\82Æ\82«\82É\8cÄ\82Ñ\8fo\82³\82ê\82é\83\81\83\\83b\83h\82Å\82·\81B
+ * @param screenX \83X\83N\83\8a\81[\83\93\8fã\82Ì\83}\83E\83XX\8dÀ\95W
+ * @param screenY \83X\83N\83\8a\81[\83\93\8fã\82Ì\83}\83E\83XY\8dÀ\95W
+ * @param mkey \93¯\8e\9e\82É\89\9f\82³\82ê\82½\83L\81[\83R\81[\83h @ref MKEY_CODE */
+ virtual void leftButtonDown(const int screenX,const int screenY,const DWORD mkey) = 0;
+
+ /** \8d¶\83{\83^\83\93\82ª\97£\82³\82ê\82½.
+ * \83}\83E\83X\82Ì\8d¶\83{\83^\83\93\82ª\97£\82³\82ê\82½\82Æ\82«\82É\8cÄ\82Ñ\8fo\82³\82ê\82é\83\81\83\\83b\83h\82Å\82·\81B
+ * @param screenX \83X\83N\83\8a\81[\83\93\8fã\82Ì\83}\83E\83XX\8dÀ\95W
+ * @param screenY \83X\83N\83\8a\81[\83\93\8fã\82Ì\83}\83E\83XY\8dÀ\95W
+ * @param mkey \93¯\8e\9e\82É\89\9f\82³\82ê\82½\83L\81[\83R\81[\83h @ref MKEY_CODE */
+ virtual void leftButtonUp(const int screenX,const int screenY,const DWORD mkey) = 0;
+
+ /** \8d¶\83{\83^\83\93\82ª\83_\83u\83\8b\83N\83\8a\83b\83N\82³\82ê\82½.
+ * \83}\83E\83X\82Ì\8d¶\83{\83^\83\93\82ª\83_\83u\83\8b\83N\83\8a\83b\83N\82³\82ê\82½\82Æ\82«\82É\8cÄ\82Ñ\8fo\82³\82ê\82é\83\81\83\\83b\83h\82Å\82·\81B
+ * @param screenX \83X\83N\83\8a\81[\83\93\8fã\82Ì\83}\83E\83XX\8dÀ\95W
+ * @param screenY \83X\83N\83\8a\81[\83\93\8fã\82Ì\83}\83E\83XY\8dÀ\95W
+ * @param mkey \93¯\8e\9e\82É\89\9f\82³\82ê\82½\83L\81[\83R\81[\83h @ref MKEY_CODE */
+ virtual void leftButtonDoubleClick(const int screenX,const int screenY,const DWORD mkey) = 0;
+
+ /** \89E\83{\83^\83\93\82ª\89\9f\82³\82ê\82½.
+ * \83}\83E\83X\82Ì\89E\83{\83^\83\93\82ª\89\9f\82³\82ê\82½\82Æ\82«\82É\8cÄ\82Ñ\8fo\82³\82ê\82é\83\81\83\\83b\83h\82Å\82·\81B
+ * @param screenX \83X\83N\83\8a\81[\83\93\8fã\82Ì\83}\83E\83XX\8dÀ\95W
+ * @param screenY \83X\83N\83\8a\81[\83\93\8fã\82Ì\83}\83E\83XY\8dÀ\95W
+ * @param mkey \93¯\8e\9e\82É\89\9f\82³\82ê\82½\83L\81[\83R\81[\83h @ref MKEY_CODE*/
+ virtual void rightButtonDown(const int screenX,const int screenY,const DWORD mkey) = 0;
+
+ /** \89E\83{\83^\83\93\82ª\97£\82³\82ê\82½.
+ * \83}\83E\83X\82Ì\89E\83{\83^\83\93\82ª\97£\82³\82ê\82½\82Æ\82«\82É\8cÄ\82Ñ\8fo\82³\82ê\82é\83\81\83\\83b\83h\82Å\82·\81B
+ * @param screenX \83X\83N\83\8a\81[\83\93\8fã\82Ì\83}\83E\83XX\8dÀ\95W
+ * @param screenY \83X\83N\83\8a\81[\83\93\8fã\82Ì\83}\83E\83XY\8dÀ\95W
+ * @param mkey \93¯\8e\9e\82É\89\9f\82³\82ê\82½\83L\81[\83R\81[\83h @ref MKEY_CODE */
+ virtual void rightButtonUp(const int screenX,const int screenY,const DWORD mkey) = 0;
+
+ /** \89E\83{\83^\83\93\82ª\83_\83u\83\8b\83N\83\8a\83b\83N\82³\82ê\82½.
+ * \83}\83E\83X\82Ì\89E\83{\83^\83\93\82ª\83_\83u\83\8b\83N\83\8a\83b\83N\82³\82ê\82½\82Æ\82«\82É\8cÄ\82Ñ\8fo\82³\82ê\82é\83\81\83\\83b\83h\82Å\82·\81B
+ * @param screenX \83X\83N\83\8a\81[\83\93\8fã\82Ì\83}\83E\83XX\8dÀ\95W
+ * @param screenY \83X\83N\83\8a\81[\83\93\8fã\82Ì\83}\83E\83XY\8dÀ\95W
+ * @param mkey \93¯\8e\9e\82É\89\9f\82³\82ê\82½\83L\81[\83R\81[\83h @ref MKEY_CODE */
+ virtual void rightButtonDoubleClick(const int screenX,const int screenY,const DWORD mkey) = 0;
+
+ /** \83}\83E\83X\83J\81[\83\\83\8b\8dÀ\95W\82ª\95Ï\89»\82µ\82½.
+ * \83}\83E\83X\83J\81[\83\\83\8b\8dÀ\95W\82ª\95Ï\89»\82µ\82½\82Æ\82«\82É\8cÄ\82Ñ\8fo\82³\82ê\82é\83\81\83\\83b\83h\82Å\82·\81B
+ * @param screenX \83X\83N\83\8a\81[\83\93\8fã\82Ì\83}\83E\83XX\8dÀ\95W
+ * @param screenY \83X\83N\83\8a\81[\83\93\8fã\82Ì\83}\83E\83XY\8dÀ\95W
+ * @param mkey \93¯\8e\9e\82É\89\9f\82³\82ê\82½\83L\81[\83R\81[\83h @ref MKEY_CODE */
+ virtual void mouseMove(const int screenX,const int screenY,const DWORD mkey) = 0;
+
+ /** \83}\83E\83X\83z\83C\81[\83\8b\82Ì\88Ê\92u\82ª\95Ï\89»\82µ\82½.
+ * \83}\83E\83X\83z\83C\81[\83\8b\82Ì\88Ê\92u\82ª\95Ï\89»\82µ\82½\82Æ\82«\82É\8cÄ\82Ñ\8fo\82³\82ê\82é\83\81\83\\83b\83h\82Å\82·\81B
+ * @param screenX \83X\83N\83\8a\81[\83\93\8fã\82Ì\83}\83E\83XX\8dÀ\95W
+ * @param screenY \83X\83N\83\8a\81[\83\93\8fã\82Ì\83}\83E\83XY\8dÀ\95W
+ * @param mkey \93¯\8e\9e\82É\89\9f\82³\82ê\82½\83L\81[\83R\81[\83h @ref MKEY_CODE */
+ virtual void mouseWheel(const int screenX,const int screenY,const DWORD mkey) = 0;
+
+ /** \83}\83E\83X\83C\83x\83\93\83g\82ð\8eó\82¯\8eæ\82é\8fó\91Ô\82©\82Ç\82¤\82©\82ð\96â\82¢\8d\87\82í\82¹\82é.
+ * @retval true \8c»\8dÝ\83}\83E\83X\83C\83x\83\93\83g\82ð\8eó\82¯\8eæ\82Á\82Ä\82¢\82é
+ * @retval false \8c»\8dÝ\83}\83E\83X\83C\83x\83\93\83g\82ð\8b\91\94Û\82µ\82Ä\82¢\82é */
+ virtual const bool isListeningMouse(void) const = 0;
+
+ /** \83}\83E\83X\83C\83x\83\93\83g\82ð\94\8ds\82·\82éTalker\82ª\8dí\8f\9c\82³\82ê\82½.
+ * \83}\83E\83X\83C\83x\83\93\83g\82ð\94\8ds\82·\82éTalker\82ª\8dí\8f\9c\82³\82ê\82é\8e\9e\82É\8cÄ\82Î\82ê\82Ü\82·\81B
+ * \82±\82Ì\83\81\83\\83b\83h\82ª\8cÄ\82Î\82ê\82½\88È\8d~\82Í\81A\83\8a\83X\83i\81[\91¤\82ÍInput::removeMouseListener()\82ð\8cÄ\82Ñ\8fo\82µ\82Ä\82Í\82¢\82¯\82Ü\82¹\82ñ\81B*/
+ virtual void mouseTalkerIsDeleted(void) = 0;
+ };
+ };
+
+ /// \83L\81[\83{\81[\83h\8aÖ\98A\82Ì\92è\90\94\81E\83N\83\89\83X\82Í\82·\82×\82Ä\82±\82±\82É\8aÜ\82Ü\82ê\82Ü\82·\81B
+ namespace keyboard {
+ /// \93Á\8eê\83L\81[\83R\81[\83h
+ enum EXTEND_KEYCODE {
+ CONTROL = 0x1,///< \83R\83\93\83g\83\8d\81[\83\8b\83L\81[
+ SHIFT = 0x8///< \83V\83t\83g\83L\81[
+ };
+
+ /// \89¼\91z\83L\81[\83R\81[\83h
+ enum VIRTUAL_KEYCODE {
+ VKEY_LEFT = 0x25,///< \8d¶\83J\81[\83\\83\8b\83L\81[
+ VKEY_UP = 0x26,///< \8fã\83J\81[\83\\83\8b\83L\81[
+ VKEY_RIGHT = 0x27,///< \89E\83J\81[\83\\83\8b\83L\81[
+ VKEY_DOWN = 0x28///< \89º\83J\81[\83\\83\8b\83L\81[
+ };
+
+ /** \89¼\91z\83L\81[\83R\81[\83h\83N\83\89\83X.
+ * @note \82È\82º\82±\82ñ\82È\83N\83\89\83X\82ª\82 \82é\82Ì\82©\8c»\8dÝ\95s\96¾
+ */
+ class SFDLL VKey {
+ public:
+ static const int UP;///< \8fã\83J\81[\83\\83\8b\83L\81[
+ static const int DOWN;///< \89º\83J\81[\83\\83\8b\83L\81[
+ static const int LEFT;///< \8d¶\83J\81[\83\\83\8b\83L\81[
+ static const int RIGHT;///< \89E\83J\81[\83\\83\8b\83L\81[
+ };
+
+ /** \83L\81[\83{\81[\83h\83C\83x\83\93\83g\83\8a\83X\83i\81|.
+ *
+ * \83L\81[\83{\81[\83h\83C\83x\83\93\83g\82Ì\83\8a\83X\83i\81[\82Å\82·\81B\83L\81[\83{\81[\83h\82Ì\83C\83x\83\93\83g\82Í\82·\82×\82Ä\82±\82Ì\83\8a\83X\83i\81[\83C\83\93\83^\81[\83t\83F\81[\83X\82ð\92Ê\82¶\82Ä\8ds\82í\82ê\82Ü\82·\81B<br>
+ * \83L\81[\83{\81[\83h\83C\83x\83\93\83g\82ð\8f\88\97\9d\82µ\82½\82¢\8fê\8d\87\81A\82±\82Ì\83C\83\93\83^\81[\83t\83F\81[\83X\82ð\8cp\8f³\82µ\82Ä\8eÀ\91\95\82µ\81A\83C\83x\83\93\83g\82ð\94\8ds\82·\82éInput\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì
+ * Input::addKeyboardListener()\83\81\83\\83b\83h\82Å\93o\98^\82µ\82Ü\82·\81B*/
+ class Listener
+ {
+ public:
+ /** \83L\81[\82ª\89\9f\82³\82ê\82½.
+ * \83L\81[\82ª\89\9f\82³\82ê\82½\8fê\8d\87\82É\8cÄ\82Ñ\8fo\82³\82ê\82Ü\82·\81B
+ * @param keyCode \83L\81[\83R\81[\83h
+ * @param extKeyCode \8ag\92£\83L\81[\83R\81[\83h EXTEND_KEYCODE \82ð\8eQ\8fÆ */
+ virtual void keyDown(const DWORD keyCode,const DWORD extKeyCode) = 0;
+
+ /** \83L\81[\82ª\97£\82³\82ê\82½.
+ * \83L\81[\82ª\97£\82³\82ê\82½\8fê\8d\87\82É\8cÄ\82Ñ\8fo\82³\82ê\82Ü\82·\81B
+ * @param keyCode \83L\81[\83R\81[\83h
+ * @param extKeyCode \8ag\92£\83L\81[\83R\81[\83h @ref EXTEND_KEYCODE \82ð\8eQ\8fÆ */
+ virtual void keyUp(const DWORD keyCode,const DWORD extKeyCode) = 0;
+
+ /** \83L\81[\83{\81[\83h\83C\83x\83\93\83g\82ð\8eó\82¯\8eæ\82é\8fó\91Ô\82©\82Ç\82¤\82©\82ð\96â\82¢\8d\87\82í\82¹\82é.
+ * Talker\82ªListener\82ª\8c»\8dÝ\83L\81[\83{\81[\83h\83C\83x\83\93\83g\82ð\8eó\82¯\8eæ\82é\8fó\91Ô\82É\82 \82é\82©\82Ç\82¤\82©\8am\94F\82·\82é\82½\82ß\82Ì\83\81\83\\83b\83h\82Å\82·\81B<br>
+ * \88ê\8e\9e\93I\82É\83L\81[\83{\81[\83h\83C\83x\83\93\83g\82ð\8eó\82¯\8eæ\82è\82½\82\82È\82¢\8fê\8d\87\82Í\82±\82Ì\83\81\83\\83b\83h\82ª\8cÄ\82Î\82ê\82½\82Æ\82«\82Éfalse\82ð\95Ô\82µ\82Ü\82·\81B
+ * @retval true \8c»\8dÝ\83L\81[\83{\81[\83h\83C\83x\83\93\83g\82ð\8eó\82¯\8eæ\82Á\82Ä\82¢\82é
+ * @retval false \8c»\8dÝ\83L\81[\83{\81[\83h\83C\83x\83\93\83g\82ð\8b\91\94Û\82µ\82Ä\82¢\82é */
+ virtual const bool isListeningKeyboard(void) const = 0;
+
+ /** \83L\81[\83{\81[\83h\83C\83x\83\93\83g\82ð\94\8ds\82·\82éTalker\82ª\8dí\8f\9c\82³\82ê\82½.
+ * \83L\81[\83{\81[\83h\83C\83x\83\93\83g\82ð\94\8ds\82·\82éTalker\82ª\8dí\8f\9c\82³\82ê\82é\8e\9e\82É\8cÄ\82Î\82ê\82Ü\82·\81B<br>
+ * \82±\82ê\82ª\8cÄ\82Î\82ê\82½\82ç\81ATalker\8e©\90g\82Í\83\81\83\82\83\8a\8fã\82É\91¶\8dÝ\82µ\82È\82¢\82±\82Æ\82É\82È\82é\82Ì\82Å\81A
+ * \82±\82Ì\83\81\83\\83b\83h\82ª\8cÄ\82Î\82ê\82½\88È\8d~\82Í\81A\83\8a\83X\83i\81[\91¤\82Í\90â\91Î\82ÉInput::removeKeyboardListener()\82ð\8cÄ\82Ñ\8fo\82µ\82Ä\82Í\82¢\82¯\82Ü\82¹\82ñ\81B
+ * \8cë\82Á\82Ä\8cÄ\82Ñ\8fo\82µ\82½\8cã\82Ì\8fó\91Ô\82Í\95s\92è\82Æ\82È\82è\82Ü\82·\81B */
+ virtual void keyboardTalkerIsDeleted(void) = 0;
+ };
+ };
+
+ /// \93ü\97Í\8b@\8aí\83R\83\93\83g\83\8d\81[\83\8b.
+ /*! \83C\83\93\83v\83b\83g\83f\83o\83C\83X\82Ì\83R\83\93\83g\83\8d\81[\83\8b\82ð\8ds\82¤\83C\83\93\83^\81[\83t\83F\81[\83X\82Å\82· */
+ class Input
+ {
+ // LIFECYCLE //
+ public:
+ /// \83R\83\93\83X\83g\83\89\83N\83^
+ Input(){};
+ /// \83f\83X\83g\83\89\83N\83^
+ virtual ~Input(){};
+ // OPERATORS //
+ // OPERATIONS //
+ /// Input\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\8f\89\8aú\89»
+ /*! Input\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\8eÀ\91\95\83N\83\89\83X\82ð\8f\89\8aú\89»\82·\82é\82½\82ß\82É\97p\88Ó\82³\82ê\82Ä\82¢\82Ü\82·\81B<br>
+ \92Ê\8fí\83\89\83C\83u\83\89\83\8a\82ð\97\98\97p\82·\82é\91¤\82©\82ç\82±\82Ì\83\81\83\\83b\83h\82ð\8cÄ\82Ñ\8fo\82·\82±\82Æ\82Í\82 \82è\82Ü\82¹\82ñ\81B
+ @throw FatalErrorException \8f\89\8aú\89»\82É\8e¸\94s\82µ\82½\8fê\8d\87\82à\82µ\82\82Í\93ü\97Í\83f\83o\83C\83X\82ª\89½\82à\8c©\82Â\82©\82ç\82È\82©\82Á\82½\8fê\8d\87 */
+ virtual void initialize(void) = 0;
+
+ /** \93ü\97Í\83f\83o\83C\83X\82Ì\8fó\91Ô\82Ì\8dX\90V.
+ * \93ü\97Í\83f\83o\83C\83X\82Ì\8fó\91Ô\82ð\93Ç\82Ý\8eæ\82è\81A\8aÖ\98A\82·\82é\95Ï\90\94\82ð\8dX\90V\82µ\82Ü\82·\81B*/
+ virtual void update(void) = 0;
+
+ /** \83}\83E\83X\83\8a\83X\83i\81[\82Ì\93o\98^.
+ * mouse::Listener \82ð\93o\98^\82µ\82Ü\82·\81B<br>
+ * \83}\83E\83X\83C\83x\83\93\83g\82ð\8eó\82¯\8eæ\82è\82½\82¢\83N\83\89\83X\82Ímouse::Listener\83C\83\93\83^\81[\83t\83F\81[\83X\82ð\8eÀ\91\95\82µ\81A
+ * \82±\82Ì\83\81\83\\83b\83h\82Å\93o\98^\82·\82é\82±\82Æ\82É\82æ\82è\83}\83E\83X\83C\83x\83\93\83g\82ð\8eó\82¯\8eæ\82é\82±\82Æ\82ª\82Å\82«\82Ü\82·\81B
+ * @param pListener mouse::Listener \83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^ */
+ virtual void addMouseListener(mouse::Listener * const pListener) = 0;
+
+ /** \83}\83E\83X\83\8a\83X\83i\81[\82Ì\8dí\8f\9c.
+ * mouse::Listener \82ð\8dí\8f\9c\82µ\82Ü\82·\81B<br>
+ * mouse::Listener \8e©\90g\82ª\8dí\8f\9c\82³\82ê\82é\82Æ\82«\81A\82±\82Ì\83\81\83\\83b\83h\82ð\8cÄ\82Ñ\8fo\82µ\82Ä\81ATalker\82É\8e©\90g\82Ì\8dí\8f\9c\82ð\92Ê\92m\82µ\82Ü\82·\81B
+ * @param pListener mouse::Listener \83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^ */
+ virtual void removeMouseListener(mouse::Listener * const pListener) = 0;
+
+ /** \83L\81[\83{\81[\83h\83\8a\83X\83i\81[\82Ì\93o\98^.
+ * keyboard::Listener \82ð\93o\98^\82µ\82Ü\82·\81B<br>
+ * \83L\81[\83{\81[\83h\83C\83x\83\93\83g\82ð\8eó\82¯\8eæ\82è\82½\82¢\83N\83\89\83X\82Íkeyboard::Listener\83C\83\93\83^\81[\83t\83F\81[\83X\82ð\8eÀ\91\95\82µ\81A
+ * \82±\82Ì\83\81\83\\83b\83h\82Å\93o\98^\82·\82é\82±\82Æ\82É\82æ\82è\83L\81[\83{\81[\83h\83C\83x\83\93\83g\82ð\8eó\82¯\8eæ\82é\82±\82Æ\82ª\82Å\82«\82Ü\82·\81B
+ * @param pListener keyboard::Listener \83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^ */
+ virtual void addKeyboardListener(keyboard::Listener * const pListener) = 0;
+
+ /** \83L\81[\83{\81[\83h\83\8a\83X\83i\81[\82Ì\8dí\8f\9c.
+ * keyboard::Listener \82ð\8dí\8f\9c\82µ\82Ü\82·\81B<br>
+ * keyboard::Listener \8e©\90g\82ª\8dí\8f\9c\82³\82ê\82é\82Æ\82«\81A\82±\82Ì\83\81\83\\83b\83h\82ð\8cÄ\82Ñ\8fo\82µ\82Ä\81ATalker\82É\8e©\90g\82Ì\8dí\8f\9c\82ð\92Ê\92m\82µ\82Ü\82·\81B
+ * @param pListener keyboard::Listener \83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^ */
+ virtual void removeKeyboardListener(keyboard::Listener * const pListener) = 0;
+
+ // ACCESS //
+
+ /** \8d¶\83{\83^\83\93\82ª\89\9f\82³\82ê\82½\82©\82Ç\82¤\82©.
+ * \8d¶\83{\83^\83\93(\83W\83\87\83C\83X\83e\83B\83b\83N\81E\83J\81[\83\\83\8b\83L\81[\81j\82ª\89\9f\82³\82ê\82½\8fê\8d\87\82Étrue\82ð\95Ô\82µ\82Ü\82·\81B<br>
+ * @param bTrig false \82Ì\8e\9e\82Í\81A\89\9f\82µ\82Á\82Ï\82È\82µ\82Ì\8fê\8d\87\82Å\82àtrue\82ð\95Ô\8bp\82µ\82Ü\82·\81B<br>
+ * true\82Ì\8fê\8d\87\82Í\81A\8eÀ\8dÛ\82É\83{\83^\83\93\82ª\89\9f\82³\82ê\82½\82Æ\82«\82Ì\82Ý\81Atrue\82ð\95Ô\8bp\82µ\82Ü\82·\81B
+ * @retval true \83{\83^\83\93\82ª\89\9f\82³\82ê\82Ä\82¢\82é
+ * @retval false \83{\83^\83\93\82ª\89\9f\82³\82ê\82Ä\82¢\82È\82¢\81@*/
+ virtual const bool left(const bool bTrig = false) const = 0;
+
+ /** \89E\83{\83^\83\93\82ª\89\9f\82³\82ê\82½\82©\82Ç\82¤\82©.
+ * \89E\83{\83^\83\93(\83W\83\87\83C\83X\83e\83B\83b\83N\81E\83J\81[\83\\83\8b\83L\81[\81j\82ª\89\9f\82³\82ê\82½\8fê\8d\87\82Étrue\82ð\95Ô\82µ\82Ü\82·\81B<br>
+ * @param bTrig false \82Ì\8e\9e\82Í\81A\89\9f\82µ\82Á\82Ï\82È\82µ\82Ì\8fê\8d\87\82Å\82àtrue\82ð\95Ô\8bp\82µ\82Ü\82·\81B<br>
+ * true\82Ì\8fê\8d\87\82Í\81A\8eÀ\8dÛ\82É\83{\83^\83\93\82ª\89\9f\82³\82ê\82½\82Æ\82«\82Ì\82Ý\81Atrue\82ð\95Ô\8bp\82µ\82Ü\82·\81B
+ * @retval true \83{\83^\83\93\82ª\89\9f\82³\82ê\82Ä\82¢\82é
+ * @retval false \83{\83^\83\93\82ª\89\9f\82³\82ê\82Ä\82¢\82È\82¢\81@*/
+ virtual const bool right(const bool bTrig = false) const = 0;
+
+ /** \8fã\83{\83^\83\93\82ª\89\9f\82³\82ê\82½\82©\82Ç\82¤\82©.
+ * \8fã\83{\83^\83\93(\83W\83\87\83C\83X\83e\83B\83b\83N\81E\83J\81[\83\\83\8b\83L\81[\81j\82ª\89\9f\82³\82ê\82½\8fê\8d\87\82Étrue\82ð\95Ô\82µ\82Ü\82·\81B<br>
+ * @param bTrig false \82Ì\8e\9e\82Í\81A\89\9f\82µ\82Á\82Ï\82È\82µ\82Ì\8fê\8d\87\82Å\82àtrue\82ð\95Ô\8bp\82µ\82Ü\82·\81B<br>
+ * true\82Ì\8fê\8d\87\82Í\81A\8eÀ\8dÛ\82É\83{\83^\83\93\82ª\89\9f\82³\82ê\82½\82Æ\82«\82Ì\82Ý\81Atrue\82ð\95Ô\8bp\82µ\82Ü\82·\81B
+ * @retval true \83{\83^\83\93\82ª\89\9f\82³\82ê\82Ä\82¢\82é
+ * @retval false \83{\83^\83\93\82ª\89\9f\82³\82ê\82Ä\82¢\82È\82¢\81@*/
+ virtual const bool up(const bool bTrig = false) const = 0;
+
+ /** \89º\83{\83^\83\93\82ª\89\9f\82³\82ê\82½\82©\82Ç\82¤\82©.
+ * \89º\83{\83^\83\93(\83W\83\87\83C\83X\83e\83B\83b\83N\81E\83J\81[\83\\83\8b\83L\81[\81j\82ª\89\9f\82³\82ê\82½\8fê\8d\87\82Étrue\82ð\95Ô\82µ\82Ü\82·\81B<br>
+ * @param bTrig false \82Ì\8e\9e\82Í\81A\89\9f\82µ\82Á\82Ï\82È\82µ\82Ì\8fê\8d\87\82Å\82àtrue\82ð\95Ô\8bp\82µ\82Ü\82·\81B<br>
+ * true\82Ì\8fê\8d\87\82Í\81A\8eÀ\8dÛ\82É\83{\83^\83\93\82ª\89\9f\82³\82ê\82½\82Æ\82«\82Ì\82Ý\81Atrue\82ð\95Ô\8bp\82µ\82Ü\82·\81B
+ * @retval true \83{\83^\83\93\82ª\89\9f\82³\82ê\82Ä\82¢\82é
+ * @retval false \83{\83^\83\93\82ª\89\9f\82³\82ê\82Ä\82¢\82È\82¢\81@*/
+ virtual const bool down(const bool bTrig = false) const = 0;
+
+ /** A\83{\83^\83\93\82ª\89\9f\82³\82ê\82½\82©\82Ç\82¤\82©.
+ * A\83{\83^\83\93(\83W\83\87\83C\83X\83e\83B\83b\83N\82ÌA\83{\83^\83\93\81E\83L\81[\83{\81[\83h\82ÌZ\81j\82ª\89\9f\82³\82ê\82½\8fê\8d\87\82Étrue\82ð\95Ô\82µ\82Ü\82·\81B<br>
+ * @param bTrig false \82Ì\8e\9e\82Í\81A\89\9f\82µ\82Á\82Ï\82È\82µ\82Ì\8fê\8d\87\82Å\82àtrue\82ð\95Ô\8bp\82µ\82Ü\82·\81B<br>
+ * true\82Ì\8fê\8d\87\82Í\81A\8eÀ\8dÛ\82É\83{\83^\83\93\82ª\89\9f\82³\82ê\82½\82Æ\82«\82Ì\82Ý\81Atrue\82ð\95Ô\8bp\82µ\82Ü\82·\81B
+ * @retval true \83{\83^\83\93\82ª\89\9f\82³\82ê\82Ä\82¢\82é
+ * @retval false \83{\83^\83\93\82ª\89\9f\82³\82ê\82Ä\82¢\82È\82¢\81@*/
+ virtual const bool buttonA(const bool bTrig = false) const = 0;
+
+ /** B\83{\83^\83\93\82ª\89\9f\82³\82ê\82½\82©\82Ç\82¤\82©.
+ * B\83{\83^\83\93(\83W\83\87\83C\83X\83e\83B\83b\83N\82ÌB\83{\83^\83\93\81E\83L\81[\83{\81[\83h\82ÌX\81j\82ª\89\9f\82³\82ê\82½\8fê\8d\87\82Étrue\82ð\95Ô\82µ\82Ü\82·\81B<br>
+ * @param bTrig false \82Ì\8e\9e\82Í\81A\89\9f\82µ\82Á\82Ï\82È\82µ\82Ì\8fê\8d\87\82Å\82àtrue\82ð\95Ô\8bp\82µ\82Ü\82·\81B<br>
+ * true\82Ì\8fê\8d\87\82Í\81A\8eÀ\8dÛ\82É\83{\83^\83\93\82ª\89\9f\82³\82ê\82½\82Æ\82«\82Ì\82Ý\81Atrue\82ð\95Ô\8bp\82µ\82Ü\82·\81B
+ * @retval true \83{\83^\83\93\82ª\89\9f\82³\82ê\82Ä\82¢\82é
+ * @retval false \83{\83^\83\93\82ª\89\9f\82³\82ê\82Ä\82¢\82È\82¢\81@*/
+ virtual const bool buttonB(const bool bTrig = false) const = 0;
+
+ /** C\83{\83^\83\93\82ª\89\9f\82³\82ê\82½\82©\82Ç\82¤\82©.
+ * C\83{\83^\83\93(\83W\83\87\83C\83X\83e\83B\83b\83N\82ÌC\83{\83^\83\93\81E\83L\81[\83{\81[\83h\82ÌC\81j\82ª\89\9f\82³\82ê\82½\8fê\8d\87\82Étrue\82ð\95Ô\82µ\82Ü\82·\81B<br>
+ * @param bTrig false \82Ì\8e\9e\82Í\81A\89\9f\82µ\82Á\82Ï\82È\82µ\82Ì\8fê\8d\87\82Å\82àtrue\82ð\95Ô\8bp\82µ\82Ü\82·\81B<br>
+ * true\82Ì\8fê\8d\87\82Í\81A\8eÀ\8dÛ\82É\83{\83^\83\93\82ª\89\9f\82³\82ê\82½\82Æ\82«\82Ì\82Ý\81Atrue\82ð\95Ô\8bp\82µ\82Ü\82·\81B
+ * @retval true \83{\83^\83\93\82ª\89\9f\82³\82ê\82Ä\82¢\82é
+ * @retval false \83{\83^\83\93\82ª\89\9f\82³\82ê\82Ä\82¢\82È\82¢\81@*/
+ virtual const bool buttonC(const bool bTrig = false) const = 0;
+
+ /** D\83{\83^\83\93\82ª\89\9f\82³\82ê\82½\82©\82Ç\82¤\82©.
+ * D\83{\83^\83\93(\83W\83\87\83C\83X\83e\83B\83b\83N\82ÌD\83{\83^\83\93\81E\83L\81[\83{\81[\83h\82ÌV\81j\82ª\89\9f\82³\82ê\82½\8fê\8d\87\82Étrue\82ð\95Ô\82µ\82Ü\82·\81B<br>
+ * @param bTrig false \82Ì\8e\9e\82Í\81A\89\9f\82µ\82Á\82Ï\82È\82µ\82Ì\8fê\8d\87\82Å\82àtrue\82ð\95Ô\8bp\82µ\82Ü\82·\81B<br>
+ * true\82Ì\8fê\8d\87\82Í\81A\8eÀ\8dÛ\82É\83{\83^\83\93\82ª\89\9f\82³\82ê\82½\82Æ\82«\82Ì\82Ý\81Atrue\82ð\95Ô\8bp\82µ\82Ü\82·\81B
+ * @retval true \83{\83^\83\93\82ª\89\9f\82³\82ê\82Ä\82¢\82é
+ * @retval false \83{\83^\83\93\82ª\89\9f\82³\82ê\82Ä\82¢\82È\82¢\81@*/
+ virtual const bool buttonD(const bool bTrig = false) const = 0;
+
+ /** start\83{\83^\83\93\82ª\89\9f\82³\82ê\82½\82©\82Ç\82¤\82©.
+ * start\83{\83^\83\93(\83W\83\87\83C\83X\83e\83B\83b\83N\82ÌA\83{\83^\83\93\81E\83L\81[\83{\81[\83h\82Ìspace\81j\82ª\89\9f\82³\82ê\82½\8fê\8d\87\82Étrue\82ð\95Ô\82µ\82Ü\82·\81B<br>
+ * @param bTrig false \82Ì\8e\9e\82Í\81A\89\9f\82µ\82Á\82Ï\82È\82µ\82Ì\8fê\8d\87\82Å\82àtrue\82ð\95Ô\8bp\82µ\82Ü\82·\81B<br>
+ * true\82Ì\8fê\8d\87\82Í\81A\8eÀ\8dÛ\82É\83{\83^\83\93\82ª\89\9f\82³\82ê\82½\82Æ\82«\82Ì\82Ý\81Atrue\82ð\95Ô\8bp\82µ\82Ü\82·\81B
+ * @retval true \83{\83^\83\93\82ª\89\9f\82³\82ê\82Ä\82¢\82é
+ * @retval false \83{\83^\83\93\82ª\89\9f\82³\82ê\82Ä\82¢\82È\82¢\81@*/
+ virtual const bool start(const bool bTrig = false) const = 0;
+
+ /** exit\83{\83^\83\93\82ª\89\9f\82³\82ê\82½\82©\82Ç\82¤\82©.
+ * exit\83{\83^\83\93(\83L\81[\83{\81[\83h\82ÌESC\81j\82ª\89\9f\82³\82ê\82½\8fê\8d\87\82Étrue\82ð\95Ô\82µ\82Ü\82·\81B<br>
+ * @param bTrig false \82Ì\8e\9e\82Í\81A\89\9f\82µ\82Á\82Ï\82È\82µ\82Ì\8fê\8d\87\82Å\82àtrue\82ð\95Ô\8bp\82µ\82Ü\82·\81B<br>
+ * true\82Ì\8fê\8d\87\82Í\81A\8eÀ\8dÛ\82É\83{\83^\83\93\82ª\89\9f\82³\82ê\82½\82Æ\82«\82Ì\82Ý\81Atrue\82ð\95Ô\8bp\82µ\82Ü\82·\81B
+ * @retval true \83{\83^\83\93\82ª\89\9f\82³\82ê\82Ä\82¢\82é
+ * @retval false \83{\83^\83\93\82ª\89\9f\82³\82ê\82Ä\82¢\82È\82¢\81@*/
+ virtual const bool exit(const bool bTrig = false) const = 0;
+
+ /** \83}\83E\83X\83J\81[\83\\83\8b\82ð\95\\8e¦\82·\82é */
+ virtual void showMouseCursor(void) = 0;
+ /** \83}\83E\83X\83J\81[\83\\83\8b\82ð\89B\82· */
+ virtual void hideMouseCursor(void) = 0;
+ /** \8c»\8dÝ\82Ì\83}\83E\83X\83J\81[\83\\83\8b\82Ì\8fó\91Ô\82ð\96â\82¢\8d\87\82í\82¹\82é
+ @retval true \83}\83E\83X\83J\81[\83\\83\8b\82Í\95\\8e¦\82³\82ê\82Ä\82¢\82Ü\82·\81B
+ @retval false \83}\83E\83X\83J\81[\83\\83\8b\82Í\94ñ\95\\8e¦\82Æ\82È\82Á\82Ä\82¢\82Ü\82·\81B*/
+ virtual const bool mouseCursorVisibility(void) const = 0;
+
+ // INQUIRY //
+ /** \8c»\8dÝ\82ÌInput\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\8fó\91Ô\82ð\96â\82¢\8d\87\82í\82¹\82é
+ * @retval true \8c»\8dÝ\81A\97\98\97p\89Â\94\\82Å\82·\81B
+ * @retval false \8c»\8dÝ\81A\97\98\97p\95s\89Â\94\\82Å\82·\81B*/
+ virtual const bool isEnabled(void) const = 0;
+ };
+ // ----------------------------------------------------------------
+ /// \83C\83x\83\93\83g\83\8a\83X\83i\81[\83N\83\89\83X
+ // ----------------------------------------------------------------
+ class Listener
+ {
+ public:
+ virtual void deviceStateChanged(Input * const pInput) = 0;
+ virtual void eventTalkerIsDeleted(void) = 0;
+ };// Listener
+
+
+ }// namespace input
+ }// namespace system
+}// namespace sf
+}
+#endif // !defined(AFX_INPUT_H__D4B94DF3_02D8_42CE_AC7A_A98CCC9D0115__INCLUDED_)
--- /dev/null
+/**
+ * @file
+ * @brief \93ü\97Í\81i\83L\81[\83{\81[\83h\81E\83}\83E\83X\81E\83W\83\87\83C\83X\83e\83B\83b\83N\81j\82Ì\8eÀ\91\95\82É\82©\82©\82í\82é\83N\83\89\83X\81A\92è\90\94\92è\8b`\82È\82Ç\82ð\8ds\82¤.
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+#define WIN32_LEAN_AND_MEAN
+#define _WIN32_WINNT 0x0400
+#include "math.h"
+#include <list>
+#include <queue>
+#include <memory>
+#include <map>
+
+#include "windows.h"
+#include "windowsx.h"
+#include "d3d8.h"
+#include "d3dx8.h"
+#include "dmusici.h"
+#include "dinput.h"
+#include "dxerr8sf.h"
+
+// PROJECT INCLUDES
+//
+
+#include "exception.h"
+#include "resource.h"
+#include "System.h"
+#include "Console.h"
+#include "Obj.h"
+#include "singleton.h"
+#include "AbstractSprite.h"
+#include "ConsoleImpl.h"
+#include "SoundImpl.h"
+
+
+#include "InputImpl.h"
+#include "Main.h"
+#include "SystemWin32.h"
+#include "SystemImpl.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+
+using namespace sf::system::input;
+
+// \83f\83t\83H\83\8b\83g\83R\83\93\83X\83g\83\89\83N\83^ ---------------------------------------------------
+InputImpl::InputImpl()
+{
+
+}
+
+// \83R\83\93\83X\83g\83\89\83N\83^ -------------------------------------------------------------
+InputImpl::InputImpl(HWND hwnd)
+{
+ mHWND = hwnd;
+// initialize();
+}
+
+// \83f\83X\83g\83\89\83N\83^ ---------------------------------------------------------------
+InputImpl::~InputImpl()
+{
+ uninitialize();
+}// ~InputImpl()
+
+// \8f\89\8aú\89» ---------------------------------------------------------------------
+void InputImpl::initialize(void)
+{
+
+ mpDI = NULL;
+ mpJoystick = NULL;
+ mpKeyboard = NULL;
+ mbEnabled = false;
+
+ mbLeft = false;
+ mbRight = false;
+ mbUp = false;
+ mbDown = false;
+
+ mbButtonA = false;
+ mbButtonB = false;
+ mbButtonC = false;
+ mbButtonD = false;
+
+ mbStart = false;
+ mbExit = false;
+
+ mbBeforeLeft = false;
+ mbBeforeRight = false;
+ mbBeforeUp = false;
+ mbBeforeDown = false;
+
+ mbBeforeButtonA = false;
+ mbBeforeButtonB = false;
+ mbBeforeButtonC = false;
+ mbBeforeButtonD = false;
+
+ mbBeforeStart = false;
+ mbBeforeExit = false;
+// uninitialize();
+ mbEnabled = false;
+ mbMouseCursor = false;
+
+ HRESULT hr;
+
+
+ // DirectInput \83I\83u\83W\83F\83N\83g\82Ì\90¶\90¬
+ if( FAILED( hr = DirectInput8Create( GetModuleHandle(NULL), DIRECTINPUT_VERSION,
+ IID_IDirectInput8, (VOID**)&mpDI, NULL ) ) )
+ { std::string tmp("DirectInput8Create() Error : ");
+ tmp += DXGetErrorString8(hr);
+ tmp += " ";
+ throw FatalErrorException(tmp,__FILE__,__LINE__);
+ }
+
+ // Joystick\82Ì\8f\89\8aú\89»
+ try {
+ initJoystick();
+ } catch (RecoverbleErrorException e)
+ {
+ if(mpJoystick != NULL){
+ mpJoystick->Release();
+ mpJoystick = NULL;
+ }
+ } catch (...){
+ throw;
+ }
+
+
+ // KeyBoard\82Ì\8f\89\8aú\89»
+
+ try {
+ initKeyboard();
+ } catch (RecoverbleErrorException e) {
+ if(mpKeyboard != NULL)
+ {
+ mpKeyboard->Release();
+ mpKeyboard = NULL;
+ }
+
+ } catch (...){
+ throw;
+ }
+
+ // \93ü\97Í\83f\83o\83C\83X\82ª\91¶\8dÝ\82µ\82È\82¢\8fê\8d\87\82Í\81A\83G\83\89\81[\82Å\8fI\97¹\82·\82é\81B
+
+ if(NULL == mpJoystick && NULL == mpKeyboard)
+ {
+ throw FatalErrorException("InputImpl Device Not Found\r\n",__FILE__,__LINE__);
+ };
+
+ addWindowMessageMap();
+
+ mbEnabled = true;
+}// intialize()
+
+// \8fI\97¹ -----------------------------------------------------------------------
+void InputImpl::uninitialize(void)
+{
+ KeyboardListenerList::iterator it = mKeyboardListenerList.begin();
+
+ while(it != mKeyboardListenerList.end())
+ {
+ if(*it != NULL){
+ (*it)->keyboardTalkerIsDeleted();
+// ++it;
+ }
+ it = mKeyboardListenerList.erase(it);
+ }
+
+ it = mKeyboardListenerQ.begin();
+
+ while(it != mKeyboardListenerQ.end())
+ {
+ if(*it != NULL){
+ (*it)->keyboardTalkerIsDeleted();
+
+ }
+ it = mKeyboardListenerQ.erase(it);
+ }
+
+ MouseListenerList::iterator itm = mMouseListenerList.begin();
+
+ while(itm != mMouseListenerList.end())
+ {
+ if(*itm != NULL){
+ (*itm)->mouseTalkerIsDeleted();
+// ++itm;
+ }
+ itm = mMouseListenerList.erase(itm);
+ }
+
+ itm = mMouseListenerQ.begin();
+
+ while(itm != mMouseListenerQ.end())
+ {
+ if(*itm != NULL){
+ (*itm)->mouseTalkerIsDeleted();
+// ++itm;
+ }
+ itm = mMouseListenerQ.erase(itm);
+ }
+
+ if(mpJoystick){
+ mpJoystick->Release();
+ mpJoystick = NULL;
+ }
+
+ if(mpKeyboard){
+ mpKeyboard->Release();
+ mpKeyboard = NULL;
+ }
+
+ if(mpDI){
+ mpDI->Release();
+ mpDI = NULL;
+ }
+
+}// uninitialize()
+
+// \83W\83\87\83C\83X\83e\83B\83b\83N\83f\83o\83C\83X\97ñ\8b\93\97p\83R\81[\83\8b\83o\83b\83N ---------------------------------
+BOOL InputImpl::enumJoysticksCallback(const DIDEVICEINSTANCE *pdidInstance)
+{
+ HRESULT hr;
+
+ // Obtain an interface to the enumerated joystick.
+ hr = mpDI->CreateDevice( pdidInstance->guidInstance, &mpJoystick, NULL );
+
+ // If it failed, then we can't use this joystick. (Maybe the user unplugged
+ // it while we were in the middle of enumerating it.)
+ if( FAILED(hr) )
+ return DIENUM_CONTINUE;
+
+ // Stop enumeration. Note: we're just taking the first joystick we get. You
+ // could store all the enumerated joysticks and let the user pick.
+ return DIENUM_STOP;
+}
+
+
+// \83W\83\87\83C\83X\83e\83B\83b\83N\82Ì\8f\89\8aú\89» ---------------------------------------------------
+void InputImpl::initJoystick(void)
+{
+
+ HRESULT hr = E_FAIL;
+
+ // DirectInput\83f\83o\83C\83X\82Ì\97ñ\8b\93
+ if( FAILED(hr = mpDI->EnumDevices( DI8DEVCLASS_GAMECTRL,
+ enumJoysticksCallback,
+ (VOID*)this, DIEDFL_ATTACHEDONLY ) ) )
+ {
+ throw RecoverbleErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+ }
+
+ // Make sure we got a joystick
+ if( NULL == mpJoystick )
+ { throw RecoverbleErrorException(" NULL == mpJoystick",__FILE__,__LINE__);}
+
+ if( FAILED(mpJoystick->SetDataFormat( &c_dfDIJoystick2 ) ) )
+ {
+ throw RecoverbleErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+ }
+
+ // Set the cooperative level to let DInputImpl know how this device should
+ // interact with the system and with other DInputImpl applications.
+ if( FAILED(mpJoystick->SetCooperativeLevel( mHWND, DISCL_EXCLUSIVE |
+ DISCL_FOREGROUND ) ) )
+ {
+ throw RecoverbleErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);}
+
+ // Determine how many axis the joystick has (so we don't error out setting
+ // properties for unavailable axis)
+ mDIJoystickDevCaps.dwSize = sizeof(DIDEVCAPS);
+ if ( FAILED(mpJoystick->GetCapabilities(&mDIJoystickDevCaps) ) )
+ {
+ throw RecoverbleErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+
+ }
+
+
+ // Enumerate the axes of the joyctick and set the range of each axis. Note:
+ // we could just use the defaults, but we're just trying to show an example
+ // of enumerating device objects (axes, buttons, etc.).
+ if ( FAILED(mpJoystick->EnumObjects( enumAxesCallback,
+ (VOID*)this, DIDFT_AXIS ) ) )
+ {
+ throw RecoverbleErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+
+ }
+}// InitJoystick()
+
+// \83W\83\87\83C\83X\83e\83B\83b\83N\82Ì\90Ý\92è\83R\81[\83\8b\83o\83b\83N\81@-------------------------------------------------
+BOOL InputImpl::enumAxesCallback( const DIDEVICEOBJECTINSTANCE* pdidoi)
+{
+
+ DIPROPRANGE diprg;
+ diprg.diph.dwSize = sizeof(DIPROPRANGE);
+ diprg.diph.dwHeaderSize = sizeof(DIPROPHEADER);
+ diprg.diph.dwHow = DIPH_BYID;
+ diprg.diph.dwObj = pdidoi->dwType; // Specify the enumerated axis
+ diprg.lMin = -1000;
+ diprg.lMax = +1000;
+
+ // Set the range for the axis
+ if( FAILED( mpJoystick->SetProperty( DIPROP_RANGE, &diprg.diph ) ) )
+ {
+ return DIENUM_STOP;
+ }
+
+ return DIENUM_CONTINUE;
+}// enumAxesCallback
+
+// \83L\81[\83{\81[\83h\83f\83o\83C\83X\82Ì\8f\89\8aú\89» -------------------------------------------------
+void InputImpl::initKeyboard(void)
+{
+ HRESULT hr = E_FAIL;
+
+ // \83L\81[\83{\81[\83h\83f\83o\83C\83X\82Ì\8dì\90¬
+ if( FAILED( hr = mpDI->CreateDevice( GUID_SysKeyboard, &mpKeyboard, NULL ) ) )
+ { //system::instance()->outputError(DXGetErrorString8(hr));
+ throw RecoverbleErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+ }
+
+ if( FAILED( hr = mpKeyboard->SetDataFormat( &c_dfDIKeyboard ) ) )
+ {
+ //system::instance()->outputError(DXGetErrorString8(hr));
+ throw RecoverbleErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+ }
+
+ // \8b¦\92²\83\8c\83x\83\8b\82Ì\90Ý\92è
+ if(FAILED(mpKeyboard->SetCooperativeLevel( mHWND, DISCL_NONEXCLUSIVE | DISCL_FOREGROUND )))
+ {
+ throw RecoverbleErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);
+ }
+
+ // Acquire the newly created device
+ mpKeyboard->Acquire();
+}// initKeyboard
+
+// \83L\81[\83{\81[\83h\81E\83W\83\87\83C\83X\83e\83B\83b\83N\82Ì\8c»\8dÝ\82Ì\8fó\91Ô\82ð\8eæ\93¾ -----------------------------
+void InputImpl::update(void)
+{
+ HRESULT hr = E_FAIL;
+ bool b_joystick = false;
+ bool b_keyboard = false;
+
+ // \83W\83\87\83C\83X\83e\83B\83b\83N\82Ì\8c»\8dÝ\8fó\91Ô\82ð\8eæ\93¾ //
+ if(mpJoystick){
+ mpJoystick->Poll();
+ hr = mpJoystick->GetDeviceState(sizeof(DIJOYSTATE2),(LPVOID)&mDIJoyState);
+ if(FAILED(hr)){
+ mpJoystick->Acquire();
+ while( hr == DIERR_INPUTLOST )
+ hr = mpJoystick->Acquire();
+ } else {
+ b_joystick = true;
+ }
+
+
+ }
+
+ // \83L\81[\83{\81[\83h\82Ì\8c»\8dÝ\8fó\91Ô\82ð\8eæ\93¾ //
+ if(mpKeyboard){
+// ZeroMemory( &mDIKeys, sizeof(mDIKeys) );
+ hr = mpKeyboard->GetDeviceState(sizeof(mDIKeys),(LPVOID)&mDIKeys);
+ if(FAILED(hr)){
+#ifdef _DEBUG
+ OutputDebugString(DXGetErrorString8(hr));
+#endif
+ mpKeyboard->Acquire();
+ while( hr == DIERR_INPUTLOST )
+ hr = mpKeyboard->Acquire();
+ } else {
+ b_keyboard = true;
+ }
+ }
+
+ //
+ mbBeforeLeft = mbLeft;
+ mbBeforeRight = mbRight;
+ mbBeforeUp = mbUp;
+ mbBeforeDown = mbDown;
+
+ mbBeforeButtonA = mbButtonA;
+ mbBeforeButtonB = mbButtonB;
+ mbBeforeButtonC = mbButtonC;
+ mbBeforeButtonD = mbButtonD;
+
+ mbBeforeStart = mbStart;
+ mbBeforeExit = mbExit;
+
+ mbLeft = mbRight = mbUp = mbDown = false;
+ mbButtonA = mbButtonB = mbButtonC = mbButtonD = false;
+ mbStart = mbExit = false;
+
+
+ if(b_joystick){
+
+ if(mDIJoyState.lX > 300){
+ mbRight = true;
+ } else {
+ if(mDIJoyState.lX < -300)
+ {
+
+ mbLeft = true;
+ }
+ }
+
+ if(mDIJoyState.lY > 300)
+ mbDown = true;
+ else
+ if(mDIJoyState.lY < -300)
+ mbUp = true;
+
+ if(mDIJoyState.rgbButtons[0])
+ {
+ mbButtonA = true;
+ mbStart = true;
+ }
+
+ if(mDIJoyState.rgbButtons[1])
+ mbButtonB = true;
+
+ if(mDIJoyState.rgbButtons[2])
+ mbButtonC = true;
+
+ if(mDIJoyState.rgbButtons[3])
+ mbButtonD = true;
+ }
+
+ if(b_keyboard){
+
+ if(mDIKeys[DIK_LEFT] & 0x80)
+ mbLeft = true;
+
+ if(mDIKeys[DIK_RIGHT] & 0x80)
+ mbRight = true;
+
+ if(mDIKeys[DIK_UP] & 0x80)
+ mbUp = true;
+
+ if(mDIKeys[DIK_DOWN] & 0x80)
+ mbDown = true;
+
+ if(mDIKeys[DIK_Z] & 0x80)
+ mbButtonA = true;
+
+ if(mDIKeys[DIK_X] & 0x80)
+ mbButtonB = true;
+
+ if(mDIKeys[DIK_C] & 0x80)
+ mbButtonC = true;
+
+ if(mDIKeys[DIK_V] & 0x80)
+ mbButtonD = true;
+
+ if(mDIKeys[DIK_SPACE] & 0x80)
+ mbStart = true;
+
+ if(mDIKeys[DIK_ESCAPE] & 0x80)
+ mbExit = true;
+
+ }
+
+ // \83C\83x\83\93\83g\83\8a\83X\83i\81[Q\81¨\83C\83x\83\93\83g\83\8a\83X\83i\81[\83\8a\83X\83g\82Ö //
+ MouseListenerList::iterator it = mMouseListenerQ.begin();
+
+ while(it != mMouseListenerQ.end())
+ {
+ if(*it != NULL){
+ mMouseListenerList.push_back(*it);
+ }
+ it = mMouseListenerQ.erase(it);
+
+ }
+
+ KeyboardListenerList::iterator itk = mKeyboardListenerQ.begin();
+
+ while(itk != mKeyboardListenerQ.end())
+ {
+ if(*itk != NULL){
+ mKeyboardListenerList.push_back(*itk);
+ }
+ itk = mKeyboardListenerQ.erase(itk);
+ }
+}// update()
+
+LRESULT InputImpl::onSetCursor(const HWND hwnd, const WPARAM wParam, const LPARAM lParam)
+{
+ if(system::instance()->isActive() && !mouseCursorVisibility())
+ {
+ SetCursor(NULL);//\83}\83E\83X\83J\81[\83\\83\8b\82ð\8fÁ\82·\81B
+ return 0;
+ }
+ return DefWindowProc (hwnd, WM_SETCURSOR,wParam, lParam);
+}// onSetCursor()
+
+// \83}\83E\83X\82Ì\8d¶\83{\83^\83\93\82ª\89\9f\82³\82ê\82½ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+LRESULT InputImpl::onLButtonDown(const HWND hwnd, const WPARAM wParam, const LPARAM lParam)
+{
+ return callMouseListenerMethod(hwnd,wParam,lParam,input::mouse::Listener::leftButtonDown);
+}// onLButtonDown()
+
+// \83}\83E\83X\82Ì\8d¶\83{\83^\83\93\82ª\97£\82³\82ê\82½ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+LRESULT InputImpl::onLButtonUp(const HWND hwnd, const WPARAM wParam, const LPARAM lParam)
+{
+ return callMouseListenerMethod(hwnd,wParam,lParam,input::mouse::Listener::leftButtonUp);
+}// onLButtonUp()
+
+// \83}\83E\83X\82Ì\8d¶\83{\83^\83\93\82ª\83_\83u\83\8b\83N\83\8a\83b\83N\82³\82ê\82½\81@\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+LRESULT InputImpl::onLButtonDoubleClick(const HWND hwnd, const WPARAM wParam, const LPARAM lParam)
+{
+ return callMouseListenerMethod(hwnd,wParam,lParam,input::mouse::Listener::leftButtonDoubleClick);
+}// onLButtonDoubleClick()
+
+// \83}\83E\83X\82Ì\89E\83{\83^\83\93\82ª\97£\82³\82ê\82½ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+LRESULT InputImpl::onRButtonDown(const HWND hwnd, const WPARAM wParam, const LPARAM lParam)
+{
+ return callMouseListenerMethod(hwnd,wParam,lParam,input::mouse::Listener::rightButtonDown);
+}// onRButtonDown()
+
+// \83}\83E\83X\82Ì\89E\83{\83^\83\93\82ª\89\9f\82³\82ê\82½ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+LRESULT InputImpl::onRButtonUp(const HWND hwnd, const WPARAM wParam, const LPARAM lParam)
+{
+ return callMouseListenerMethod(hwnd,wParam,lParam,input::mouse::Listener::rightButtonUp);
+}// onRButtonUp()
+
+// \83}\83E\83X\82Ì\89E\83{\83^\83\93\82ª\83_\83u\83\8b\83N\83\8a\83b\83N\82³\82ê\82½\81@\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+LRESULT InputImpl::onRButtonDoubleClick(const HWND hwnd, const WPARAM wParam, const LPARAM lParam)
+{
+ return callMouseListenerMethod(hwnd,wParam,lParam,input::mouse::Listener::rightButtonDoubleClick);
+}// onRButtonDoubleClick()
+
+// \83}\83E\83X\82ª\93®\82¢\82½\81@\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+LRESULT InputImpl::onMouseMove(const HWND hwnd, const WPARAM wParam, const LPARAM lParam)
+{
+ return callMouseListenerMethod(hwnd,wParam,lParam,input::mouse::Listener::mouseMove);
+}// onMouseMove()
+
+// \83z\83C\81[\83\8b\82ª\93®\82¢\82½\81@\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+LRESULT InputImpl::onMouseWheel(const HWND hwnd, const WPARAM wParam, const LPARAM lParam)
+{
+ return callMouseListenerMethod(hwnd,wParam,lParam,input::mouse::Listener::mouseWheel);
+}// onMouseWheel()
+
+// MouseListener\82Ì\83\81\83\\83b\83h\82ð\8cÄ\82Ñ\8fo\82· \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+LRESULT InputImpl::callMouseListenerMethod(const HWND hwnd, const WPARAM wParam, const LPARAM lParam,void(mouse::Listener::* pMethod)(const int,const int,const DWORD))
+{
+ using namespace sf::system::input;
+
+ if(mMouseListenerList.size() == 0)
+ return 0;
+
+ POINT pt;
+
+ pt.x = LOWORD(lParam);
+ pt.y = HIWORD(lParam);
+
+ ClientToScreen(hwnd,&pt);
+
+ DWORD mkey = 0;
+
+ if(MK_CONTROL & wParam)
+ mkey |= mouse::MKEY_CONTROL;
+
+ if(MK_SHIFT & wParam)
+ mkey |= mouse::MKEY_SHIFT;
+
+ mkey |= (wParam & 0xffff0000);
+
+
+ MouseListenerList::iterator it = mMouseListenerList.begin();
+
+ while(it != mMouseListenerList.end())
+ {
+ if(*it == NULL){
+ it = mMouseListenerList.erase(it);
+ } else {
+ if((*it)->isListeningMouse()){
+ ((*it)->*pMethod)(pt.x,pt.y,mkey);
+ }
+ ++it;
+ }
+ }
+
+ return 0;
+}// callListener
+
+// \83L\81[\89\9f\89º\8e\9e\82Ì\8f\88\97\9d -----------------------------------------------------------
+LRESULT InputImpl::onKeyDown(const HWND hwnd, const WPARAM wParam, const LPARAM lParam)
+{
+ DWORD extKey = 0;
+
+ // \82Æ\82è\82 \82¦\82¸\81AESC\83L\81[\82ª\89\9f\82³\82ê\82½\82ç\8fI\97¹\82·\82é\82æ\82¤\82É\82µ\82Ä\82¢\82é
+ switch(wParam)
+ {
+ case 'Q':
+ PostMessage( hwnd, WM_CLOSE, 0, 0L );
+ break;
+ default:
+
+ if(GetAsyncKeyState(VK_SHIFT))
+ extKey |= keyboard::SHIFT;
+
+ if(GetAsyncKeyState(VK_CONTROL))
+ extKey |= keyboard::CONTROL;
+
+
+ KeyboardListenerList::iterator it = mKeyboardListenerList.begin();
+
+ while(it != mKeyboardListenerList.end())
+ {
+ if(*it == NULL){
+ it = mKeyboardListenerList.erase(it);
+ } else {
+ if((*it)->isListeningKeyboard()){
+ (*it)->keyDown(wParam,extKey);
+ }
+ ++it;
+ }
+ }
+
+ }
+ return 0; // WM_KEYDOWN
+}// onKeyDown
+
+// \83L\81[\82ª\97£\82³\82ê\82½\8e\9e\82Ì\8f\88\97\9d -----------------------------------------------------------
+LRESULT InputImpl::onKeyUp(const HWND hwnd, const WPARAM wParam, const LPARAM lParam)
+{
+ return 0;
+}// onKeyUp
+
+// \83E\83B\83\93\83h\83E\83\81\83b\83Z\81[\83W\83n\83\93\83h\83\89\82ðSystemImpl\82É\93o\98^ \81|\81|\81|\81|\81|\81|\81|\81|
+void InputImpl::addWindowMessageMap()
+{
+ SystemImpl *pSys = dynamic_cast<SystemImpl *>(system::instance());
+
+ pSys->addWindowMessage(WM_SETCURSOR, new WindowMessageImpl<InputImpl>(this,&InputImpl::onSetCursor));
+ pSys->addWindowMessage(WM_LBUTTONDOWN,new WindowMessageImpl<InputImpl>(this,&InputImpl::onLButtonDown));
+ pSys->addWindowMessage(WM_LBUTTONUP,new WindowMessageImpl<InputImpl>(this,&InputImpl::onLButtonUp));
+ pSys->addWindowMessage(WM_LBUTTONDBLCLK,new WindowMessageImpl<InputImpl>(this,&InputImpl::onLButtonDoubleClick));
+
+ pSys->addWindowMessage(WM_RBUTTONDOWN,new WindowMessageImpl<InputImpl>(this,&InputImpl::onRButtonDown));
+ pSys->addWindowMessage(WM_RBUTTONUP,new WindowMessageImpl<InputImpl>(this,&InputImpl::onRButtonUp));
+ pSys->addWindowMessage(WM_RBUTTONDBLCLK,new WindowMessageImpl<InputImpl>(this,&InputImpl::onRButtonDoubleClick));
+
+ pSys->addWindowMessage(WM_MOUSEMOVE,new WindowMessageImpl<InputImpl>(this,&InputImpl::onMouseMove));
+ pSys->addWindowMessage(WM_MOUSEWHEEL,new WindowMessageImpl<InputImpl>(this,&InputImpl::onMouseWheel));
+
+ pSys->addWindowMessage(WM_KEYDOWN,new WindowMessageImpl<InputImpl>(this,&InputImpl::onKeyDown));
+ pSys->addWindowMessage(WM_KEYUP,new WindowMessageImpl<InputImpl>(this,&InputImpl::onKeyUp));
+
+}
--- /dev/null
+/**
+ * @file
+ * @brief \93ü\97Í\81i\83L\81[\83{\81[\83h\81E\83}\83E\83X\81E\83W\83\87\83C\83X\83e\83B\83b\83N\81j\82Ì\8eÀ\91\95\82É\82©\82©\82í\82é\83N\83\89\83X\81A\92è\90\94\92è\8b`\82È\82Ç\82ð\8ds\82¤.
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+/// \93ñ\8fd\83C\83\93\83N\83\8b\81[\83h\96h\8e~\83}\83N\83\8d
+#if !defined(AFX_INPUTInputImpl_H__CAF65806_66F9_4CFF_89EC_66E36A0FB746__INCLUDED_)
+#define AFX_INPUTInputImpl_H__CAF65806_66F9_4CFF_89EC_66E36A0FB746__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+#include "sf.h"
+#include "Input.h"
+extern "C" {
+namespace sf {
+ namespace system {
+ namespace input {
+
+/** Input\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\8eÀ\91\95.
+ * \8f\89\8aú\89»\95\94\95ª\82Í\82r\82c\82j\82Ì\83T\83\93\83v\83\8b\82ð\8eQ\8dl\82É\82µ\82Ä\82¢\82Ü\82·\81B
+ * \82Æ\82¢\82¤\82©\82Ù\82Æ\82ñ\82Ç\82»\82Ì\82Ü\82ñ\82Ü\82Å\82·\82ª\81D\81D\81D\81B*/
+class InputImpl : public Input
+{
+ // LIFECYCLE //
+public:
+ /// \83}\83E\83X\83\8a\83X\83i\81[\83\8a\83X\83g\94z\97ñ\8c^\92è\8b`
+ typedef std::vector<input::mouse::Listener* > MouseListenerList;
+ /// \83L\81[\83{\81[\83h\83\8a\83X\83i\81[\83\8a\83X\83g\94z\97ñ\8c^\92è\8b`
+ typedef std::vector<input::keyboard::Listener* > KeyboardListenerList;
+ /// \83R\83\93\83X\83g\83\89\83N\83^
+ InputImpl();
+
+ /** \83R\83\93\83X\83g\83\89\83N\83^
+ * @param hwnd \83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b */
+ InputImpl(HWND hwnd);
+
+ /// \83f\83X\83g\83\89\83N\83^
+ virtual ~InputImpl();
+ // OPERATORS //
+ // OPERATIONS //
+ void update(void);
+
+ /// DirectInput\82©\82ç\82Ì\83R\81[\83\8b\83o\83b\83N
+ static BOOL CALLBACK
+ enumJoysticksCallback( const DIDEVICEINSTANCE* pdidInstance, VOID* pContext )
+ {
+ return ((InputImpl *)pContext)->enumJoysticksCallback(pdidInstance);
+ };
+
+ /// DirectInput\82©\82ç\82Ì\83R\81[\83\8b\83o\83b\83N
+ static BOOL CALLBACK enumAxesCallback( const DIDEVICEOBJECTINSTANCE* pdidoi,
+ VOID* pContext )
+ { return ((InputImpl *)pContext)->enumAxesCallback(pdidoi);};
+
+ /** \8d¶\83}\83E\83X\83{\83^\83\93\82ª\89\9f\82³\82ê\82½.
+ * SystemImpl::wndFunc()\82æ\82èWM_LBUTTONDOWN\82ð\8eó\82¯\8eæ\82è\81A\82»\82ê\82ðmouse::Listener\82½\82¿\82É\92Ê\92m\82µ\82Ü\82·\81B
+ * @param hwnd \83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b
+ * @param wParam WPARAM
+ * @param lParam LPARAM */
+ LRESULT onLButtonDown(const HWND hwnd, const WPARAM wParam, const LPARAM lParam);
+
+ /** \8d¶\83}\83E\83X\83{\83^\83\93\82ª\83_\83u\83\8b\83N\83\8a\83b\83N\82³\82ê\82½.
+ * SystemImpl::wndFunc()\82æ\82èWM_LBUTTONDBLCLK\82ð\8eó\82¯\8eæ\82è\81Amouse::Listener\82½\82¿\82É\92Ê\92m\82µ\82Ü\82·\81B
+ * @param hwnd \83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b
+ * @param wParam WPARAM
+ * @param lParam LPARAM */
+ LRESULT onLButtonDoubleClick(const HWND hwnd, const WPARAM wParam, const LPARAM lParam);
+
+ /** \8d¶\83}\83E\83X\83{\83^\83\93\82ª\97£\82³\82ê\82½.
+ * SystemImpl::wndFunc()\82æ\82èWM_LBUTTONUP\82ð\8eó\82¯\8eæ\82è\81Amouse::Listener\82½\82¿\82É\92Ê\92m\82µ\82Ü\82·\81B
+ * @param hwnd \83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b
+ * @param wParam WPARAM
+ * @param lParam LPARAM */
+ LRESULT onLButtonUp(const HWND hwnd, const WPARAM wParam, const LPARAM lParam);
+
+ /** \89E\83}\83E\83X\83{\83^\83\93\82ª\83_\83u\83\8b\83N\83\8a\83b\83N\82³\82ê\82½.
+ * SystemImpl::wndFunc()\82æ\82èWM_RBUTTONDBLCLK\82ð\8eó\82¯\8eæ\82è\81Amouse::Listener\82½\82¿\82É\92Ê\92m\82µ\82Ü\82·\81B
+ * @param hwnd \83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b
+ * @param wParam WPARAM
+ * @param lParam LPARAM */
+ LRESULT onRButtonDoubleClick(const HWND hwnd, const WPARAM wParam, const LPARAM lParam);
+
+ /** \89E\83}\83E\83X\83{\83^\83\93\82ª\89\9f\82³\82ê\82½.
+ * SystemImpl::wndFunc()\82æ\82èWM_RBUTTONDOWN\82ð\8eó\82¯\8eæ\82è\81Amouse::Listener\82½\82¿\82É\92Ê\92m\82µ\82Ü\82·\81B
+ * @param hwnd \83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b
+ * @param wParam WPARAM
+ * @param lParam LPARAM */
+ LRESULT onRButtonDown(const HWND hwnd, const WPARAM wParam, const LPARAM lParam);
+
+ /** \89E\83}\83E\83X\83{\83^\83\93\82ª\97£\82³\82ê\82½.
+ * SystemImpl::wndFunc()\82æ\82èWM_RBUTTONUP\82ð\8eó\82¯\8eæ\82è\81Amouse::Listener\82½\82¿\82É\92Ê\92m\82µ\82Ü\82·\81B
+ * @param hwnd \83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b
+ * @param wParam WPARAM
+ * @param lParam LPARAM */
+ LRESULT onRButtonUp(const HWND hwnd, const WPARAM wParam, const LPARAM lParam);
+
+ /** \83}\83E\83X\83J\81[\83\\83\8b\82ª\93®\82¢\82½.
+ * SystemImpl::wndFunc()\82æ\82èWM_MOUSEMOVE\82ð\8eó\82¯\8eæ\82è\81Amouse::Listener\82½\82¿\82É\92Ê\92m\82µ\82Ü\82·\81B
+ * @param hwnd \83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b
+ * @param wParam WPARAM
+ * @param lParam LPARAM */
+ LRESULT onMouseMove(const HWND hwnd, const WPARAM wParam, const LPARAM lParam);
+
+ /** \83}\83E\83X\83z\83C\81[\83\8b\82ª\95Ï\89»\82µ\82½.
+ * SystemImpl::wndFunc()\82æ\82èWM_MOUSEWHEEL\82ð\8eó\82¯\8eæ\82è\81Amouse::Listener\82½\82¿\82É\92Ê\92m\82µ\82Ü\82·\81B
+ * @param hwnd \83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b
+ * @param wParam WPARAM
+ * @param lParam LPARAM */
+ LRESULT onMouseWheel(const HWND hwnd, const WPARAM wParam, const LPARAM lParam);
+
+ /** WM_ONSETCURSOR\82ð\8eó\82¯\8eæ\82é.
+ * SystemImpl::wndFunc()\82æ\82èWM_ONSETCURSOR\82ð\8eó\82¯\8eæ\82è\82Ü\82·\81B
+ * \82±\82Ì\83V\83X\83e\83\80\82Å\82Í\81A\83}\83E\83X\83J\81[\83\\83\8b\82ð\8fÁ\8b\8e\81E\95\\8e¦\82Ì\83R\83\93\83g\83\8d\81[\83\8b\82Ì\82½\82ß\81A\82±\82Ì\83\81\83b\83Z\81[\83W\82ð\8eó\82¯\8eæ\82Á\82Ä\82¢\82Ü\82·\81B
+ * @param hwnd \83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b
+ * @param wParam WPARAM
+ * @param lParam LPARAM
+ * @note WM_SETCURSOR \83C\83x\83\93\83g\82Í\81A\83}\83E\83X\93ü\97Í\82ª\83L\83\83\83v\83`\83\83\82³\82ê\82¸\81A\83E\83B\83\93\83h\83E\93à\82Å\83J\81[\83\\83\8b\82ð\88Ú\93®\82·\82é\82Æ\82«\82É\94\90¶\82·\82é\83\81\83b\83Z\81[\83W\82Å\82·\81B*/
+ LRESULT onSetCursor(const HWND hwnd, const WPARAM wParam, const LPARAM lParam);
+
+ /** \83}\83E\83X\83\8a\83X\83i\81[\82Ì\83\81\83\\83b\83h\82ð\8cÄ\82Ñ\8fo\82·.
+ * \83E\83B\83\93\83h\83E\83\81\83b\83Z\81[\83W\82ð\8eó\82¯\8eæ\82Á\82Ämouse::Listener\82Ì\8ae\83\81\83\\83b\83h\82ð\8cÄ\82Ñ\8fo\82·\8dì\8bÆ\82ð\8aÈ\97ª\89»\82µ\82Ü\82·\81B
+ * @param hwnd \83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b
+ * @param wParam WPARAM
+ * @param lParam LPARAM
+ * @param pMethod mouse::Listener\82Ì\83\81\83\\83b\83h\82Ì\83|\83C\83\93\83^\81@*/
+ LRESULT callMouseListenerMethod(const HWND hwnd, const WPARAM wParam, const LPARAM lParam,void(input::mouse::Listener::*pMethod)(const int,const int,const DWORD));
+
+ // \83L\81[\83{\81[\83h\83\81\83b\83Z\81[\83W\83n\83\93\83h\83\89
+ /** \83L\81[\83{\81[\83h\82ª\89\9f\82³\82ê\82½.
+ * system::SystemImpl::wndFunc()\82æ\82èWM_KEYDOWN\82ð\8eó\82¯\8eæ\82è\81Akeyboard::Listener\82½\82¿\82É\92Ê\92m\82µ\82Ü\82·\81B
+ * @param hwnd \83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b
+ * @param wParam WPARAM
+ * @param lParam LPARAM */
+ LRESULT onKeyDown(const HWND hwnd, const WPARAM wParam, const LPARAM lParam);
+
+ /** \83L\81[\83{\81[\83h\82ª\97£\82³\82ê\82½.
+ * system::SystemImpl::wndFunc()\82æ\82èWM_KEYUP\82ð\8eó\82¯\8eæ\82è\81Akeyboard::Listener\82½\82¿\82É\92Ê\92m\82µ\82Ü\82·\81B
+ * @param hwnd \83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b
+ * @param wParam WPARAM
+ * @param lParam LPARAM */
+ LRESULT onKeyUp(const HWND hwnd, const WPARAM wParam, const LPARAM lParam);
+
+ /** \83E\83B\83\93\83h\83E\83\81\83b\83Z\81[\83W\83}\83b\83v\82Ö\93o\98^\82ð\8ds\82¤.
+ * \83\8b\81[\83e\83B\83\93\83O\82µ\82½\82¢\83E\83B\83\93\83h\83E\83\81\83b\83Z\81[\83W\82ð\93o\98^\82µ\82Ü\82·\81B*/
+ void addWindowMessageMap();
+
+ /** MouseListener\82Ì\92Ç\89Á\82ð\8ds\82¤.
+ * mouse::Listener\82ðInputImpl::mMouseListenerQ\82É\92Ç\89Á\82µ\82Ü\82·\81B
+ * @param pListener mouse::Listener\82Ì\83|\83C\83\93\83^ */
+ void addMouseListener(input::mouse::Listener * const pListener){
+ mMouseListenerQ.push_back(pListener);
+ };
+
+
+ /** MouseListener\82Ì\8dí\8f\9c\82ð\8ds\82¤
+ * @param pListener mouse::Listener\82Ì\83|\83C\83\93\83^*/
+ void removeMouseListener(input::mouse::Listener * const pListener){
+ MouseListenerList::iterator it;
+ for(it = mMouseListenerList.begin();
+ it != mMouseListenerList.end();it++){
+ if(pListener == *it){
+// mMouseListenerList.erase(it);
+ *it = NULL;
+ break;
+ }
+ }
+
+ for(it = mMouseListenerQ.begin();
+ it != mMouseListenerQ.end();it++){
+ if(pListener == *it){
+ *it = NULL;
+ return;
+ }
+ }
+ };
+
+ /** KeyboardListener\82Ì\92Ç\89Á\82ð\8ds\82¤
+ * @param pListener keyboard::Listener \82Ì\83|\83C\83\93\83^ */
+ void addKeyboardListener(input::keyboard::Listener * const pListener){
+ mKeyboardListenerQ.push_back(pListener);
+ };
+
+
+ /** KeyboardListener\82Ì\8dí\8f\9c\82ð\8ds\82¤
+ * @param pListener keyboard::Listener\82Ì\83|\83C\83\93\83^ */
+ void removeKeyboardListener(input::keyboard::Listener * const pListener){
+ KeyboardListenerList::iterator it;
+ for(it = mKeyboardListenerList.begin();
+ it != mKeyboardListenerList.end();it++){
+ if(pListener == *it){
+// mKeyboardListenerList.erase(it);
+ *it = NULL;
+ break;
+ }
+ }
+
+ for(it = mKeyboardListenerQ.begin();
+ it != mKeyboardListenerQ.end();it++){
+ if(pListener == *it){
+ *it = NULL;
+ return;
+ }
+ }
+ };
+
+ // ACCESS //
+ const bool left(const bool bTrig = false) const
+ { if(!bTrig) return mbLeft; else return ((mbLeft ^ mbBeforeLeft) & mbLeft) ;};
+ const bool right(const bool bTrig = false) const
+ { if(!bTrig) return mbRight; else return ((mbRight ^ mbBeforeRight) & mbRight) ;};
+ const bool up(const bool bTrig = false) const
+ { if(!bTrig) return mbUp; else return ((mbUp ^ mbBeforeUp) & mbUp) ;};
+ const bool down(const bool bTrig = false) const
+ { if(!bTrig) return mbDown; else return ((mbDown ^ mbBeforeDown) & mbDown) ;};
+ const bool buttonA(const bool bTrig = false) const
+ { if(!bTrig) return mbButtonA; else return ((mbButtonA ^ mbBeforeButtonA) & mbButtonA) ;};
+ const bool buttonB(const bool bTrig = false) const
+ { if(!bTrig) return mbButtonB; else return ((mbButtonB ^ mbBeforeButtonB) & mbButtonB) ;};
+ const bool buttonC(const bool bTrig = false) const
+ { if(!bTrig) return mbButtonC; else return ((mbButtonC ^ mbBeforeButtonC) & mbButtonC) ;};
+ const bool buttonD(const bool bTrig = false) const
+ { if(!bTrig) return mbButtonD; else return ((mbButtonD ^ mbBeforeButtonD) & mbButtonD) ;};
+ const bool start(const bool bTrig = false) const
+ { if(!bTrig) return mbStart; else return ((mbStart ^ mbBeforeStart) & mbStart) ;};
+ const bool exit(const bool bTrig = false) const
+ { if(!bTrig) return mbExit; else return ((mbExit ^ mbBeforeExit) & mbExit) ;};
+
+ void showMouseCursor(void){mbMouseCursor = true;};
+ void hideMouseCursor(void){mbMouseCursor = false;};
+
+ const bool mouseCursorVisibility (void) const{return mbMouseCursor;};
+
+ // INQUIRY //
+ const bool isEnabled(void) const {return mbEnabled;};
+
+ void initialize(void);
+private:
+ /** \8fI\97¹\8e\9e\82Ì\8f\88\97\9d\82ð\8ds\82¤.
+ * \8fI\97¹\8e\9e\82É\8aJ\95ú\82µ\82È\82\82Ä\82Í\82¢\82¯\82È\82¢\82à\82Ì\82Í\82±\82±\82Å\8aJ\95ú\82µ\82Ü\82·\81B*/
+ void uninitialize(void);
+ /** \83W\83\87\83C\83X\83e\83B\83b\83N\82Ì\8f\89\8aú\89»\82ð\8ds\82¤
+ * @exception RecoverbleErrorException \83W\83\87\83C\83X\83e\83B\83b\83N\82Ì\8f\89\8aú\89»\82É\8e¸\94s\82µ\82½\8fê\8d\87 */
+ void initJoystick(void);
+ /** \83L\81[\83{\81[\83h\82Ì\8f\89\8aú\89»\82ð\8ds\82¤
+ * @exception RecoverbleErrorException \83L\81[\83{\81[\83h\82Ì\8f\89\8aú\89»\82É\8e¸\94s\82µ\82½\8fê\8d\87 */
+ void initKeyboard(void);
+
+ /// DirectInput\82©\82ç\82Ì\83R\81[\83\8b\83o\83b\83N\82ð\8f\88\97\9d\82·\82é
+ BOOL enumJoysticksCallback(const DIDEVICEINSTANCE* pdidInstance);
+ /// DirectInput\82©\82ç\82Ì\83R\81[\83\8b\83o\83b\83N\82ð\8f\88\97\9d\82·\82é
+ BOOL enumAxesCallback( const DIDEVICEOBJECTINSTANCE* pdidoi);
+
+
+ bool mbEnabled;///< Sound\83C\83\93\83^\81[\83t\83F\81[\83X\82ª\8c»\8dÝ\8eg\97p\89Â\82©\82Ç\82¤\82©
+ bool mbMouseCursor;///< \83}\83E\83X\83J\81[\83\\83\8b\82ª\95\\8e¦\82³\82ê\82Ä\82¢\82é\82©\82¢\82È\82¢\82©
+
+ LPDIRECTINPUT8 mpDI;///< DirectInput8 \83C\83\93\83^\81[\83t\83F\81[\83X
+
+ LPDIRECTINPUTDEVICE8 mpJoystick;///< \83W\83\87\83C\83X\83e\83B\83b\83N\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^
+ LPDIRECTINPUTDEVICE8 mpKeyboard;///< \83L\81[\83{\81[\83h\83f\83o\83C\83X\82Ì\83|\83C\83\93\83^
+
+ DIDEVCAPS mDIJoystickDevCaps;///< \83f\83o\83C\83X\94\\97Í
+ DIJOYSTATE2 mDIJoyState;///< \83W\83\87\83C\83X\83e\83B\83b\83N\82Ì\8fó\91Ô
+ BYTE mDIKeys[256]; ///< DirectInput keyboard state buffer
+
+ HWND mHWND;///< \83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b
+
+ // \83}\83E\83X\83C\83x\83\93\83g\83R\81[\83\8b\83o\83b\83N\97p
+ MouseListenerList mMouseListenerList;///< mouse::Listener\82Ì\94z\97ñ
+ MouseListenerList mMouseListenerQ;///< mouse::Listener\82Ì\94z\97ñ(\88ê\8e\9e\95Û\8e\9d\97p)
+
+ KeyboardListenerList mKeyboardListenerList;///< keyboard::Listener\82Ì\94z\97ñ
+ KeyboardListenerList mKeyboardListenerQ;///< keyboard::Listener\82Ì\94z\97ñ(\88ê\8e\9e\95Û\8e\9d\97p)
+
+ bool mbUp;///< \8fã\83{\83^\83\93
+ bool mbDown;///< \89º\83{\83^\83\93
+ bool mbLeft;///< \8d¶\83{\83^\83\93
+ bool mbRight;///< \89E\83{\83^\83\93
+
+ bool mbButtonA;///< \83{\83^\83\93A
+ bool mbButtonB;///< \83{\83^\83\93B
+ bool mbButtonC;///< \83{\83^\83\93C
+ bool mbButtonD;///< \83{\83^\83\93D
+
+ bool mbStart;///< START\83{\83^\83\93
+ bool mbExit;///< EXIT\83{\83^\83\93
+
+ bool mbBeforeUp;///< \8fã\83{\83^\83\93\82Ì1\83t\83\8c\81[\83\80\91O\82Ì\8fó\91Ô
+ bool mbBeforeDown;///< \89º\83{\83^\83\93\82Ì1\83t\83\8c\81[\83\80\91O\82Ì\8fó\91Ô
+ bool mbBeforeLeft;///< \8d¶\83{\83^\83\93\82Ì1\83t\83\8c\81[\83\80\91O\82Ì\8fó\91Ô
+ bool mbBeforeRight;///< \89E\83{\83^\83\93\82Ì1\83t\83\8c\81[\83\80\91O\82Ì\8fó\91Ô
+
+ bool mbBeforeButtonA;///< \83{\83^\83\93A\82Ì1\83t\83\8c\81[\83\80\91O\82Ì\8fó\91Ô
+ bool mbBeforeButtonB;///< \83{\83^\83\93B\82Ì1\83t\83\8c\81[\83\80\91O\82Ì\8fó\91Ô
+ bool mbBeforeButtonC;///< \83{\83^\83\93C\82Ì1\83t\83\8c\81[\83\80\91O\82Ì\8fó\91Ô
+ bool mbBeforeButtonD;///< \83{\83^\83\93D\82Ì1\83t\83\8c\81[\83\80\91O\82Ì\8fó\91Ô
+
+ bool mbBeforeStart;///< START\83{\83^\83\93\82Ì1\83t\83\8c\81[\83\80\91O\82Ì\8fó\91Ô
+ bool mbBeforeExit;///< EXIT\83{\83^\83\93\82Ì1\83t\83\8c\81[\83\80\91O\82Ì\8fó\91Ô
+};
+ } // namespace input
+ } // namespace system
+} // namespace sf
+}
+#endif // !defined(AFX_INPUTInputImpl_H__CAF65806_66F9_4CFF_89EC_66E36A0FB746__INCLUDED_)
--- /dev/null
+#//@STATE=\8a®\90¬
+#//@DESCRIPTION
+# Borland C++ 5.5\97p\83\81\83C\83N\83t\83@\83C\83\8b
+#$Log: MAKEFILE,v $
+#Revision 1.1 2001/10/28 21:40:53 fujiwara
+#DLL\82É\95ª\8a\84
+#
+#//@DESCRIPTION_END
+#//@AUTHOR=S.F.
+
+
+CC = bcc32
+RC = brc32
+AS = tasm32
+CXX = bcc32 -P
+CPP = bcc32 -P
+CPP32 = cpp32
+
+LINKER = ilink32
+LINK = ilink32
+LIBRARIAN = tlib /P128
+
+# \83R\83\93\83p\83C\83\8b\83I\83u\83W\83F\83N\83g\90¶\90¬\90æ\83f\83B\83\8c\83N\83g\83\8a\82ð\91\8a\91Î\83p\83X\82Å\8ew\92è
+INT = .
+PRODUCT = ..\..
+OUT = $(PRODUCT)\obj
+INTDIR = $(OUT)
+
+#\8c\9f\8dõ\83p\83X\82Ì\90Ý\92è
+.path.obj = $(OUT)
+.path.cpp = $(INT)
+.path.h = $(INT)
+
+# \83C\83\93\83N\83\8b\81[\83h\83t\83@\83C\83\8b\82Ì\83p\83XDirectX
+INCLUDEPATH = $(PRODUCT)\lib\;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;
+LIBPATH = $(PRODUCT)\lib\;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;
+!ifdef _DEBUG
+CFLAGS = -c -v -N -Od -WM- -WD -H -Hs -5 -a8 -I$(INCLUDEPATH) -L$(LIBPATH) -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n$(OUT)
+!else
+CFLAGS = -c -N -O2 -WM- -WD -H -Hs -5 -a8 -I$(INCLUDEPATH) -L$(LIBPATH) -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n$(OUT)
+!endif
+CFLAGS1 = -VM
+CFLAGS1 = $(CFLAGS1) -Dsinf=(float)sin
+CFLAGS1 = $(CFLAGS1) -Dcosf=(float)cos
+CFLAGS1 = $(CFLAGS1) -Dasinf=(float)asin
+CFLAGS1 = $(CFLAGS1) -Dacosf=(float)acos
+CFLAGS1 = $(CFLAGS1) -Dsqrtf=(float)sqrt
+CFLAGS1 = $(CFLAGS1) -Dexpf=(float)exp
+CFLAGS1 = $(CFLAGS1) -D_BORLAND -DSFGLIB_EXPORTS
+!ifdef _DEBUG
+ CFLAGS1 = $(CFLAGS1) -D_DEBUG
+!endif
+
+CFLAGS = $(CFLAGS) $(CFLAGS1)
+
+RCFLAGS = -r -i$(INCLUDEPATH) -D_BORLAND -w32
+!ifdef _DEBUG
+LINKFLAGS = -Tpd -aa -v -r -c -L$(LIBPATH) /j$(OUT) /I$(OUT)
+!else
+LINKFLAGS = -Tpd -aa -r -c -x -L$(LIBPATH) /j$(OUT) /I$(OUT)
+#LINKFLAGS = -Tpd -Gl -r -c -x -L$(LIBPATH) /j$(OUT) /I$(OUT)
+
+!endif
+LINKLIBS = dsound.lib c_dinput.lib import32.lib cw32.lib dinput8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib dxerr8bor.lib winmm.lib
+
+.cpp.obj:
+ $(CC) $(CFLAGS) $<
+
+.h.obj:
+ $(CC) $(CFLAGS) $&.cpp
+
+.rc.res:
+ $(RC) $(RCFLAGS) $&.rc -fo$(OUT)\$&
+
+
+PROJ = sfglib
+DLL = $(PROJ).dll
+
+OBJS = "$(INTDIR)\AbstractSprite.obj" \
+ "$(INTDIR)\BackGround.obj" \
+ "$(INTDIR)\ConsoleImpl.obj" \
+ "$(INTDIR)\Exception.obj" \
+ "$(INTDIR)\InputImpl.obj" \
+ "$(INTDIR)\Obj.obj" \
+ "$(INTDIR)\Obj2D.obj" \
+ "$(INTDIR)\Obj3D.obj" \
+ "$(INTDIR)\Obj3DL.obj" \
+ "$(INTDIR)\ObjQuadrangle.obj" \
+ "$(INTDIR)\ObjRectangle.obj" \
+ "$(INTDIR)\sfglib.obj" \
+ "$(INTDIR)\SoundImpl.obj" \
+ "$(INTDIR)\Sprite2D.obj" \
+ "$(INTDIR)\Sprite3D.obj" \
+ "$(INTDIR)\SpriteMesh.obj" \
+ "$(INTDIR)\StdAfx.obj" \
+ "$(INTDIR)\System.obj" \
+ "$(INTDIR)\SystemImpl.obj"
+
+RESOURCE_OBJ = $(PROJ).res
+
+## DEFS = $(PROJ).def
+
+$(OUT)\$(DLL): {$(OUT)}$(OBJS) {$(OUT)}$(RESOURCE_OBJ)
+ $(LINKER) $(LINKFLAGS) c0d32w.obj $(OBJS),$*,,$(LINKLIBS),$(DEFS),$(OUT)\$(RESOURCE_OBJ)
+ copy $(OUT)\$(DLL) $(PRODUCT)
+ implib .\lib\$(PROJ).lib $(OUT)\$(DLL)
+ copy $(OUT)\$(DLL) $(PRODUCT)
+## copy .\media\*.* $(PRODUCT)\media
+
+all: $(OUT)\$(DLL)
+
+clean:
+ del $(OUT)\*.obj
+ del $(OUT)\*.i??
+ del $(OUT)\*.t??
+ del $(OUT)\*.res
+ del $(OUT)\$(DLL)
+
--- /dev/null
+/**
+ * @file
+ * @brief Main \83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\92è\8b`\81A\82»\82ê\82É\82©\82©\82í\82é\92è\90\94\92è\8b`\82ð\8ds\82¤\81B
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+/// \8fd\95¡\83C\83\93\83N\83\8b\81[\83h\96h\8e~\83}\83N\83\8d
+#if !defined(AFX_Main_H__FFF94F56_3A52_413E_9CD2_A5E815DCFB90__INCLUDED_)
+#define AFX_Main_H__FFF94F56_3A52_413E_9CD2_A5E815DCFB90__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+namespace sf{
+ namespace application {
+
+ const int INIT_PLAYER = 3;///< \8f\89\8aú\83v\83\8c\81[\83\84\81[\90\94
+ const int STAGE_NUM_MAX = 1;///< \83X\83e\81[\83W\82Ì\90\94
+
+ /** \83\81\83C\83\93\83C\83\93\83^\81[\83t\83F\81[\83X.*/
+ class Main
+ {
+ // LIFECYCLE //
+ public:
+ /// \83R\83\93\83X\83g\83\89\83N\83^
+ Main(){;};
+ /// \83f\83X\83g\83\89\83N\83^
+ virtual ~Main(){;};
+ /// \8f\89\8aú\89»\82ð\8ds\82¤
+ virtual void initialize(void) = 0;
+ // OPERATORS //
+ // OPERATIONS //
+ /// \83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ð\8eÀ\8ds\82·\82é
+ virtual void run() = 0;
+ /** \8bó\94\92\83X\83v\83\89\83C\83g\82ð\8eæ\93¾\82·\82é.
+ * @return sf::system::console::sprite::Sprite \82Ì\83|\83C\83\93\83^ */
+ virtual sf::system::console::sprite::Sprite * const getBlankSprite() = 0;
+
+ // INQUIRY //
+ /** \83\81\83C\83\93\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^\82ð\8eæ\93¾\82·\82é.
+ @return Main \83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\97B\88ê\82Ì\83C\83\93\83X\83^\83\93\83X\82Ì\83|\83C\83\93\83^*/
+ static Main * instance();
+ };// Main
+ }// application
+}// sf
+#endif // !defined(AFX_Main_H__FFF94F56_3A52_413E_9CD2_A5E815DCFB90__INCLUDED_)
--- /dev/null
+/**
+ * @file Obj.h
+ * @brief \83X\83v\83\89\83C\83g\82Ì\95\\8e¦\91®\90«\8aÖ\98A\82Ì\8eÀ\91\95\82ð\8ds\82¤\81B
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#ifdef _DEBUG
+#ifndef _BORLAND
+#define _CRTDBG_MAP_ALLOC
+#include <stdlib.h>
+#include <crtdbg.h>
+#endif
+#endif
+
+#include <string>
+#include "stdio.h"
+
+#include "system.h"
+#include "console.h"
+
+#include "Obj.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+
+using namespace sf::system::console;
+
+int Obj::List::mCount = 0;
+Obj* Obj::List::mspBottom = NULL;
+Obj* Obj::List::mspTop = NULL;
+Obj* Obj::List::mspCurrent = NULL;
+
+//----------------------------------------------------------------------------
+// Obj Class
+//----------------------------------------------------------------------------
+
+// \83R\83\93\83X\83g\83\89\83N\83^ -------------------------------------------------------------
+Obj::Obj()
+{
+
+}// Obj
+
+// \83f\83X\83g\83\89\83N\83^ ---------------------------------------------------------------
+Obj::~Obj()
+{
+
+}// Obj
+
+//----------------------------------------------------------------------------
+// Obj::List Class
+//----------------------------------------------------------------------------
+
+// Obj\82ðZ\92l\82Å\83\\81[\83g\82µ\82È\82ª\82ç\91}\93ü\82·\82é --------------------------------------------
+void Obj::List::insertObj(Obj *value)
+{
+ Obj *pobj = mspTop;
+ if(mspTop == NULL){
+ mspTop = value;
+ mspCurrent = value;
+ mspBottom = value;
+ value->next(NULL);
+ value->previous(NULL);
+ mCount++;
+ } else {
+ while(pobj != NULL)
+ {
+ if(value->z() <= pobj->z())
+ {
+ pobj = pobj->next();
+
+ } else {
+
+ value->next(pobj);
+
+ if(pobj->previous() != NULL){
+ value->previous(pobj->previous());
+ value->previous()->next(value);
+ pobj->previous(value);
+ } else {
+ value->previous(NULL);
+ mspTop = value;
+ pobj->previous(value);
+ }
+
+ mCount++;
+ return;
+ }
+
+ }
+
+ mspBottom->next(value);
+ value->previous(mspBottom);
+ value->next(NULL);
+ mspBottom = value;
+ mCount++;
+ }
+}// insertObj()
+
+// Obj\82ð\8dí\8f\9c\82·\82é --------------------------------------------------------------
+void Obj::List::deleteObj(Obj *value)
+{
+ if(value->next() != NULL)
+ {
+ if(value->previous() != NULL)
+ {
+ value->previous()->next(value->next());
+ value->next()->previous(value->previous());
+ value->next(NULL);
+ value->previous(NULL);
+ } else {
+ mspTop = value->next();
+ value->next()->previous(NULL);
+ value->next(NULL);
+ }
+ } else {
+ if(value->previous() != NULL){
+ mspBottom = value->previous();
+ value->previous()->next(NULL);
+ value->previous(NULL);
+ } else {
+ value->next(NULL);
+ value->previous(NULL);
+ mspBottom = NULL;
+ mspTop = NULL;
+ }
+ }
+ mCount --;
+} // deleteObj()
+
+Obj * Obj::List::moveNext()
+{
+ if(mspCurrent != NULL)
+ mspCurrent = mspCurrent->next();
+ return mspCurrent;
+};
+
+Obj * Obj::List::movePrevious()
+{ if(mspCurrent != NULL)
+ mspCurrent = mspCurrent->previous();
+ return mspCurrent;
+};
+
+Obj * Obj::List::moveTop(){mspCurrent = mspTop ; return mspTop ;};
+Obj * Obj::List::moveBottom(){mspCurrent = mspBottom ; return mspBottom;};
--- /dev/null
+/**
+ * @file Obj.h
+ * @brief \83X\83v\83\89\83C\83g\82Ì\95\\8e¦\91®\90«(\8dÀ\95W\88Ê\92u\81Aetc)\82È\82Ç\82ð\95Û\8e\9d\82µ\82Ä\82¢\82é\83C\83\93\83^\81[\83t\83F\81[\83X\81A\92è\90\94\82Ì\92è\8b`\82ð\8ds\82¤\81B
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+/// \8fd\95¡\83C\83\93\83N\83\8b\81[\83h\96h\8e~\83}\83N\83\8d
+#if !defined(AFX_OBJ_H__848EAA84_F65D_4C04_982A_EC1A7484C2E7__INCLUDED_)
+#define AFX_OBJ_H__848EAA84_F65D_4C04_982A_EC1A7484C2E7__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "sf.h"
+extern "C" {
+namespace sf {
+ namespace system {
+ namespace console {
+
+typedef int OBJNO;///< OBJNO\8c^\82Ì\92è\8b`
+
+/** \83X\83v\83\89\83C\83g\95\\8e¦\91®\90«\83C\83\93\83^\81[\83t\83F\81[\83X.
+ * Obj\83C\83\93\83^\81[\83t\83F\81[\83X\82Í\81A\83X\83v\83\89\83C\83g\82Ì\95\\8e¦\91®\90«\82ð\95Û\8e\9d\82µ\82Ü\82·\81B
+ * Obj\8e©\90g\82ª\81A\83\8a\83X\83g\82Ì\83m\81[\83h\82Æ\82È\82Á\82Ä\82¢\82Ä\81AObj::List\82É\93o\98^\82³\82ê\82Ü\82·\81B*/
+class SFDLL Obj
+{
+public:
+ /// \83R\83\93\83X\83g\83\89\83N\83^
+ Obj();
+ /// \83f\83X\83g\83\89\83N\83^
+ virtual ~Obj();
+
+ /// \83I\83u\83W\83F\82ð\95`\89æ\82·\82é
+ virtual void draw() = 0;
+
+ // ACCESS //
+
+ /** Sprite\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83A\83h\83\8c\83X\82ð\8eæ\93¾\82·\82é
+ * @return Sprite\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^ */
+ virtual sprite::Sprite * const sprite() const = 0;
+
+ /** Sprite\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83A\83h\83\8c\83X\82ð\90Ý\92è\82·\82é
+ * @param value Sprite\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^*/
+ virtual void sprite(sprite::Sprite* const value) = 0;
+
+ /** \83X\83v\83\89\83C\83g\83C\83\93\83f\83b\83N\83X\82ð\8eQ\8fÆ\82·\82é.
+ * \83C\83\93\83f\83b\83N\83X\82Í\81ASprite\83r\83b\83g\83}\83b\83v\82Ì\92\86\82Ì\89½\94Ô\96Ú\82ð\95\\8e¦\82·\82é\82©\82ð\82³\82µ\82Ü\82·\81B
+ * @return \83C\83\93\83f\83b\83N\83X */
+ virtual const int index() const = 0;
+
+ /** \83X\83v\83\89\83C\83g\83C\83\93\83f\83b\83N\83X\82ð\90Ý\92è\82·\82é
+ * @param value \83X\83v\83\89\83C\83g\83C\83\93\83f\83b\83N\83X */
+ virtual void index(const int value) = 0;
+
+ /** \95\\8e¦\81E\94ñ\95\\8e¦\91®\90«\82ð\8eQ\8fÆ\82·\82é
+ * @retval true \95\\8e¦
+ * @retval false \94ñ\95\\8e¦ */
+ virtual const bool visibility() const = 0;
+
+ /** \95\\8e¦\81E\94ñ\95\\8e¦\91®\90«\82ð\90Ý\92è\82·\82é
+ * @retval true \95\\8e¦
+ * @retval false \94ñ\95\\8e¦ */
+ virtual void visibility(const bool value) = 0;
+
+ /** \91O\82Ì\83m\81[\83h\82Ì\83|\83C\83\93\83^\82ð\8eæ\93¾\82·\82é
+ @return Obj\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^\81B
+ null\82Ì\8fê\8d\87\82Í\82±\82ê\88È\8fã\91O\82É\83f\81[\83^\82Í\82È\82¢ */
+ virtual Obj * const previous() const = 0;
+
+ /** \91O\82Ì\83m\81[\83h\82Ì\83|\83C\83\93\83^\82ð\90Ý\92è\82·\82é
+ @param value Obj\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^*/
+ virtual void previous(Obj * const value) = 0;
+
+ /** \8e\9f\82Ì\83m\81[\83h\82Ì\83|\83C\83\93\83^\82ð\8eæ\93¾\82·\82é
+ @return Obj\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^\81B
+ null\82Ì\8fê\8d\87\82Í\82±\82ê\88È\8fã\8cã\82É\83f\81[\83^\82Í\82È\82¢ */
+ virtual Obj * const next() const = 0;
+
+ /** \8e\9f\82Ì\83m\81[\83h\82Ì\83|\83C\83\93\83^\82ð\90Ý\92è\82·\82é
+ @param value Obj\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^*/
+ virtual void next(Obj * const value) = 0;
+
+ /** z\8dÀ\95W\82ð\8eæ\93¾\82·\82é
+ * @return z\8dÀ\95W */
+ virtual const float z() const = 0;
+
+ /** z\8dÀ\95W\82ð\90Ý\92è\82·\82é
+ * @param value z\8dÀ\95W */
+ virtual void z(const float value) = 0;
+
+ /** \95`\89æ\83\82\81[\83h\82ð\90Ý\92è\82·\82é
+ * @param value DrawMode */
+ virtual void drawMode(const DrawMode value) = 0;
+ /** \95`\89æ\83\82\81[\83h\82ð\8eQ\8fÆ\82·\82é
+ * @return DrawMode */
+ virtual const DrawMode drawMode() const = 0;
+
+ ///\91o\95û\8cü\83\8a\83X\83g\82ð\95Û\8e\9d\82·\82é\83N\83\89\83X
+ /*! Obj\82Ì\83\8a\83X\83g\82ð\95Û\8e\9d\82µ\82Ü\82·\81B<br>
+ \82·\82×\82Ä\83X\83^\83e\83B\83b\83N\83\81\83\93\83o\82Å\8d\\92z\82µ\82Ä\82Ý\82Ü\82µ\82½\81B*/
+ class SFDLL List
+ {
+ public:
+ /** Obj\82ð\91}\93ü\82·\82é.
+ * @param value Obj\82Ì\83|\83C\83\93\83^ */
+ static void insertObj(Obj *value);
+
+ /** Obj\82ð\8dí\8f\9c\82·\82é.
+ * @param value Obj\82Ì\83|\83C\83\93\83^ */
+ static void deleteObj(Obj *value);
+
+ /** \90æ\93ª\82É\88Ú\93®\82·\82é.
+ * @return Obj\82Ì\83|\83C\83\93\83^ NULL\82Ì\8fê\8d\87\82Í\83f\81[\83^\82ª\82È\82¢*/
+ static Obj * moveTop();
+
+ /** \8fI\92[\82É\88Ú\93®\82·\82é.
+ * @return value Obj\82Ì\83|\83C\83\93\83^ NULL\82Ì\8fê\8d\87\82Í\83f\81[\83^\82ª\82È\82¢*/
+ static Obj * moveBottom();
+
+ /** \8e\9f\82É\88Ú\93®\82·\82é.
+ * @return value Obj\82Ì\83|\83C\83\93\83^ NULL\82Ì\8fê\8d\87\82Í\83f\81[\83^\82ª\82È\82¢*/
+ static Obj * moveNext();
+
+ /** \91O\82É\88Ú\93®\82·\82é.
+ * @return value Obj\82Ì\83|\83C\83\93\83^ NULL\82Ì\8fê\8d\87\82Í\83f\81[\83^\82ª\82È\82¢*/
+ static Obj * movePrevious();
+
+ private:
+
+ static Obj* mspCurrent;///< \83J\83\8c\83\93\83g\83m\81[\83h
+ static Obj* mspTop;///< \90æ\93ª\83m\81[\83h
+ static Obj* mspBottom;///< \8fI\92[\83m\81[\83h
+ static int mCount;///< \83m\81[\83h\82Ì\90\94
+
+ };// List
+
+};// Obj
+
+
+ }
+ }
+}
+}
+#endif // !defined(AFX_OBJ_H__848EAA84_F65D_4C04_982A_EC1A7484C2E7__INCLUDED_)
--- /dev/null
+/**
+ * @file
+ * @brief 2D\83X\83v\83\89\83C\83g\91®\90«\95Û\8e\9d\83N\83\89\83X\82Ì\8eÀ\91\95\82ð\8ds\82¤.
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.*/
+
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#ifdef _DEBUG
+#ifndef _BORLAND
+#define _CRTDBG_MAP_ALLOC
+#include <stdlib.h>
+#include <crtdbg.h>
+#endif
+#endif
+
+#include <string>
+#include "stdio.h"
+
+#include "system.h"
+#include "console.h"
+
+#include "Obj.h"
+#include "Obj2D.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+
+using namespace sf::system::console;
+
+
+//----------------------------------------------------------------------------
+// Obj2D Class
+//----------------------------------------------------------------------------
+
+// \83R\83\93\83X\83g\83\89\83N\83^ -------------------------------------------------------------
+
+Obj2D::Obj2D()
+{
+ mbVisibility = false;
+ mIndex = 0;
+ mpNext = mpPrevious = NULL;
+ mRad = mAngle = 0.0f;
+ mScalingX = mScalingY = 1.0f;
+ mX = mY = 0.0f;
+ mZ = 0.0f;
+ mbReverseX = mbReverseY = false;
+ mpSprite = NULL;
+
+}// Obj2D
+
+// \83f\83X\83g\83\89\83N\83^ ---------------------------------------------------------------
+Obj2D::~Obj2D()
+{
+}// ~Obj2D
+
--- /dev/null
+/**
+ * @file
+ * @brief 2D\83X\83v\83\89\83C\83g\91®\90«\82Ì\92è\8b`\82ð\8ds\82¤.
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+/// \8fd\95¡\83C\83\93\83N\83\8b\81[\83h\96h\8e~\97p\83}\83N\83\8d
+#if !defined(OBJ2D)
+#define OBJ2D
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+extern "C" {
+namespace sf {
+ namespace system {
+ namespace console {
+
+#include "sf.h"
+
+/// 2D\83X\83v\83\89\83C\83g\91®\90«
+class SFDLL Obj2D : public Obj
+{
+public:
+ /// \83R\83\93\83X\83g\83\89\83N\83^
+ Obj2D();
+ /// \83f\83X\83g\83\89\83N\83^
+ virtual ~Obj2D();
+
+ /** X\8dÀ\95W\82ð\8eæ\93¾\82·\82é
+ * @return X \8dÀ\95W */
+ virtual const float x() const { return mX;};
+
+ /** X\8dÀ\95W\82ð\90Ý\92è\82·\82é
+ * @param value X \8dÀ\95W */
+ virtual void x(const float value) { mX = value;};
+
+ /** Y\8dÀ\95W\82ð\8eæ\93¾\82·\82é
+ * @return Y \8dÀ\95W */
+ virtual const float y() const { return mY;};
+
+ /** Y\8dÀ\95W\82ð\90Ý\92è\82·\82é
+ * @param value Y \8dÀ\95W */
+ virtual void y(const float value) { mY = value;};
+
+ /** Z\8dÀ\95W\82ð\8eæ\93¾\82·\82é.
+ * OBJ2D\82Å\82ÍZ\92l\82Í\95`\89æ\97D\90æ\8f\87\88Ê\82Æ\82È\82è\82Ü\82·\81BZ\92l\82É\89\9e\82¶\82½\83X\83P\81[\83\8a\83\93\83O\82Í\8ds\82í\82ê\82Ü\82¹\82ñ\81B
+ * @return Z \8dÀ\95W */
+ virtual const float z() const { return mZ;};
+
+ /** Z\8dÀ\95W\82ð\90Ý\92è\82·\82é
+ * @param value Z \8dÀ\95W */
+ virtual void z(const float value) { mZ = value;List::deleteObj(this); List::insertObj(this);};
+
+ /** \89ñ\93]\8ap\93x\82ð\8eæ\93¾\82·\82é
+ * @param value \89ñ\93]\8ap\93x(\83\89\83W\83A\83\93) */
+ virtual const float angle() const { return mAngle;};
+
+ /** \89ñ\93]\8ap\93x\82ð\90Ý\92è\82·\82é
+ * @return \89ñ\93]\8ap\93x(\83\89\83W\83A\83\93) */
+ virtual void angle(const float value) { mAngle = value;};
+
+ /** X\8e²\95û\8cü\82Ì\8ag\91å\8fk\8f¬\97¦\82ð\8eæ\93¾\82·\82é
+ * @return X\8e²\95û\8cü\82Ì\8ag\91å\97¦\8fk\8f¬\97¦ */
+ virtual const float scalingX() const { return mScalingX;};
+
+ /** X\8e²\95û\8cü\82Ì\8ag\91å\8fk\8f¬\97¦\82ð\90Ý\92è\82·\82é
+ * @param value X\8e²\95û\8cü\82Ì\8ag\91å\8fk\8f¬\97¦ */
+ virtual void scalingX(const float value) { mScalingX = value;};
+
+ /** Y\8e²\95û\8cü\82Ì\8ag\91å\8fk\8f¬\97¦\82ð\8eæ\93¾\82·\82é
+ * @return Y\8e²\95û\8cü\82Ì\8ag\91å\8fk\8f¬\97¦ */
+ virtual const float scalingY() const { return mScalingY;};
+
+ /** Y\8e²\95û\8cü\82Ì\8ag\91å\8fk\8f¬\97¦\82ð\90Ý\92è\82·\82é
+ * @param value Y\8e²\95û\8cü\82Ì\8ag\91å\8fk\8f¬\97¦ */
+ virtual void scalingY(const float value) { mScalingY = value;};
+
+ /** X\94½\93]\82Ì\8fó\91Ô\82ð\8eæ\93¾\82·\82é
+ * @retval true X\94½\93]\82µ\82Ä\82¢\82é
+ @retval false X\94½\93]\82µ\82Ä\82¢\82È\82¢\81@*/
+ virtual const bool reverseX() const { return mbReverseX;};
+
+ /** X\94½\93]\82Ì\8fó\91Ô\82ð\90Ý\92è\82·\82é
+ * @param value true X\94½\93]\82·\82é false X\94½\93]\82µ\82È\82¢*/
+ virtual void reverseX(const bool value) { mbReverseX = value;};
+
+ /** Y\94½\93]\82Ì\8fó\91Ô\82ð\8eæ\93¾\82·\82é
+ * @retval true Y\94½\93]\82µ\82Ä\82¢\82é
+ @retval false Y\94½\93]\82µ\82Ä\82¢\82È\82¢\81@*/
+ virtual const bool reverseY() const { return mbReverseY;};
+
+ /** Y\94½\93]\82Ì\8fó\91Ô\82ð\90Ý\92è\82·\82é
+ * @param value true Y\94½\93]\82·\82é false Y\94½\93]\82µ\82È\82¢*/
+ virtual void reverseY(const bool value) { mbReverseY = value;}
+
+ virtual void drawMode(const DrawMode value) { mDrawMode = value;};
+
+ virtual const DrawMode drawMode() const {return mDrawMode;}
+
+ virtual sprite::Sprite * const sprite() const {return mpSprite;};
+ virtual void sprite(sprite::Sprite* const value){ mpSprite = value;};
+
+ virtual const int index() const { return mIndex;};
+ virtual void index(const int value) { mIndex = value;};
+
+
+ virtual const bool visibility() const {return mbVisibility;};
+ virtual void visibility(const bool value){ mbVisibility = value;};
+
+ virtual Obj * const previous() const {return mpPrevious;};
+ virtual void previous(Obj * const value){mpPrevious = value;};
+
+ virtual Obj * const next() const {return mpNext;};
+ virtual void next(Obj * const value){mpNext = value;};
+
+private:
+
+ float mX,///< X\8dÀ\95W
+ mY,///< Y\8dÀ\95W
+ mZ,///< Z\8dÀ\95W(\95`\89æ\97D\90æ\8f\87\88Ê)
+ mRad,///< \89ñ\93]\8ap\93x(\83\89\83W\83A\83\93\81j
+ mAngle;///< \89ñ\93]\8ap\93x(\83\89\83W\83A\83\93\81j
+ float mScalingX,///< X\8e²\95û\8cü\82Ì\8ag\91å\8fk\8f¬\97¦
+ mScalingY;///< Y\8e²\95û\8cü\82Ì\8ag\91å\8fk\8f¬\97¦
+ bool mbVisibility;///< \95\\8e¦\82·\82é\82©\82µ\82È\82¢\82©
+ bool mbReverseX;///< X\94½\93]\82·\82é\82©\82µ\82È\82¢\82©
+ bool mbReverseY;///< Y\94½\93]\82·\82é\82©\82µ\82È\82¢\82©
+
+ sprite::Sprite *mpSprite;///< Sprite\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^
+ int mIndex;///< Sprite\82Ì\92\86\82Ì\83C\83\93\83f\83b\83N\83X
+
+ DrawMode mDrawMode;///< DrawMode
+ Obj* mpPrevious;///< \91O\82ÌObj\82Ì\83|\83C\83\93\83^
+ Obj* mpNext;///< \8e\9f\82ÌObj\82Ì\83|\83C\83\93\83^
+
+};// Obj
+ }
+ }
+}
+}
+#endif // !defined(AFX_OBJ_H__848EAA84_F65D_4C04_982A_EC1A7484C2E7__INCLUDED_)
--- /dev/null
+/**
+ * @file
+ * @brief 3D\83X\83v\83\89\83C\83g\91®\90«\82Ì\8eÀ\91\95\82ð\8ds\82¤.
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.*/
+
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+#include <string>
+#include "stdio.h"
+#include "math.h"
+
+#include "system.h"
+#include "console.h"
+
+#include "Obj3D.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+
+using namespace sf::system::console;
+
+Obj3D::Obj3D()
+{
+ mX = mY = mZ = 0.0f;
+ mAngleX = mAngleY = mAngleZ = 0.0f;
+ mScalingX = mScalingY = mScalingZ = 1.0f;
+ mRotXSin = mRotYSin = mRotZSin = sinf(0.0f);
+ mRotXCos = mRotYCos = mRotZCos = cosf(0.0f);
+
+ mSpaceX = mSpaceY = mSpaceZ = 0.0f;
+
+ mbVisibility = false;
+ mIndex = 0;
+ mpNext = mpPrevious = NULL;
+ mDrawMode = DRAW_TRANS;
+ mpSprite = NULL;
+}
+
+Obj3D::~Obj3D()
+{;
+}
+
+// X\8dÀ\95W \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Obj3D::x(const float value)
+{
+ mX = value;
+ mSpaceX = value * 2.0f / (float)screen::HEIGHT;
+}// x
+
+// X\8dÀ\95W \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Obj3D::y(const float value)
+{
+ mY = value;
+ mSpaceY = - value * 2.0f / (float)screen::HEIGHT;
+}// x
+
+// X\8dÀ\95W \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Obj3D::z(const float value)
+{
+ mSpaceZ = mZ = value;
+ List::deleteObj(this);
+ List::insertObj(this);
+
+ //mSpaceZ = value * 2.0f / (float)screen::HEIGHT;
+}// x
+
+// X\8ap\93x \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Obj3D::angleX(const float value)
+{
+ mAngleX = value;
+ mRotXCos = cosf(value);
+ mRotXSin = sinf(value);
+}// AngleX()
+
+// Y\8ap\93x \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Obj3D::angleY(const float value)
+{
+ mAngleY = value;
+ mRotYCos = cosf(value);
+ mRotYSin = sinf(value);
+}// AngleY()
+
+// X\8ap\93x \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Obj3D::angleZ(const float value)
+{
+ mAngleZ = value;
+ mRotZCos = cosf(value);
+ mRotZSin = sinf(value);
+}// AngleZ()
+
+
--- /dev/null
+/**
+ * @file
+ * @brief 3D\83X\83v\83\89\83C\83g\91®\90«\82Ì\92è\8b`\82ð\8ds\82¤.
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.*/
+
+/// \8fd\95¡\83C\83\93\83N\83\8b\81[\83h\96h\8e~\83}\83N\83\8d
+#if !defined(AFX_OBJ3D_H__6F81DB0E_4F49_491D_9D09_E729679CE97A__INCLUDED_)
+#define AFX_OBJ3D_H__6F81DB0E_4F49_491D_9D09_E729679CE97A__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+#include "sf.h"
+#include "Obj.h"
+extern "C" {
+namespace sf{
+ namespace system{
+ namespace console {
+/** 3D\83X\83v\83\89\83C\83g\91®\90«\83N\83\89\83X\82Ì\92è\8b` */
+class SFDLL Obj3D : public Obj
+{
+ // LIFECYCLE //
+public:
+ /// \83R\83\93\83X\83g\83\89\83N\83^
+ Obj3D();
+ /// \83f\83X\83g\83\89\83N\83^
+ virtual ~Obj3D();
+ // OPERATORS //
+ // OPERATIONS //
+
+ // ACCESS //
+
+ /** \83X\83N\83\8a\81[\83\93X\8dÀ\95W\82ð\90Ý\92è\82·\82é
+ * @param value \83X\83N\83\8a\81[\83\93X\8dÀ\95W */
+ void x(float value);
+
+ /** \8c»\8dÝ\90Ý\92è\82³\82ê\82Ä\82¢\82é\83X\83N\83\8a\81[\83\93X\8dÀ\95W\82ð\8eæ\93¾\82·\82é
+ * @return value \83X\83N\83\8a\81[\83\93X\8dÀ\95W */
+ const float x(void) const {return mX;};
+
+ /** \8c»\8dÝ\90Ý\92è\82³\82ê\82Ä\82¢\82é\83\8f\81[\83\8b\83h\8bó\8aÔX\8dÀ\95W\82ð\8eæ\93¾\82·\82é
+ * @return \83\8f\81[\83\8b\83h\8bó\8aÔX\8dÀ\95W */
+ const float spaceX(void) const {return mSpaceX;};
+
+ /** \83X\83N\83\8a\81[\83\93Y\8dÀ\95W\82ð\90Ý\92è\82·\82é
+ * @param value \83X\83N\83\8a\81[\83\93Y\8dÀ\95W */
+ void y(const float value);
+
+ /** \8c»\8dÝ\90Ý\92è\82³\82ê\82Ä\82¢\82é\83X\83N\83\8a\81[\83\93Y\8dÀ\95W\82ð\8eæ\93¾\82·\82é
+ * @return value \83X\83N\83\8a\81[\83\93Y\8dÀ\95W */
+ const float y(void) const { return mY;};
+
+ /** \8c»\8dÝ\90Ý\92è\82³\82ê\82Ä\82¢\82é\83\8f\81[\83\8b\83h\8bó\8aÔY\8dÀ\95W\82ð\8eæ\93¾\82·\82é
+ * @return \83\8f\81[\83\8b\83h\8bó\8aÔY\8dÀ\95W */
+ const float spaceY(void) const {return mSpaceY;};
+
+ /** \83X\83N\83\8a\81[\83\93Z\8dÀ\95W\82ð\90Ý\92è\82·\82é
+ * @param value \83X\83N\83\8a\81[\83\93Z\8dÀ\95W */
+ void z(const float value);
+
+ /** \8c»\8dÝ\90Ý\92è\82³\82ê\82Ä\82¢\82é\83X\83N\83\8a\81[\83\93Z\8dÀ\95W\82ð\8eæ\93¾\82·\82é
+ * @return value \83X\83N\83\8a\81[\83\93Z\8dÀ\95W */
+ const float z(void) const {return mZ;};
+
+ /** \8c»\8dÝ\90Ý\92è\82³\82ê\82Ä\82¢\82é\83\8f\81[\83\8b\83h\8bó\8aÔZ\8dÀ\95W\82ð\8eæ\93¾\82·\82é
+ * @return \83\8f\81[\83\8b\83h\8bó\8aÔZ\8dÀ\95W */
+ const float spaceZ(void) const { return mSpaceZ;};
+
+ /** X\89ñ\93]\8ap(\83\89\83W\83A\83\93 0-2\83Î)\82ð\8eæ\93¾\82·\82é
+ * @return \89ñ\93]\8ap 0-2\83Î */
+ const float angleX(void) const {return mAngleX;};
+ /** X\89ñ\93]\8ap(\83\89\83W\83A\83\93 0-2\83Î)\82ð\90Ý\92è\82·\82é
+ * @param value X\89ñ\93]\8ap */
+ void angleX(const float value);
+
+ /** Y\89ñ\93]\8ap(\83\89\83W\83A\83\93 0-2\83Î)\82ð\8eæ\93¾\82·\82é
+ * @return \89ñ\93]\8ap 0-2\83Î */
+ const float angleY(void) const {return mAngleY;};
+ /** Y\89ñ\93]\8ap(\83\89\83W\83A\83\93 0-2\83Î)\82ð\90Ý\92è\82·\82é
+ * @param value Y\89ñ\93]\8ap */
+ void angleY(const float value);
+
+ /** Z\89ñ\93]\8ap(\83\89\83W\83A\83\93 0-2\83Î\81j\82ð\8eæ\93¾\82·\82é
+ @return \89ñ\93]\8ap 0-2\83Î */
+ const float angleZ(void){return mAngleZ;};
+ /** Z\89ñ\93]\8ap(\83\89\83W\83A\83\93 0-2\83Î\81j\82ð\90Ý\92è\82·\82é
+ @param value Z\89ñ\93]\8ap */
+ void angleZ(const float value);
+
+ //
+ /** X\89ñ\93]\8ap\82ÌCos\92l\82ð\8eæ\93¾\82·\82é
+ * @return X\89ñ\93]\8ap\82ÌCos\92l */
+ const float rotXCos(void) const { return mRotXCos;};
+ /** X\89ñ\93]\8ap\82ÌSin\92l\82ð\8eæ\93¾\82·\82é
+ * @return X\89ñ\93]\8ap\82ÌSin\92l */
+ const float rotXSin(void) const { return mRotXSin;};
+
+ /** Y\89ñ\93]\8ap\82ÌCos\92l\82ð\8eæ\93¾\82·\82é
+ * @return Y\89ñ\93]\8ap\82ÌCos\92l */
+ const float rotYCos(void) const { return mRotYCos;};
+ /** Y\89ñ\93]\8ap\82ÌSin\92l\82ð\8eæ\93¾\82·\82é
+ * @return Y\89ñ\93]\8ap\82ÌSin\92l */
+ const float rotYSin(void) const { return mRotYSin;};
+
+ /** Z\89ñ\93]\8ap\82ÌCos\92l\82ð\8eæ\93¾\82·\82é
+ * @return Z\89ñ\93]\8ap\82ÌCos\92l */
+ const float rotZCos(void) const { return mRotZCos;};
+ /** Z\89ñ\93]\8ap\82ÌSin\92l\82ð\8eæ\93¾\82·\82é
+ * @return Z\89ñ\93]\8ap\82ÌSin\92l */
+ const float rotZSin(void) const { return mRotZSin;};
+
+ // \83X\83P\81[\83\8a\83\93\83O
+
+ /** X\8ag\91å\8fk\8f¬\97¦ \82ð\8eæ\93¾\82·\82é
+ * @return X\8ag\91å\8fk\8f¬\97¦ */
+ const float scalingX(void) const {return mScalingX;};
+ /** X\8ag\91å\8fk\8f¬\97¦ \82ð\90Ý\92è\82·\82é
+ * @param value X\8ag\91å\8fk\8f¬\97¦ */
+ void scalingX(const float value){mScalingX = value;};
+
+ /** Y\8ag\91å\8fk\8f¬\97¦\82ð\8eæ\93¾\82·\82é
+ * @return Y\8ag\91å\8fk\8f¬\97¦ */
+ const float scalingY(void) const {return mScalingY;};
+ /** Y\8ag\91å\8fk\8f¬\97¦ \82ð\90Ý\92è\82·\82é
+ * @param value Y\8ag\91å\8fk\8f¬\97¦ */
+ void scalingY(const float value){mScalingY = value;};
+
+ // Z
+ /** Z\8ag\91å\8fk\8f¬\97¦\82ð\8eæ\93¾\82·\82é
+ * @return Z\8ag\91å\8fk\8f¬\97¦ */
+ const float scalingZ(void) const {return mScalingZ;};
+ /** Z\8ag\91å\8fk\8f¬\97¦ \82ð\90Ý\92è\82·\82é
+ * @param value Z\8ag\91å\8fk\8f¬\97¦ */
+ void scalingZ(const float value){mScalingZ = value;};
+
+ void drawMode(const DrawMode value) { mDrawMode = value;};
+ const DrawMode drawMode() const {return mDrawMode;}
+
+ // \83X\83v\83\89\83C\83g\82Ì\83A\83h\83\8c\83X //
+ virtual sprite::Sprite * const sprite() const {return mpSprite;};
+ virtual void sprite(sprite::Sprite* const value){ mpSprite = value;};
+
+ virtual const int index() const { return mIndex;};
+ virtual void index(const int value) { mIndex = value;};
+
+ const bool visibility() const {return mbVisibility;};
+ void visibility(const bool value){ mbVisibility = value;};
+
+ Obj * const previous() const {return mpPrevious;};
+ void previous(Obj * const value){mpPrevious = value;};
+
+ Obj * const next() const {return mpNext;};
+ void next(Obj * const value){mpNext = value;};
+ // INQUIRY //
+private:
+ // \83X\83N\83\8a\81[\83\93\8dÀ\95W
+ float mX;///< \83X\83N\83\8a\81[\83\93\8dÀ\95WX
+ float mY;///< \83X\83N\83\8a\81[\83\93\8dÀ\95WY
+ float mZ;///< \83X\83N\83\8a\81[\83\93\8dÀ\95WZ
+
+ // \83\8f\81[\83\8b\83h\8bó\8aÔ\8dÀ\95W
+ float mSpaceX;///< \83\8f\81[\83\8b\83h\8bó\8aÔ\8dÀ\95WX
+ float mSpaceY;///< \83\8f\81[\83\8b\83h\8bó\8aÔ\8dÀ\95WY
+ float mSpaceZ;///< \83\8f\81[\83\8b\83h\8bó\8aÔ\8dÀ\95WZ
+
+ float mAngleX;///< X\89ñ\93]\8ap\81i\83\89\83W\83A\83\93 0-2\83Î\81j
+ float mAngleY;///< Y\89ñ\93]\8ap\81i\83\89\83W\83A\83\93 0-2\83Î\81j
+ float mAngleZ;///< Z\89ñ\93]\8ap\81i\83\89\83W\83A\83\93 0-2\83Î\81j
+
+ float mRotXSin;///< X\89ñ\93]\8ap\82ÌSin\92l
+ float mRotYSin;///< X\89ñ\93]\8ap\82ÌSin\92l
+ float mRotZSin;///< X\89ñ\93]\8ap\82ÌSin\92l
+ float mRotXCos;///< X\89ñ\93]\8ap\82ÌCos\92l
+ float mRotYCos;///< X\89ñ\93]\8ap\82ÌCos\92l
+ float mRotZCos;///< X\89ñ\93]\8ap\82ÌCos\92l
+
+ float mScalingX;///< X\8ag\91å\8fk\8f¬\97¦
+ float mScalingY;///< Y\8ag\91å\8fk\8f¬\97¦
+ float mScalingZ;///< Z\8ag\91å\8fk\8f¬\97¦
+
+ bool mbVisibility;///< \95\\8e¦\82·\82é\82©\82µ\82È\82¢\82©
+ sprite::Sprite *mpSprite;///< sprite::Sprite\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^
+ int mIndex;///< \95\\8e¦\83C\83\93\83f\83b\83N\83X
+ DrawMode mDrawMode;///< DrawMode
+ Obj* mpPrevious;///< \91O\82ÌObj\83C\83\93\83^\81[\83t\83F\81[\83X
+ Obj* mpNext;///< \8e\9f\82ÌObj\83C\83\93\83^\81[\83t\83F\81[\83X
+
+};
+ }
+ }
+}
+}
+#endif // !defined(AFX_OBJ3D_H__6F81DB0E_4F49_491D_9D09_E729679CE97A__INCLUDED_)
--- /dev/null
+/**
+ * @file
+ * @brief \83\89\83C\83e\83B\83\93\83O\8dÏ\82Ý3D\83X\83v\83\89\83C\83g\91®\90«\82Ì\92è\8b`\82ð\8ds\82¤.
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.*/
+#include "sfdebug.h"
+
+#include <string>
+#include "stdio.h"
+#include "math.h"
+
+#include "system.h"
+#include "console.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "Obj3D.h"
+#include "Obj3DL.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+using namespace sf::system::console;
+
+Obj3DL::Obj3DL() : Obj3D()
+{
+ mColor = 0xffffffff;
+ mSpecular = 0;
+
+ Obj::List::insertObj(this);
+}
+
+Obj3DL::~Obj3DL()
+{
+ Obj::List::deleteObj(this);
+}
--- /dev/null
+/**
+ * @file
+ * @brief \83\89\83C\83e\83B\83\93\83O\8dÏ\82Ý3D\83X\83v\83\89\83C\83g\91®\90«\82Ì\92è\8b`\82ð\8ds\82¤.
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.*/
+/// \8fd\95¡\83C\83\93\83N\83\8b\81[\83h\96h\8e~\83}\83N\83\8d
+#if !defined(AFX_OBJ3DL_H__D55D6FF5_0A23_4FDD_A6A5_4C2EFE1B6E28__INCLUDED_)
+#define AFX_OBJ3DL_H__D55D6FF5_0A23_4FDD_A6A5_4C2EFE1B6E28__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+#include "sf.h"
+#include "Obj3D.h"
+extern "C" {
+namespace sf {
+ namespace system {
+ namespace console {
+/** \83\89\83C\83e\83B\83\93\83O\8dÏ\82Ý\83e\83N\83X\83`\83\83\83X\83v\83\89\83C\83g\91®\90« */
+class SFDLL Obj3DL : public Obj3D
+{
+public:
+ /// \83R\83\93\83X\83g\83\89\83N\83^
+ Obj3DL();
+ /// \83f\83X\83g\83\89\83N\83^
+ virtual ~Obj3DL();
+
+ virtual void draw(){if(visibility()) sprite()->draw(this);};
+
+ /** \95\\8e¦\90F\82ð\8eæ\93¾\82·\82é
+ @return console::COLOR */
+ const COLOR color() const { return mColor;};
+ /** \95\\8e¦\90F\82ð\90Ý\92è\82·\82é
+ @param value console::COLOR */
+ void color(const COLOR value) { mColor = value;};
+
+ /** \83X\83y\83L\83\85\83\89\90F\82ð\8eæ\93¾\82·\82é
+ @return console::COLOR */
+ const COLOR specular() const { return mSpecular;};
+ /** \83X\83y\83L\83\85\83\89\90F\82ð\90Ý\92è\82·\82é
+ @param value console::COLOR */
+ void specular(const COLOR value) { mSpecular = value;};
+
+private:
+ COLOR mColor;///< \95\\8e¦\90F
+ COLOR mSpecular;///< \83X\83y\83L\83\85\83\89\90F
+};
+ }
+ }
+}
+}
+#endif // !defined(AFX_OBJ3DL_H__D55D6FF5_0A23_4FDD_A6A5_4C2EFE1B6E28__INCLUDED_)
--- /dev/null
+// ObjQuadrangle.cpp: ObjQuadrangle \83N\83\89\83X\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
+//
+// \97\9a\97ð:
+// $Log: ObjQuadrangle.cpp,v $
+// Revision 1.1 2001/10/21 12:12:35 fujiwara
+// (none)
+//
+// Revision 1.3 2001/07/01 21:30:34 fujiwara
+// \83\81\83\82\83\8a\83\8a\81[\83N\83`\83F\83b\83N\8c©\92¼\82µ
+//
+// Revision 1.2 2001/05/12 00:49:24 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+// 2001/01/29 \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p\83\89\83C\83u\83\89\83\8a\82Ì\92Ç\89Á
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+#include <string>
+#include "stdio.h"
+
+#include "system.h"
+#include "console.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "Obj.h"
+#include "Obj2D.h"
+#include "ObjQuadrangle.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+using namespace sf::system::console;
+
+ObjQuadrangle::ObjQuadrangle()
+{
+ Obj::List::insertObj(this);
+
+
+}
+
+ObjQuadrangle::~ObjQuadrangle()
+{
+ Obj::List::deleteObj(this);
+
+}
--- /dev/null
+/**
+ * @file
+ * @brief \8el\8ap\8c`\82Ì\92è\8b`\82ð\8ds\82¤.
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.*/
+
+/// \8fd\95¡\83C\83\93\83N\83\8b\81[\83h\96h\8e~\83}\83N\83\8d
+#if !defined(AFX_OBJQUADRANGLE_H__ED2DE6B9_7EFB_40FC_9DB2_F8B6D1338B88__INCLUDED_)
+#define AFX_OBJQUADRANGLE_H__ED2DE6B9_7EFB_40FC_9DB2_F8B6D1338B88__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+#include "sf.h"
+extern "C" {
+namespace sf {
+ namespace system {
+ namespace console {
+
+ /** \8el\8ap\8c`\83X\83v\83\89\83C\83g\91®\90« */
+ class SFDLL ObjQuadrangle : public Obj2D
+ {
+ // LIFECYCLE
+ public:
+ /// \83R\83\93\83X\83g\83\89\83N\83^
+ ObjQuadrangle();
+ /// \83f\83X\83g\83\89\83N\83^
+ virtual ~ObjQuadrangle();
+ // OPERATORS //
+ // OPERATIONS //
+ virtual void draw(){if(visibility()) sprite()->draw(this);};
+ // ACCESS //
+ /** \92¸\93_\94Ô\8d\86\82ð\82à\82Æ\82É\81A\92¸\93_\8fî\95ñ\82ð\93¾\82é.
+ @param i \92¸\93_\94Ô\8d\86
+ @return Vertex \82Ì\83|\83C\83\93\83^*/
+ virtual const Vertex * const vertex(const int i) const {return &mVertex[i];};
+ /** \92¸\93_\94Ô\8d\86\82ð\82à\82Æ\82É\81A\92¸\93_\8fî\95ñ\82ð\93¾\82é.
+ @param i \92¸\93_\94Ô\8d\86
+ @return Vertex \82Ì\83|\83C\83\93\83^*/
+ virtual Vertex * const vertex(const int i){return &mVertex[i];};
+ private:
+ mutable Vertex mVertex[4];///< \92¸\93_\82Ì\8fî\95ñ
+ };// ObjQuadrangle
+ }
+ }
+}
+}
+
+#endif // !defined(AFX_OBJQUADRANGLE_H__ED2DE6B9_7EFB_40FC_9DB2_F8B6D1338B88__INCLUDED_)
--- /dev/null
+/**
+ * @file
+ * @brief \95û\8c`\83X\83v\83\89\83C\83g\91®\90«\83N\83\89\83X\82Ì\8eÀ\91\95\82ð\8ds\82¤.
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.*/
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+#include <string>
+#include "stdio.h"
+
+#include "system.h"
+#include "console.h"
+
+
+#include "Obj.h"
+#include "Obj2D.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "ObjRectangle.h"
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+using namespace sf::system::console;
+
+ObjRectangle::ObjRectangle()
+{
+ mColor = 0;
+ mSpecular = 0;
+ Obj::List::insertObj(this);
+
+}
+
+ObjRectangle::~ObjRectangle()
+{
+ Obj::List::deleteObj(this);
+
+}
--- /dev/null
+/**
+ * @file
+ * @brief \95û\8c`\83X\83v\83\89\83C\83g\91®\90«\83N\83\89\83X\82Ì\92è\8b`\82ð\8ds\82¤.
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.*/
+
+/// \8fd\95¡\83C\83\93\83N\83\8b\81[\83h\96h\8e~\83}\83N\83\8d
+#if !defined(AFX_ObjRectangle_H__50602D13_69D5_4210_BB85_14A2CA649768__INCLUDED_)
+#define AFX_ObjRectangle_H__50602D13_69D5_4210_BB85_14A2CA649768__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+#include "sf.h"
+#include "Obj.h"
+extern "C" {
+namespace sf {
+ namespace system {
+ namespace console {
+
+ /** \95û\8c`\83X\83v\83\89\83C\83g. */
+ class SFDLL ObjRectangle : public Obj2D
+ {
+ // LIFECYCLE
+ public:
+ /// \83R\83\93\83X\83g\83\89\83N\83^
+ ObjRectangle();//
+ /// \83f\83X\83g\83\89\83N\83^
+ virtual ~ObjRectangle();
+ // OPERATORS //
+ // OPEARATIONS //
+ virtual void draw(){if(visibility()) sprite()->draw(this);};
+ // ACCESS
+ /** \95\\8e¦\90F\82ð\8eæ\93¾\82·\82é.
+ * @return COLOR \95\\8e¦\90F */
+ const COLOR color() const { return mColor;};
+ /** \95\\8e¦\90F\82ð\90Ý\92è\82·\82é.
+ * @param value COLOR \95\\8e¦\90F */
+ void color(const COLOR value) { mColor = value;};
+ /** \83X\83y\83L\83\85\83\89\90F\82ð\8eæ\93¾\82·\82é.
+ * @return COLOR \83X\83y\83L\83\85\83\89\90F */
+ const COLOR specular() const { return mSpecular;};
+ /** \83X\83y\83L\83\85\83\89\90F\82ð\90Ý\92è\82·\82é.
+ * @param value COLOR \83X\83y\83L\83\85\83\89\90F */
+ void specular(const COLOR value) { mSpecular = value;};
+
+ private:
+ COLOR mColor;///< \95\\8e¦\90F
+ COLOR mSpecular;///< \83X\83y\83L\83\85\83\89\90F
+
+ };// ObjRectangle
+ }
+ }
+}
+}
+#endif // !defined(AFX_ObjRectangle_H__50602D13_69D5_4210_BB85_14A2CA649768__INCLUDED_)
--- /dev/null
+========================================================================
+ \83_\83C\83i\83~\83b\83N \83\8a\83\93\83N \83\89\83C\83u\83\89\83\8a : sfglib
+========================================================================
+
+
+AppWizard \82Í\82±\82Ì sfglib DLL \82ð\8dì\90¬\82µ\82Ü\82µ\82½\81B
+
+\82±\82Ì\83t\83@\83C\83\8b\82É\82Í sfglib \83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ð\8d\\90¬\82µ\82Ä\82¢\82é\8ae\83t\83@\83C\83\8b\82Ì\8aT\97v
+\90à\96¾\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82Ü\82·\81B
+
+sfglib.dsp
+ \82±\82Ì\83t\83@\83C\83\8b (\83v\83\8d\83W\83F\83N\83g \83t\83@\83C\83\8b) \82Í\83v\83\8d\83W\83F\83N\83g \83\8c\83x\83\8b\82Ì\8fî\95ñ\82ð\8aÜ\82Ý\81A
+ \83V\83\93\83O\83\8b \83v\83\8d\83W\83F\83N\83g\82Ü\82½\82Í\83T\83u \83v\83\8d\83W\83F\83N\83g\82Ì\83r\83\8b\83h\82É\8eg\97p\82³\82ê\82Ü\82·\81B\91¼\82Ì
+ \83\86\81[\83U\81[\82Æ\83v\83\8d\83W\83F\83N\83g \83t\83@\83C\83\8b (.dsp) \82ð\8b¤\97L\82Å\82«\82Ü\82·\82ª\81A\83\81\83C\83N \83t\83@\83C\83\8b
+ \82Í\83\8d\81[\83J\83\8b\82É\83G\83N\83X\83|\81[\83g\82µ\82Ä\82\82¾\82³\82¢\81B
+sfglib.cpp
+ \82±\82Ì\83t\83@\83C\83\8b\82Í DLL \82Ì\92\86\90S\82Æ\82È\82é\83\\81[\83X \83t\83@\83C\83\8b\82Å\82·\81B
+
+ \8dì\90¬\82³\82ê\82½\8fó\91Ô\82Å\82Í\81A\82±\82Ì DLL \82Í\83V\83\93\83{\83\8b\82Ì\83G\83N\83X\83|\81[\83g\82ð\8ds\82Á\82Ä\82¢\82Ü\82¹\82ñ\81B
+ \82»\82Ì\82½\82ß\83r\83\8b\83h\82ð\8ds\82Á\82Ä\82à .LIB \83t\83@\83C\83\8b\82Í\8dì\90¬\82³\82ê\82Ü\82¹\82ñ\81B\82±\82Ì\83v\83\8d\83W\83F\83N\83g\82ð
+ \91¼\82Ì\83v\83\8d\83W\83F\83N\83g\82É\88Ë\91¶\8aÖ\8cW\82ð\8e\9d\82½\82¹\82½\82¢\8fê\8d\87\82É\82Í\81A\82±\82Ì DLL \82©\82ç\83V\83\93\83{\83\8b\82ð
+ \83G\83N\83X\83|\81[\83g\82·\82é\82½\82ß\82Ì\83R\81[\83h\82ð\92Ç\89Á\82µ\82Ä\83\89\83C\83u\83\89\83\8a\82Ì\83G\83N\83X\83|\81[\83g\82ð\8ds\82¢\81A
+ \83v\83\8d\83W\83F\83N\83g\90Ý\92è\82Ì [\83\8a\83\93\83N] \83^\83u\8fã\82Å [LIB \83t\83@\83C\83\8b\82ð\90¶\90¬\82µ\82È\82¢] \83I\83v\83V\83\87\83\93
+ \82ð\83N\83\8a\83A\82·\82é\95K\97v\82ª\82 \82è\82Ü\82·\81B
+
+/////////////////////////////////////////////////////////////////////////////
+\82»\82Ì\91¼\82Ì\95W\8f\80\83t\83@\83C\83\8b:
+
+StdAfx.h, StdAfx.cpp
+ \82±\82ê\82ç\82Ì\83t\83@\83C\83\8b\82Í\83v\83\8a\83R\83\93\83p\83C\83\8b\8dÏ\82Ý\83w\83b\83_\81[\83t\83@\83C\83\8b (PCH) sfglib.pch
+ \82â\83v\83\8a\83R\83\93\83p\83C\83\8b\8dÏ\82Ý\8c^\83t\83@\83C\83\8b StdAfx.obj \82ð\8d\\92z\82·\82é\82½\82ß\82É\8eg\97p\82³\82ê\82Ü\82·\81B
+
+
+/////////////////////////////////////////////////////////////////////////////
+\82»\82Ì\91¼\82Ì\92\8d\88Ó:
+
+AppWizard \82Í "TODO:" \82Å\8en\82Ü\82é\83R\83\81\83\93\83g\82Å\81A\83\\81[\83X\83R\81[\83h\82Ì\92Ç\89Á\82â\83J\83X\83^\83}\83C\83Y\82Ì\95K\97v
+\82È\8fê\8f\8a\82ð\8e¦\82µ\82Ü\82·\81B
+
+
+/////////////////////////////////////////////////////////////////////////////
--- /dev/null
+# Doxyfile 1.2.13
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+# TAG = value [value, ...]
+# For lists items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# General configuration options
+#---------------------------------------------------------------------------
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME = SFGLIB
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER =
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY = c:/inetpub/wwwroot/s2001/sfglib
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Brazilian, Chinese, Croatian, Czech, Danish, Dutch, Finnish, French,
+# German, Greek, Hungarian, Italian, Japanese, Korean, Norwegian, Polish,
+# Portuguese, Romanian, Russian, Slovak, Slovene, Spanish and Swedish.
+
+OUTPUT_LANGUAGE = Japanese
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL = NO
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE = YES
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC = YES
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES = YES
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these class will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF = YES
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC = YES
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
+# members of a class in the documentation of that class as if those members were
+# ordinary class members. Constructors, destructors and assignment operators of
+# the base classes will not be shown.
+
+INLINE_INHERITED_MEMB = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. It is allowed to use relative paths in the argument list.
+
+STRIP_FROM_PATH = "c:\my documents\genx\project"
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower case letters. If set to YES upper case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# users are adviced to set this option to NO.
+
+CASE_SENSE_NAMES = YES
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful is your file systems
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES = NO
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS = YES
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES = YES
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like the Qt-style comments (thus requiring an
+# explict @brief command for a brief description.
+
+JAVADOC_AUTOBRIEF = YES
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# reimplements.
+
+INHERIT_DOCS = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE = 4
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST = YES
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES =
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consist of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+# only. Doxygen will then generate output that is more tailored for C.
+# For instance some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C = NO
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text.
+
+WARN_FORMAT =
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+#INPUT = "j:\project\sfglib" j:/project/s2001scene j:/project/s2001editor j:/project/s2001game j:/project/s2001
+#INPUT = ./sfglib ./s2001scene ./s2001editor ./s2001game ./s2001
+INPUT = .
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp
+# *.h++ *.idl
+
+#FILE_PATTERNS = SYSTEM* INPUT* CONSOLE* SOUND*
+FILE_PATTERNS = *.cpp *.h
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE = NO
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE =
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories.
+
+EXCLUDE_PATTERNS =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS =
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output.
+
+INPUT_FILTER = "nkf32 -Se "
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse.
+
+FILTER_SOURCE_FILES = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+
+SOURCE_BROWSER = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES = NO
+
+# If the REFERENCED_BY_RELATION tag is set to YES (the default)
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES (the default)
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX = NO
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT =
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header.
+
+HTML_HEADER =
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER =
+
+# The HTML_STYLESHEET tag can be used to specify a user defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet
+
+HTML_STYLESHEET =
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the Html help documentation and to the tree view.
+
+TOC_EXPAND = NO
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX = NO
+
+# This tag can be used to set the number of enum values (range [1..20])
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE = 4
+
+# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
+# generated containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript and frames is required (for instance Mozilla, Netscape 4.0+,
+# or Internet explorer 4.0+). Note that for large projects the tree generation
+# can take a very long time. In such cases it is better to disable this feature.
+# Windows users are probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW = YES
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH = 250
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT =
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS = NO
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimised for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT =
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assigments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT =
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION =
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_XML = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_PREDEFINED tags.
+
+EXPAND_ONLY_PREDEF = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH = ./ ../ ../s2001scene ../s2001editor ../s2001game ../s2001 c:\dxsdk\include
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed.
+
+PREDEFINED =
+
+# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all function-like macros that are alone
+# on a line and do not end with a semicolon. Such function macros are typically
+# used for boiler-plate code, and will confuse the parser if not removed.
+
+SKIP_FUNCTION_MACROS = YES
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES tag can be used to specify one or more tagfiles.
+
+TAGFILES =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE = c:/inetpub/wwwroot/s2001/sfglib/sfglib.tag
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS = NO
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in Html, RTF and LaTeX) for classes with base or
+# super classes. Setting the tag to NO turns the diagrams off. Note that this
+# option is superceded by the HAVE_DOT option below. This is only a fallback. It is
+# recommended to install and use dot, since it yield more powerful graphs.
+
+CLASS_DIAGRAMS = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT = YES
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH = YES
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS = YES
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH = YES
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY = YES
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+
+DOT_PATH = "C:\Program Files\ATT\Graphviz\bin"
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS =
+
+# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than
+# this value, doxygen will try to truncate the graph, so that it fits within
+# the specified constraint. Beware that most browsers cannot cope with very
+# large images.
+
+MAX_DOT_GRAPH_WIDTH = 1024
+
+# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than
+# this value, doxygen will try to truncate the graph, so that it fits within
+# the specified constraint. Beware that most browsers cannot cope with very
+# large images.
+
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermedate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP = YES
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME =
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL =
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL =
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH =
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH =
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS =
--- /dev/null
+/**
+ * @file Sound.h
+ * @brief \83T\83E\83\93\83h\8eü\82è\82Ì\83N\83\89\83X\81A\92è\90\94\81A\95Ï\90\94\92è\8b`\82ð\8ds\82¤\81B
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+/// \93ñ\8fd\83C\83\93\83N\83\8b\81[\83h\96h\8e~\83}\83N\83\8d
+#if !defined(AFX_SOUND_H__87CC9C63_C71A_4276_9ACF_912DC2A4DD44__INCLUDED_)
+#define AFX_SOUND_H__87CC9C63_C71A_4276_9ACF_912DC2A4DD44__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+#include "sf.h"
+extern "C" {
+namespace sf{
+ namespace system {
+ /// \83T\83E\83\93\83h\8aÖ\8cW\82Ì\83N\83\89\83X\81E\92è\90\94\82È\82Ç\82Í\82·\82×\82Ä\82±\82±\82É\8aÜ\82Ü\82ê\82Ü\82·\81B
+ namespace sound {
+ const int OBJECT_MAX = 128;///< \83T\83E\83\93\83h\83I\83u\83W\83F\83N\83g\82Ì\8dÅ\91å\90\94
+ const int LOAD_ERROR = -1; ///< \83\8d\81[\83h\83G\83\89\81[
+ /// \83T\83E\83\93\83h\82Ì\83^\83C\83v
+ enum TYPE
+ {
+ NONE,///< \89½\82à\82È\82ç\82È\82¢
+ TEST///< TEST
+ };
+
+ /// \83T\83E\83\93\83h\81E\83{\83\8a\83\85\81[\83\80
+ namespace volume {
+ const int MAX = 0;///< \8dÅ\91å\89¹\97Ê
+ const int MIN = -9600;///< \8dÅ\8f¬\89¹\97Ê
+ };
+
+ /** \83T\83E\83\93\83h\82ð\90§\8cä\82·\82é.
+ * BGM\81E\8cø\89Ê\89¹\82ð\90§\8cä\82·\82é\83C\83\93\83^\81[\83t\83F\81[\83X\82Å\82·\81B*/
+ class Sound
+ {
+ // LIFECYCLE //
+ public:
+ /// \83R\83\93\83X\83g\83\89\83N\83^
+ Sound(){};
+ /// \83f\83X\83g\83\89\83N\83^
+ virtual ~Sound(){};
+ // OPERATORS //
+ // OPERATIONS //
+ /** \83T\83E\83\93\83h\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\8f\89\8aú\89»\82ð\8ds\82¤
+ \81@@throw FatalErrorException \8f\89\8aú\89»\82É\8e¸\94s\82µ\82½\8fê\8d\87 */
+ virtual void initialize(void) = 0;
+
+ /** \8ew\92è\82µ\82½\83T\83E\83\93\83h\94Ô\8d\86\82É\83T\83E\83\93\83h\83t\83@\83C\83\8b\82Ì\83\8d\81[\83h\82ð\8ds\82¤.
+ * @param ObjNo \83\8d\81[\83h\82µ\82½\82¢\83T\83E\83\93\83h\83I\83u\83W\83F\83N\83g\82Ì\94Ô\8d\86
+ * @param pFileName \83t\83@\83C\83\8b\83l\81[\83\80\95¶\8e\9a\97ñ\82Ì\83|\83C\83\93\83^ */
+ virtual void load(const int ObjNo,const char * const pFileName) = 0;
+
+ /** \83T\83E\83\93\83h\83t\83@\83C\83\8b\82Ì\83\8d\81[\83h\82ð\8ds\82¤.
+ * \82 \82¢\82Ä\82¢\82é\83T\83E\83\93\83h\94Ô\8d\86\82ª\82 \82ê\82Î\81A\82»\82±\82É\83\8d\81[\83h\82µ\81A\83\8d\81[\83h\82µ\82½\94Ô\8d\86\82ð\95Ô\82µ\82Ü\82·\81B
+ * @param pFileName \83T\83E\83\93\83h\83t\83@\83C\83\8b\82ÌPATH
+ * @return \83T\83E\83\93\83h\94Ô\8d\86(0 - OBJECT_MAX) */
+ virtual const int load(const char * const pFileName) = 0;
+
+ /** \83T\83E\83\93\83h\83\8a\83\\81[\83X\82Ì\83A\83\93\83\8d\81[\83h\82ð\8ds\82¤.
+ * \83T\83E\83\93\83h\83\8a\83\\81[\83X\82ð\8aJ\95ú\82µ\82Ü\82· */
+ virtual void unload() = 0;
+
+ /** \83T\83E\83\93\83h\82Ì\8dÄ\90¶\82ð\8ds\82¤.
+ * @param ObjNo \83T\83E\83\93\83h\94Ô\8d\86
+ * @param Repeat \83\8a\83s\81[\83g\89ñ\90\94(0\82Í\81\87\89ñ)
+ * @param bPrimary \83v\83\89\83C\83}\83\8a\83o\83b\83t\83@\82Å\8dÄ\90¶\82·\82é\82©\82Ç\82¤\82©
+ * @param bSync BGM\82É\93¯\8aú\82µ\82Ä\8dÄ\90¶\82·\82é\82©\82Ç\82¤\82©*/
+ virtual void play(const int ObjNo,const DWORD Repeat,const bool bPrimary,const bool bSync) = 0;
+
+ /** \83T\83E\83\93\83h\8dÄ\90¶\82ð\8e~\82ß\82é.
+ * @param ObjNo \8e~\82ß\82½\82¢\83T\83E\83\93\83h\82Ì\94Ô\8d\86 */
+ virtual void stop(const int ObjNo = 0) = 0;
+
+ /** \83T\83E\83\93\83h\83I\83u\83W\83F\83N\83g\82Ì\8dX\90V\82ð\82¨\82±\82È\82¤.
+ * \8dÄ\90¶\82Ì\8dX\90V\8dì\8bÆ\82ð\8ds\82¢\82Ü\82·\81B*/
+ virtual void update() = 0;
+ // ACCESS //
+
+ /** \83}\83X\83^\81[\83{\83\8a\83\85\81[\83\80(\91S\91Ì\82Ì\89¹\97Ê)\82ð\83Z\83b\83g\82·\82é.
+ * @param value \89¹\97Ê volume::MIN \81` volume::MAX \8aÔ\82Å\82Ì\92l */
+ virtual void masterVolume(const int value) = 0;
+
+ /** \83}\83X\83^\81[\83{\83\8a\83\85\81[\83\80(\91S\91Ì\82Ì\89¹\97Ê)\82ð\93Ç\82Ý\8fo\82·.
+ * @return \89¹\97Ê volume::MIN \81` volume::MAX \8aÔ\82Å\82Ì\92l*/
+ virtual const int masterVolume() const = 0;
+
+ /**\81@\8dÅ\91å\89¹\97Ê\82ð\83Z\83b\83g\82·\82é.
+ * @param value \89¹\97Ê volume::MIN \81` volume::MAX \8aÔ\82Å\82Ì\92l*/
+ virtual void volumeMax(const int value) = 0;
+
+ /** \8dÅ\91å\89¹\97Ê\82ð\93Ç\82Ý\8fo\82·.
+ * @return \89¹\97Ê volume::MIN \81` volume::MAX \8aÔ\82Å\82Ì\92l*/
+ virtual const int volumeMax() const = 0;
+
+ // INQUIRY //
+
+ /** \83T\83E\83\93\83h\83I\83u\83W\83F\83N\83g\82Ì\8fó\91Ô\82ð\96â\82¢\8d\87\82í\82¹\82é
+ * @retval true \8c»\8dÝ\8eg\97p\89Â\94\
+ * @retval false \8c»\8dÝ\8eg\97p\95s\89Â*/
+ virtual const bool isEnabled(void) const = 0;
+
+ };
+ }
+ }
+}
+}
+#endif // !defined(AFX_SOUND_H__87CC9C63_C71A_4276_9ACF_912DC2A4DD44__INCLUDED_)
--- /dev/null
+/**
+ * @file
+ * @brief Sound\8aÖ\98A\82Ì\8eÀ\91\95\83N\83\89\83X\81E\82»\82ê\82É\8aÖ\82·\82é\92è\90\94\92è\8b`\82È\82Ç\82ð\8ds\82¤\81B
+ *
+ * DirectSound DirectMusic \82ð\8eg\97p\82µ\82Ä\8eÀ\91\95\82µ\82Ä\82¢\82Ü\82·\81B
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+// SYSTEM INCLUDES
+//
+#define WIN32_LEAN_AND_MEAN
+#include "windows.h"
+#include "windowsx.h"
+//#include <dmusici.h>
+#include "Xact3.h"
+#include "dxerr8sf.h"
+#include <string>
+
+// PROJECT INCLUDES
+//
+#include "exception.h"
+#include "System.h"
+#include "Input.h"
+#include "Sound.h"
+#include "Console.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "SoundImpl.h"
+
+// namespace
+using namespace sf::system::sound;
+
+// ---------------------------------------------------------------------------
+//
+// SoundImpl \83N\83\89\83X
+//
+// ---------------------------------------------------------------------------
+
+struct SoundImpl::impl
+{
+ // LIFECYCLE
+public:
+ /// \83R\83\93\83X\83g\83\89\83N\83^
+ impl()
+ {
+ mbEnabled = false;
+ mpLoader = NULL;
+ mpPerformance = NULL;
+ mpDefaultAudioPath = NULL;
+
+ for(int i = 0;i < OBJECT_MAX;i++)
+ {
+ mpSegment[i] = NULL;
+ mpAudioPath[i] = NULL;
+ mbSegInUse[i] = false;
+ mFileName[i] = "";
+ }
+
+ mVolumeMax = volume::MAX;
+ mMasterVolume = volume::MIN;
+
+ initialize();
+
+ };
+ /// \83f\83X\83g\83\89\83N\83^
+ ~impl()
+ {
+ unload();
+
+ if(mpDefaultAudioPath)
+ mpDefaultAudioPath->Release();
+
+ if(mpLoader){
+ mpLoader->Release();
+ mpLoader = NULL;
+ }
+
+ if(mpPerformance)
+ {
+ mpPerformance->CloseDown();
+ mpPerformance->Release();
+ mpPerformance = NULL;
+
+ }
+ };
+ // OPERATORS //
+ // OPERATIONS //
+ void load(const int objNo,const char * const pFileName)
+ {
+ if(!isEnabled())
+ return;
+
+ if(objNo > OBJECT_MAX && objNo < 0){
+ throw RecoverbleErrorException(L"Sound Buffer is full",__FILE__,__LINE__,sf::system::Exception::BUFFER_IS_FULL);
+ }
+
+ mpPerformance->Stop(NULL,NULL,0,0);
+
+ if(mpSegment[objNo]){
+ mpSegment[objNo]->Release();
+ }
+
+ // Load the segment from the file
+ WCHAR wstrFileName[MAX_PATH];
+ MultiByteToWideChar( CP_ACP, 0, pFileName, -1,
+ wstrFileName, MAX_PATH );
+
+ if( FAILED( mpLoader->LoadObjectFromFile( CLSID_DirectMusicSegment,
+ IID_IDirectMusicSegment8,
+ wstrFileName,
+ (LPVOID*) &mpSegment[objNo] ) ) )
+ {
+ throw FatalErrorException("Media not found",__FILE__,__LINE__);
+ }
+
+ IUnknown* pconfig = NULL;
+
+ if( SUCCEEDED( mpSegment[objNo]->GetAudioPathConfig( &pconfig ) ) )
+ {
+ mpPerformance->CreateAudioPath( pconfig, TRUE, &mpAudioPath[objNo] );
+ pconfig->Release();
+ mpSegment[objNo]->Download(mpAudioPath[objNo]);
+ } else {
+ mpSegment[objNo]->Download(mpPerformance);
+ }
+
+ char *pf = strupr(strdup(const_cast<char *>(pFileName)));
+ mFileName[objNo] = pf;
+ free(pf);
+ };
+ const int load(const char * const pFileName)
+ {
+
+ std::string tmp_str;
+ char *pf = strupr(strdup(const_cast<char *>(pFileName)));
+ tmp_str = pf;
+ free(pf);
+ int i;
+
+ // \93¯\82¶\83t\83@\83C\83\8b\96¼\82Ì\83I\83u\83W\83F\83N\83g\82ª\82·\82Å\82É\83\8d\81[\83h\8dÏ\82Ý\82©\92²\8d¸
+ // \82 \82ê\82Î\82»\82Ì\94Ô\8d\86\82ð\95Ô\82·
+ for(i = 0;i < OBJECT_MAX;i++){
+ if(mFileName[i] == tmp_str){
+ return i;
+ }
+ }
+
+ // \93¯\82¶\95¨\82ª\96³\82¯\82ê\82Î\81A\8bó\82«\82ð\8c\9f\8dõ\82µ\82Ä\83\8d\81[\83h
+ for(i = 0;i < OBJECT_MAX;i++){
+ if(mpSegment[i] == NULL){
+ load(i,pFileName);
+ return i;
+ }
+ }
+
+ return LOAD_ERROR;
+
+ }
+ void unload()
+ {
+ if(mpPerformance)
+ mpPerformance->Stop(NULL,NULL,0,0);
+
+ for(int i = 0;i < OBJECT_MAX;i++)
+ {
+ // \83Z\83O\83\81\83\93\83g\82ªNULL\82Å\82È\82¢\82È\82ç\83\8a\83\8a\81[\83X
+ if(mpSegment[i]){
+ // \83I\81[\83f\83B\83I\83p\83X\82Ì\83\8a\83\8a\81[\83X
+ if(mpAudioPath[i]){
+ mpSegment[i]->Unload(mpAudioPath[i]);
+ mpAudioPath[i]->Release();
+ mpAudioPath[i] = NULL;
+ mpSegment[i]->Release();
+ } else {
+ mpSegment[i]->Unload(mpPerformance);
+ mpSegment[i]->Release();
+ }
+ }
+ mpSegment[i] = NULL;
+ mbSegInUse[i] = false;
+ }
+ }
+ // \83T\83E\83\93\83h\82Ì\8dÄ\90¶
+ void play(const int ObjNo,const DWORD Repeat,const bool bPrimary,const bool bSync)
+ {
+ if(isEnabled() && !mbSegInUse[ObjNo] && mpSegment[ObjNo])
+ {
+ if(mQueue.set(ObjNo,Repeat,bPrimary,bSync))
+ mbSegInUse[ObjNo] = true;
+ }
+ }
+ void stop(const int ObjNo = 0)
+ {
+ if(!isEnabled()) return;
+
+ if(!ObjNo)
+ {
+ mQueue.clear();
+ mpPerformance->Stop(NULL,NULL,0,0);
+ } else {
+ mpPerformance->Stop(mpSegment[ObjNo],NULL,0,0);
+ }
+ }
+ void update()
+ {
+ if(!mQueue.isEmpty()){
+ Queue::Data data;
+ mQueue.get(data);
+
+ if(!isEnabled())
+ return;
+
+ IDirectMusicAudioPath8* paudio_path = mpAudioPath[data.mObjNo];
+
+ if(paudio_path == NULL)
+ paudio_path = mpDefaultAudioPath;
+
+ DWORD flags = NULL;
+
+ if(!data.mbPrimary){
+ flags |= DMUS_SEGF_SECONDARY;
+ // flags |= DMUS_SEGF_CONTROL;
+ }
+
+ if(data.mbSync){
+ flags |= DMUS_SEGF_BEAT;
+ // flags &= !DMUS_SEGF_CONTROL;
+ }
+
+ if(!data.mRepeat)
+ mpSegment[data.mObjNo]->SetRepeats(DMUS_SEG_REPEAT_INFINITE);
+ else
+ mpSegment[data.mObjNo]->SetRepeats(data.mRepeat - 1);
+
+
+
+ if(mpSegment[data.mObjNo]){
+ mpPerformance->PlaySegmentEx(
+ mpSegment[data.mObjNo], // \8dÄ\90¶\82·\82é\83Z\83O\83\81\83\93\83g\81B
+ NULL, // \83\\83\93\83O\82É\8eg\97p\82·\82é\83p\83\89\83\81\81[\83^\81B\8eÀ\91\95\82³\82ê\82Ä\82¢\82È\82¢\81B
+ NULL, // \83g\83\89\83\93\83W\83V\83\87\83\93\82É\8aÖ\82·\82é\83p\83\89\83\81\81[\83^\81B
+ flags, // \83t\83\89\83O\81B
+ 0, // \8aJ\8en\83^\83C\83\80\81B0 \82Í\92¼\82¿\82É\8aJ\8en\81B
+ NULL, // \83Z\83O\83\81\83\93\83g\8fó\91Ô\82ð\8eó\82¯\8eæ\82é\83|\83C\83\93\83^\81B
+ NULL, // \92â\8e~\82·\82é\83I\83u\83W\83F\83N\83g\81B
+ paudio_path // \83f\83t\83H\83\8b\83g\82Å\82È\82¢\8fê\8d\87\82Í\83I\81[\83f\83B\83I\83p\83X\81B
+ );
+ mbSegInUse[data.mObjNo] = false;
+ }
+ }
+
+ }
+ // ACCESS //
+ void masterVolume(const int value)
+ {
+ if(!isEnabled())
+ return;
+ int tmp_value = value;
+
+ if(tmp_value > mVolumeMax) tmp_value = mVolumeMax;
+ if(tmp_value < volume::MIN) tmp_value = volume::MIN;
+
+ mMasterVolume = tmp_value;
+ mpDefaultAudioPath->SetVolume(value,0);
+ }
+ const int masterVolume() const {return mMasterVolume;}
+ void volumeMax(const int value){mVolumeMax = value;};
+ const int volumeMax() const {return mVolumeMax;};
+ // INQUIRY //
+ const bool isEnabled(void) const{return mbEnabled;};
+ // \8f\89\8aú\89»
+ void initialize(void)
+ {
+ HRESULT hr = E_FAIL;
+ std::string errTmp = "Sound Initialize Error:";
+
+ CoCreateInstance(CLSID_DirectMusicLoader, NULL,
+ CLSCTX_INPROC, IID_IDirectMusicLoader8,
+ (void**)&mpLoader);
+
+ CoCreateInstance(CLSID_DirectMusicPerformance, NULL,
+ CLSCTX_INPROC, IID_IDirectMusicPerformance8,
+ (void**)&mpPerformance );
+
+ // Initialize the performance with the standard audio path.
+ // This initializes both DirectMusic and DirectSound and
+ // sets up the synthesizer.
+ hr = mpPerformance->InitAudio( NULL, NULL, NULL,
+ DMUS_APATH_SHARED_STEREOPLUSREVERB, 64,
+ 0, NULL );
+
+ if(FAILED(hr)){
+ errTmp += DXGetErrorString8(hr);
+ throw FatalErrorException(errTmp,__FILE__,__LINE__);
+ }
+
+ char strPath[MAX_PATH] = ".\\media\\";
+
+ // Tell DirectMusic where the default search path is
+ WCHAR wstrSearchPath[MAX_PATH];
+ MultiByteToWideChar( CP_ACP, 0, strPath, -1,
+ wstrSearchPath, MAX_PATH );
+
+ hr = mpLoader->SetSearchDirectory( GUID_DirectMusicAllTypes,
+ wstrSearchPath, FALSE );
+
+ if(FAILED(hr)){
+ errTmp += DXGetErrorString8(hr);
+ throw FatalErrorException(errTmp,__FILE__,__LINE__);
+ }
+
+ // \83f\83t\83H\83\8b\83g\82Ì\83I\81[\83f\83B\83I\83p\83X\82Ì\90Ý\92è
+ hr = mpPerformance->CreateStandardAudioPath(
+ DMUS_APATH_DYNAMIC_STEREO ,
+ 64,
+ TRUE,
+ &mpDefaultAudioPath);
+
+ if(FAILED(hr)){
+ errTmp += DXGetErrorString8(hr);
+ throw FatalErrorException(errTmp,__FILE__,__LINE__);
+ }
+
+ mpDefaultAudioPath->SetVolume(mMasterVolume,0);
+ mbEnabled = true;
+ };
+
+private:
+
+
+ IDirectMusicLoader8* mpLoader;///< \83\8d\81[\83_\81[
+ IDirectMusicPerformance8* mpPerformance;///< \83p\83t\83H\81[\83}\83\93\83X
+ IDirectMusicSegment8* mpSegment[OBJECT_MAX];///< \83Z\83O\83\81\83\93\83g\94z\97ñ
+ IDirectMusicAudioPath8* mpAudioPath[OBJECT_MAX];///< \83I\81[\83f\83B\83I\83p\83X
+ IDirectMusicAudioPath8* mpDefaultAudioPath;///< \8aù\92è\82Ì\83I\81[\83f\83B\83I\83p\83X
+ std::string mFileName[OBJECT_MAX];///< \83T\83E\83\93\83h\82ÌPATH\94z\97ñ
+
+ bool mbSegInUse[OBJECT_MAX];///< \8c»\8dÝ\83Z\83O\83\81\83\93\83g\82ð\8eg\97p\82µ\82Ä\82¢\82é\82©\82ð\95Û\8e\9d\82µ\82Ä\82¢\82é\94z\97ñ
+ int mMasterVolume;///< \83}\83X\83^\81[\83{\83\8a\83\85\81[\83\80
+ int mVolumeMax;///< \8dÄ\90¶\8e\9e\82É\8eg\97p\82·\82é\89¹\97Ê\82Ì\92l
+
+ /** Queue\83N\83\89\83X
+ * \83T\83E\83\93\83h\82Í\8dÄ\90¶\8ew\92è\8e\9e\82É\82±\82Ì\83L\83\85\81[\82É\88ê\92U\92~\82¦\82ç\82ê\81A\83t\83\8c\81[\83\80\96\88\82É\82P\82Â\82¸\82Â\82±\82Ìqueue\82©\82ç\8eæ\82è\8fo\82µ\81Aupdate()\93à\82Å\8dÄ\90¶\82³\82ê\82Ü\82· */
+ class SFDLL Queue {
+ public:
+ /// \83R\83\93\83X\83g\83\89\83N\83^
+ Queue();
+ /// \83f\83X\83g\83\89\83N\83^
+ ~Queue();
+ /// Queue\83p\83\89\83\81\81[\83^\8d\\91¢\91Ì
+ struct Data
+ {
+ int mObjNo; ///< \83Z\83O\83\81\83\93\83g\94Ô\8d\86
+ long mRepeat; ///< \83\8a\83s\81[\83g\89ñ\90\94 0 \82Í\96³\8cÀ\89ñ
+ bool mbPrimary; ///< \83v\83\89\83C\83}\83\8a\82©\82Ç\82¤\82©
+ bool mbSync; ///< \83v\83\89\83C\83}\83\8a\82Æ\94\8f\82Å\93¯\8aú\82·\82é\82©
+ };
+ // OPERATIONS//
+
+ /** Queue\82©\82ç\8fî\95ñ\82ð\8eæ\93¾\82µ\81A\83o\83b\83t\83@\82©\82ç\8fÁ\82·.
+ * @param rData Data\8d\\91¢\91Ì\82Ì\8eQ\8fÆ*/
+ void get(Data& rData);
+
+ /** Queue\82É\83f\81[\83^\82ð\83Z\83b\83g\82·\82é.
+ * @param ObjNo \83T\83E\83\93\83h\94Ô\8d\86
+ * @param Repeat \83\8a\83s\81[\83g\89ñ\90\94(0\82Í\81\87\89ñ)
+ * @param bPrimary \83v\83\89\83C\83}\83\8a\83o\83b\83t\83@\82Å\8dÄ\90¶\82·\82é\82©\82Ç\82¤\82©
+ * @param bSync \83v\83\89\83C\83}\83\8a\83T\83E\83\93\83h\82Æ\93¯\8aú\82·\82é\82©\82Ç\82¤\82© */
+ const bool set(const int ObjNo,const DWORD Repeat,const bool bPrimary,const bool bSync);
+
+ /// \83L\83\85\81[\82ð\83N\83\8a\83A\82·\82é
+ void clear();
+ // INQUIRY //
+
+ /** queue(@ref mBuffer)\82ª\8bó\82©\82Ç\82¤\82©\96â\82¢\8d\87\82í\82¹\82é.
+ @retval true \8bó\82Å\82 \82é
+ @retval false \8bó\82Å\82È\82¢ */
+ const bool isEmpty() const {return (mStart == mEnd);};
+ private:
+ Data mBuffer[Q_MAX]; ///< Queue\83o\83b\83t\83@\94z\97ñ
+ int mStart; ///< \83\8a\83\93\83O\83o\83b\83t\83@\8aJ\8en\88Ê\92u
+ int mEnd; ///< \83\8a\83\93\83O\83o\83b\83t\83@\8fI\97¹\88Ê\92u
+
+ };// Queue
+
+ Queue mQueue; ///< \83T\83E\83\93\83h\97p\83L\83\85\81[\83I\83u\83W\83F\83N\83g
+ bool mbEnabled; ///< \83T\83E\83\93\83h\82Í\8eg\97p\89Â\94\\82©\82Ç\82¤\82©\82ð\95Û\8e\9d\82·\82é
+};
+
+// \83R\83\93\83X\83g\83\89\83N\83^ -------------------------------------------------------------
+SoundImpl::SoundImpl() : impl_(new SoundImpl::impl())
+{
+
+}// SoundImpl()
+
+// \83f\83X\83g\83\89\83N\83^ ---------------------------------------------------------------
+SoundImpl::~SoundImpl()
+{
+
+
+} // ~SoundImpl()
+
+// \8f\89\8aú\89» ---------------------------------------------------------------------
+void SoundImpl::initialize(void)
+{
+ impl_->initialize();
+
+
+}// initialize()
+
+// \83T\83E\83\93\83h\82Ì\8dÄ\90¶ -----------------------------------------------
+void SoundImpl::play(const int ObjNo,const DWORD Repeat,const bool bPrimary,const bool bSync)
+{
+ impl_->play(ObjNo,Repeat,bPrimary,bSync);
+
+
+}// play
+
+// \83L\83\85\81[\82©\82ç\83T\83E\83\93\83hNo\82ð\8eæ\82è\8fo\82µ\81A\8dÄ\90¶\82·\82é -----------------------
+void SoundImpl::update()
+{
+ impl_->update();
+}// update
+
+// \83T\83E\83\93\83h\83t\83@\83C\83\8b\82Ì\83\8d\81[\83h ---------------------------------------
+void SoundImpl::load(const int objNo,const char * const pFileName)
+{
+ impl_->load(objNo,pFileName);
+
+}// load
+
+//\81@\83T\83E\83\93\83h\83I\83u\83W\83F\83N\83g\82Ì\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+const int SoundImpl::load(const char * const pFileName)
+{
+ impl_->load(pFileName);
+}// load
+
+// \83A\83\93\83\8d\81[\83h -----------------------------------------------------
+void SoundImpl::unload()
+{
+ impl_->unload();
+}// unload
+
+void SoundImpl::masterVolume(const int value)
+{
+ impl_->masterVolume(value);
+}// masterVolume
+
+
+// ---------------------------------------------------------------------------
+//
+// SoundImpl::Queue \83N\83\89\83X
+//
+// ---------------------------------------------------------------------------
+
+// \83R\83\93\83X\83g\83\89\83N\83^ -------------------------------------------------
+SoundImpl::impl::Queue::Queue()
+{
+ clear();
+}// Queue
+
+// \83f\83X\83g\83\89\83N\83^ ---------------------------------------------------
+SoundImpl::impl::Queue::~Queue(){;};
+
+// \83\8a\83\93\83O\83o\83b\83t\83@\82É\83T\83E\83\93\83h\94Ô\8d\86\82ð\83Z\83b\83g\82·\82é -------------------------
+const bool SoundImpl::impl::Queue::set(const int ObjNo,const DWORD Repeat,const bool bPrimary,const bool bSync)
+{
+ if(mBuffer[mEnd].mObjNo == 0){
+ mBuffer[mEnd].mObjNo = ObjNo + 1;
+ mBuffer[mEnd].mRepeat = Repeat;
+ mBuffer[mEnd].mbPrimary = bPrimary;
+ mBuffer[mEnd].mbSync = bSync;
+ mEnd = (mEnd + 1) & (Q_MAX - 1);
+ return true;
+ } else {
+ return false;
+ }
+}// set
+
+// \83\8a\83\93\83O\83o\83b\83t\83@\82©\82ç\83T\83E\83\93\83h\83f\81[\83^\82ð\8eæ\82è\8fo\82· -----------------------
+void SoundImpl::impl::Queue::get(Data& rData)
+{
+ if(mStart == mEnd)
+ { rData.mObjNo =0;
+ return;
+ }
+
+ rData = mBuffer[mStart];
+ rData.mObjNo -= 1;
+ mBuffer[mStart].mObjNo = 0;
+
+ mStart = (mStart + 1) & (Q_MAX - 1);
+
+}// get
+
+// \83\8a\83\93\83O\83o\83b\83t\83@\82ð\83N\83\8a\83A\82·\82é -------------------------------------
+void SoundImpl::impl::Queue::clear()
+{
+ mStart = mEnd = 0;
+ ZeroMemory(mBuffer,sizeof(mBuffer));
+}// clear
+
+void SoundImpl::stop(int ObjNo)
+{
+ impl_->stop(ObjNo);
+}
--- /dev/null
+/**
+ * @file SoundImpl.h
+ * @brief Sound\8aÖ\98A\82Ì\8eÀ\91\95\83N\83\89\83X\81E\82»\82ê\82É\8aÖ\82·\82é\92è\90\94\92è\8b`\82È\82Ç\82ð\8ds\82¤\81B
+ *
+ * DirectSound DirectMusic \82ð\8eg\97p\82µ\82Ä\8eÀ\91\95\82µ\82Ä\82¢\82Ü\82·\81B
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+/// \93ñ\8fd\83C\83\93\83N\83\8b\81[\83h\96h\8e~\83}\83N\83\8d
+#if !defined(AFX_SoundImpl_H__B9EEAB2E_EC73_44E2_A74F_3BE8E7E64310__INCLUDED_)
+#define AFX_SoundImpl_H__B9EEAB2E_EC73_44E2_A74F_3BE8E7E64310__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+#include "sf.h"
+#include "Sound.h"
+#include "boost/shared_ptr.hpp"
+#include "boost/array.hpp"
+extern "C" {
+namespace sf{
+ namespace system {
+ namespace sound {
+
+ const int Q_MAX = 32;///< \83T\83E\83\93\83h\83L\83\85\81[\83o\83b\83t\83@\82Ì\90\94
+
+ /** Sound\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\8eÀ\91\95\83N\83\89\83X
+ */
+ class SoundImpl : public Sound
+ {
+ // LIFECYCLE
+ public:
+ /// \83R\83\93\83X\83g\83\89\83N\83^
+ SoundImpl();
+ /// \83f\83X\83g\83\89\83N\83^
+ virtual ~SoundImpl();
+ // OPERATORS //
+ // OPERATIONS //
+ void load(const int objNo,const char * const pFileName);
+ const int load(const char * const pFileName);
+ void unload();
+ // \83T\83E\83\93\83h\82Ì\8dÄ\90¶
+ void play(const int ObjNo,const DWORD Repeat,const bool bPrimary,const bool bSync);
+ void stop(const int ObjNo = 0);
+ void update();
+ // ACCESS //
+ void masterVolume(const int value);
+ const int masterVolume() const;
+ void volumeMax(const int value);
+ const int volumeMax() const;
+ // INQUIRY //
+ const bool isEnabled(void) const;
+ // \8f\89\8aú\89»
+ void initialize(void);
+
+ private:
+
+ struct impl;
+ boost::shared_ptr<impl> impl_;
+
+ };// SoundImpl
+
+ }// sound
+ }// system
+}// sound
+}
+#endif // !defined(AFX_SoundImpl_H__B9EEAB2E_EC73_44E2_A74F_3BE8E7E64310__INCLUDED_)
--- /dev/null
+/**
+ * @file
+ * @brief Sprite2D\8eÀ\91\95\83N\83\89\83X\82Ì\8eÀ\91\95\82ð\8ds\82¤.
+ *
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+// SYSTEM INCLUDES
+//
+#include <stdio.h>
+#include <queue>
+#include "windows.h"
+#include "windowsx.h"
+
+#include "d3d11.h"
+#include "d3dx11.h"
+#include "dxerr8sf.h"
+
+
+// PROJECT INCLUDES
+//
+#include "exception.h"
+#include "sound.h"
+#include "System.h"
+#include "console.h"
+#include "Obj.h"
+#include "Obj2D.h"
+#include "ObjRectangle.h"
+#include "ObjQuadrangle.h"
+#include "AbstractSprite.h"
+#include "ConsoleImpl.h"
+
+
+#include "Sprite2D.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+using namespace sf::system::console;
+using namespace sf::system::console::sprite;
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+// \83R\83\93\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+Sprite2D::Sprite2D(LPDIRECT3DDEVICE9 pD3DDevice) : AbstractSprite()
+{
+ mpSpriteVtBuf = NULL;
+ mpSpriteTexture = NULL;
+ mCellCount = 0.0f;
+ mCellHeight = mCellWidth = 0.0f;
+ initialize(pD3DDevice);
+
+}
+// \83f\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+Sprite2D::~Sprite2D()
+{
+ uninitialize();
+}
+
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Sprite2D::initialize(void)
+{
+ uninitialize();
+ mbUse = false;
+
+}// initialize()
+
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Sprite2D::initialize(LPDIRECT3DDEVICE9 pD3DDevice)
+{
+ initialize();
+
+ mpD3DDevice = pD3DDevice;
+}// initialize()
+
+// \83X\83v\83\89\83C\83g\97p\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83\8a\83\8a\81[\83X \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Sprite2D::uninitialize(void)
+{
+ if(mpSpriteVtBuf)
+ {
+ mpSpriteVtBuf->Release();
+ mpSpriteVtBuf = NULL;
+ }
+//
+// if(mpSprite3DVtBuf)
+// {
+// mpSprite3DVtBuf->Release();
+// mpSprite3DVtBuf = NULL;
+// }
+
+ if(mpSpriteTexture){
+ mpSpriteTexture->Release();
+ mpSpriteTexture = NULL;
+ }
+/*
+ if( mpMeshMaterials != NULL )
+ delete[] mpMeshMaterials;
+
+ if( mpMeshTextures )
+ {
+ for( DWORD i = 0; i < mNumMaterials; i++ )
+ {
+ if( mpMeshTextures[i] )
+ mpMeshTextures[i]->Release();
+ }
+ delete[] mpMeshTextures;
+ }
+
+ if( mpMesh != NULL )
+ mpMesh->Release();
+ */
+ mbUse = false;
+}// release()
+
+// 2D\83X\83v\83\89\83C\83g\82Ì\83\8d\81[\83h -\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Sprite2D::load(const Info *pInfo,const D3DFORMAT textureFormat,const COLOR color)
+{
+ D3DXIMAGE_INFO img_info;
+
+ HRESULT hr = D3DXCreateTextureFromFileExA(
+ mpD3DDevice,
+ pInfo->fileName,
+ D3DX_DEFAULT,
+ D3DX_DEFAULT,
+ 0,
+ 0,
+ textureFormat,
+ D3DPOOL_MANAGED,
+ D3DX_FILTER_NONE,
+ D3DX_FILTER_NONE,
+ color,
+ &img_info,
+ NULL,
+ &mpSpriteTexture);
+
+ if(FAILED(hr))
+ {
+ std::string tmpErr("Sprite Load Error:");
+ tmpErr += DXGetErrorString8(hr);
+ throw FatalErrorException(tmpErr,__FILE__,__LINE__);
+ }
+
+ DWORD twidth = img_info.Width;
+ DWORD theight = img_info.Height;
+
+ mWidth = twidth;
+ mHeight = theight;
+
+ mCenterX = pInfo->centerX;
+ mCenterY = pInfo->centerY;
+
+ mCellWidth = pInfo->cellWidth;
+ mCellHeight = pInfo->cellHeight;
+
+
+/* if(pInfo->cellWidth){
+ twidth = mCellWidth = pInfo->cellWidth;
+ }
+
+ if(pInfo->cellHeight){
+ theight = mCellHeight = pInfo->cellHeight;
+ }
+*/
+ // \83o\81[\83e\83b\83N\83X\83o\83b\83t\83@\81i2D\83X\83v\83\89\83C\83g\95\\8e¦\97p\81j\82Ì\90¶\90¬
+ if(FAILED(hr = mpD3DDevice->CreateVertexBuffer(
+ 4 * sizeof(Vertex),
+ 0 ,
+ VertexFVF,
+ D3DPOOL_MANAGED, &mpSpriteVtBuf)))
+ {
+ std::string tmpErr("VertexBuffer Create Error:");
+ tmpErr += DXGetErrorString8(hr);
+ throw FatalErrorException(tmpErr,__FILE__,__LINE__);
+ }
+
+ use(true);
+}//loadSprite2D()
+
+// \82Q\82c\83X\83v\83\89\83C\83g\82Ì\95`\89æ\81i\8el\8ap\8c`\81j\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Sprite2D::draw(const ObjRectangle * const pObj)
+{
+
+ HRESULT hr;
+
+ float width;
+ float height;
+ float left,right,top,bottom;
+ float cos_,sin_;
+ float tu1,tu2,tv1,tv2;
+
+ if(!pObj->visibility() || !isUsed())
+ return;
+
+ D3DCOLOR diffuse = pObj->color();
+ D3DCOLOR specular = pObj->specular();
+
+ calcUVPos(pObj,tu1,tu2,tv1,tv2);
+
+ Vertex* tlv;
+
+ if(!mCellHeight)
+ height = mHeight * pObj->scalingY();
+ else
+ height = mCellHeight * pObj->scalingY();
+
+ if(!mCellWidth)
+ width = mWidth * pObj->scalingX();
+ else
+ width = mCellWidth * pObj->scalingX();
+
+ left = - (width / 2.0f) + mCenterX;
+ right = width / 2.0f + mCenterX;
+ top = - (height / 2.0f) + mCenterY;
+ bottom = (height / 2.0f) + mCenterY;
+
+ if(pObj->angle() != 0.0f)
+ {
+ cos_ = cosf(pObj->angle());
+ sin_ = sinf(pObj->angle());
+
+
+ float left_cos = left * cos_;
+ float left_sin = left * sin_;
+
+ float right_cos = right * cos_;
+ float right_sin = right * sin_;
+
+ float top_cos = top * cos_;
+ float top_sin = top * sin_;
+
+ float bottom_cos = bottom * cos_;
+ float bottom_sin = bottom * sin_;
+
+ mpSpriteVtBuf->Lock(0,0,(BYTE **)&tlv,0);
+
+ tlv[0].x = pObj->x() + left_cos - top_sin;
+ tlv[0].y = pObj->y() + left_sin + top_cos;
+ tlv[0].z = pObj->z();
+ tlv[0].diffuse = diffuse;
+ tlv[0].specular = specular;
+ tlv[0].tu = tu1;
+ tlv[0].tv = tv1;
+ tlv[0].rhw = 1.0f;
+
+ tlv[1].x = pObj->x() + right_cos - top_sin;
+ tlv[1].y = pObj->y() + right_sin + top_cos;
+ tlv[1].z = pObj->z();
+ tlv[1].diffuse = diffuse;
+ tlv[1].specular = specular;
+ tlv[1].tu = tu2;
+ tlv[1].tv = tv1;
+ tlv[1].rhw = 1.0f;
+
+ tlv[2].x = pObj->x() + left_cos - bottom_sin;
+ tlv[2].y = pObj->y() + left_sin + bottom_cos;
+ tlv[2].z = pObj->z();
+ tlv[2].diffuse = diffuse;
+ tlv[2].specular = specular;
+ tlv[2].tu = tu1;
+ tlv[2].tv = tv2;
+ tlv[2].rhw = 1.0f;
+
+
+ tlv[3].x = pObj->x() + right_cos - bottom_sin;
+ tlv[3].y = pObj->y() + right_sin + bottom_cos;
+ tlv[3].z = pObj->z();
+ tlv[3].diffuse = diffuse;
+ tlv[3].specular = specular;
+ tlv[3].tu = tu2;
+ tlv[3].tv = tv2;
+ tlv[3].rhw = 1.0f;
+ } else {
+ mpSpriteVtBuf->Lock(0,0,(BYTE **)&tlv,0);
+
+ tlv[0].x = pObj->x() + left;
+ tlv[0].y = pObj->y() + top;
+ tlv[0].z = pObj->z();
+ tlv[0].diffuse = diffuse;
+ tlv[0].specular = specular;
+ tlv[0].tu = tu1;
+ tlv[0].tv = tv1;
+ tlv[0].rhw = 1.0f;
+
+ tlv[1].x = pObj->x() + right;
+ tlv[1].y = pObj->y() + top;
+ tlv[1].z = pObj->z();
+ tlv[1].diffuse = diffuse;
+ tlv[1].specular = specular;
+ tlv[1].tu = tu2;
+ tlv[1].tv = tv1;
+ tlv[1].rhw = 1.0f;
+
+ tlv[2].x = pObj->x() + left;
+ tlv[2].y = pObj->y() + bottom;
+ tlv[2].z = pObj->z();
+ tlv[2].diffuse = diffuse;
+ tlv[2].specular = specular;
+ tlv[2].tu = tu1;
+ tlv[2].tv = tv2;
+ tlv[2].rhw = 1.0f;
+
+
+ tlv[3].x = pObj->x() + right;
+ tlv[3].y = pObj->y() + bottom;
+ tlv[3].z = pObj->z();
+ tlv[3].diffuse = diffuse;
+ tlv[3].specular = specular;
+ tlv[3].tu = tu2;
+ tlv[3].tv = tv2;
+ tlv[3].rhw = 1.0f;
+
+ }
+
+ mpSpriteVtBuf->Unlock();
+
+ mpD3DDevice->SetRenderState(D3DRS_LIGHTING, FALSE);
+
+ mpD3DDevice->SetTexture(0,mpSpriteTexture);
+
+ mpD3DDevice->SetVertexShader(VertexFVF);
+ mpD3DDevice->SetStreamSource(0,mpSpriteVtBuf, sizeof(Vertex));
+
+ setRenderState(pObj->drawMode());
+
+ hr = mpD3DDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP,0,2);
+ mpD3DDevice->SetTexture(0,NULL);
+
+}// draw()
+
+
+// \83X\83v\83\89\83C\83g\82Ì\95`\89æ ------------------------------------------------------------
+void Sprite2D::draw(const ObjQuadrangle * const pObj)
+{
+ if(!pObj->visibility() || !isUsed() )
+ return;
+
+ HRESULT hr;
+
+ float cos_,sin_;
+
+ const Vertex* vertex;
+ Vertex* ptlv;
+
+ float rot_x = mCenterX;
+ float rot_y = mCenterY;
+
+ float scaling_x = pObj->scalingX();
+ float scaling_y = pObj->scalingY();
+
+ float u1,u2,v1,v2;
+
+ calcUVPos(pObj,u1,u2,v1,v2);
+
+ mpSpriteVtBuf->Lock(0,0,(BYTE **)&ptlv,0);
+
+ ptlv[0].tu = u1;
+ ptlv[0].tv = v1;
+ ptlv[1].tu = u2;
+ ptlv[1].tv = v1;
+ ptlv[2].tu = u1;
+ ptlv[2].tv = v2;
+ ptlv[3].tu = u2;
+ ptlv[3].tv = v2;
+
+ if(pObj->angle() != 0.0f)
+ {
+ cos_ = cosf(pObj->angle());
+ sin_ = sinf(pObj->angle());
+
+
+ for(int i = 0;i < 4;i++)
+ {
+ vertex = pObj->vertex(i);
+
+ ptlv[i].x = pObj->x()
+ + ( vertex->x - rot_x) * cos_
+ - ( vertex->y - rot_y) * sin_;
+ ptlv[i].y = pObj->y()
+ + ( vertex->x - rot_x) * sin_
+ + ( vertex->y - rot_y) * cos_;
+
+ ptlv[i].diffuse = vertex->diffuse;
+ ptlv[i].specular = vertex->specular;
+// ptlv[i].tu = vertex->tu;
+// ptlv[i].tv = vertex->tv;
+ ptlv[i].rhw = 1.0f;
+ }
+
+ } else {
+
+ for(int i = 0;i < 4;i++)
+ {
+ vertex = pObj->vertex(i);
+
+ ptlv[i].x = pObj->x() + vertex->x * scaling_x;
+ ptlv[i].y = pObj->y() + vertex->y * scaling_y;
+
+ ptlv[i].diffuse = vertex->diffuse;
+ ptlv[i].specular = vertex->specular;
+// ptlv[i].tu = vertex->tu;
+// ptlv[i].tv = vertex->tv;
+ ptlv[i].rhw = 1.0f;
+ }
+
+ }
+
+ mpSpriteVtBuf->Unlock();
+
+ mpD3DDevice->SetTexture(0,mpSpriteTexture);
+ mpD3DDevice->SetVertexShader(VertexFVF);
+
+ mpD3DDevice->SetStreamSource(0,mpSpriteVtBuf,sizeof(Vertex));
+
+ setRenderState(pObj->drawMode());
+ mpD3DDevice->SetRenderState(D3DRS_LIGHTING, FALSE);
+
+ hr = mpD3DDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP,0,2);
+ mpD3DDevice->SetTexture(0,NULL);
+
+}// draw
+
+// \83e\83N\83X\83`\83\83\82Ì\88Ê\92u\82ð\8b\81\82ß\82é \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Sprite2D::calcUVPos(const Obj2D * const pObj,float& u1,float& u2,float& v1,float& v2)
+{
+ float cu1,cu2,cv1,cv2;
+
+ if(mCellWidth){
+ int cell_ix = pObj->index() % (int)(mWidth / mCellWidth);
+ cu1 = (float)cell_ix * mCellWidth / mWidth;
+ cu2 = (float)(cell_ix + 1) * (mCellWidth - 0.008f) / mWidth;
+ } else {
+ cu1 = 0.0f;
+ cu2 = 1.0f;
+ }
+
+ if(mCellHeight){
+ int cell_iy = pObj->index() / (mWidth / mCellHeight);
+ cv1 = (float)cell_iy * mCellHeight / mHeight;
+ cv2 = (float)(cell_iy + 1) * (mCellHeight - 0.008f) / mHeight;
+ } else {
+ cv1 = 0.0f;
+ cv2 = 1.0f;
+ }
+
+ // X\94½\93]
+ if(pObj->reverseX()){
+ u1 = cu2;
+ u2 = cu1;
+ } else {
+ u1 = cu1;
+ u2 = cu2;
+ }
+
+ // Y\94½\93]
+ if(pObj->reverseY()){
+ v1 = cv2;
+ v2 = cv1;
+ } else {
+ v1 = cv1;
+ v2 = cv2;
+ }
+
+};
--- /dev/null
+/**
+ * @file
+ * @brief Sprite2D\8eÀ\91\95\83N\83\89\83X\8aÖ\98A\82Ì\92è\8b`\82ð\8ds\82¤.
+ *
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+
+/// \8fd\95¡\83C\83\93\83N\83\8b\81[\83h\96h\8e~\83}\83N\83\8d
+#if !defined(AFX_SPRITE2D_H__6DA7673D_29FF_4B0A_838E_FE14D70C7E27__INCLUDED_)
+#define AFX_SPRITE2D_H__6DA7673D_29FF_4B0A_838E_FE14D70C7E27__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+#include "sf.h"
+#include "Console.h"
+extern "C" {
+namespace sf{
+ namespace system{
+ namespace console {
+ namespace sprite {
+ /** 2D\83X\83v\83\89\83C\83g\82Ì\92è\8b`\82ð\8ds\82¤.
+ 2D\83X\83v\83\89\83C\83g\97p\82Ì\83e\83N\83X\83`\83\83\82ð\95Û\8e\9d\82·\82é\83I\83u\83W\83F\83N\83g\82Å\82·\81B<br>
+ */
+ class Sprite2D : public AbstractSprite
+ {
+ // LIFECYCLE //
+ public:
+ /** \83R\83\93\83X\83g\83\89\83N\83^
+ * @param pD3DDevice Direct3D Device\82Ö\82Ì\83|\83C\83\93\83^ */
+ Sprite2D(LPDIRECT3DDEVICE9 pD3DDevice);
+ /** \83f\83X\83g\83\89\83N\83^.*/
+ virtual ~Sprite2D();
+ // OPERATIONS //
+
+ /// Sprite2D\8eÀ\91\95\83N\83\89\83X\82Ì\8f\89\8aú\89»\82ð\8ds\82¤
+ void initialize(void);
+
+ /** Sprite2D\8eÀ\91\95\83N\83\89\83X\82Ì\8f\89\8aú\89»\82ð\8ds\82¤.
+ * @param pD3DDevice Direct3D Device\82Ö\82Ì\83|\83C\83\93\83^*/
+ void initialize(LPDIRECT3DDEVICE9 pD3DDevice);
+ /** \8fI\97¹\8f\88\97\9d\82ð\8ds\82¤ */
+ void uninitialize(void);
+ /** \83e\83N\83X\83`\83\83\83f\81[\83^\82Ì\83\8d\81[\83h
+ @param pInfo sprite::Info \82Ì\83|\83C\83\93\83^
+ @textureFormat D3DFORMAT
+ @color console::COLOR */
+ void load(const sprite::Info *pInfo,const D3DFORMAT textureFormat,const COLOR color);
+ void draw(const ObjRectangle * const pObj);
+ void draw(const ObjQuadrangle * const pObj);
+ void draw(const Obj3DL * const pObj){return;};
+
+ const float width(void) const
+ {
+ if(mCellWidth != 0.0f)
+ return mCellWidth;
+ return mWidth;
+ };
+
+ const float height(void) const {
+ if(mCellHeight != 0.0f)
+ return mCellHeight;
+ return mHeight;
+ };
+
+ private:
+ /** \83e\83N\83X\83`\83\83\82ÌUV\8dÀ\95W\82ð\8cv\8eZ\82·\82é.
+ * sprite::Obj2D \82Ì\8fî\95ñ\82ð\8c³\82É\81A\95\\8e¦\94Í\88Í\82ð\8b\81\82ß\82Ü\82·\81B
+ * @param pObj Obj2D \82Ì\83|\83C\83\93\83^
+ * @param u1 \8aJ\8enu\8dÀ\95W
+ * @param u2 \8fI\97¹u\8dÀ\95W
+ * @param v1 \8aJ\8env\8dÀ\95W
+ * @param v2 \8fI\97¹v\8dÀ\95W */
+ void calcUVPos(const Obj2D * const pObj,float& u1,float& u2,float& v1,float& v2);
+ IDirect3DTexture9* mpSpriteTexture;///< \83X\83v\83\89\83C\83g\83e\83N\83X\83`\83\83\82Ì\83|\83C\83\93\83^
+ IDirect3DVertexBuffer8* mpSpriteVtBuf;///< VertexBuffer8 \82Ì\83|\83C\83\93\83^
+
+ float mCellWidth;///< \83Z\83\8b\82Ì\95\9d(\83e\83N\83X\83`\83\83\82Í\82±\82Ì\95\9d\82Å\98_\97\9d\93I\82É\95ª\8a\84\82³\82ê\82é)
+ float mCellHeight;///< \83Z\83\8b\82Ì\8d\82\82³(\83e\83N\83X\83`\83\83\82Í\82±\82Ì\8d\82\82³\82Å\98_\97\9d\93I\82É\95ª\8a\84\82³\82ê\82é)
+ float mCellCount;///< \83Z\83\8b\82Ì\90\94(\98_\97\9d\93I\82É\95ª\8a\84\82³\82ê\82½\8cã\82Ì\83e\83N\83X\83`\83\83\82Ì\90\94\81j
+
+ };// SpriteImpl
+ }
+ }
+ }
+}
+}
+#endif // !defined(AFX_SPRITE2D_H__6DA7673D_29FF_4B0A_838E_FE14D70C7E27__INCLUDED_)
--- /dev/null
+/**
+ * @file
+ * @brief Sprite3D\8eÀ\91\95\83N\83\89\83X\82Ì\8eÀ\91\95\82ð\8ds\82¤.
+ *
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+// SYSTEM INCLUDES
+//
+#include <stdio.h>
+#include <queue>
+#include "windows.h"
+#include "windowsx.h"
+
+#include "d3d8.h"
+#include "d3dx8.h"
+#include "dxerr8sf.h"
+
+
+// PROJECT INCLUDES
+//
+#include "exception.h"
+#include "sound.h"
+#include "System.h"
+#include "console.h"
+#include "Obj.h"
+#include "Obj3D.h"
+#include "Obj3DL.h"
+#include "AbstractSprite.h"
+#include "ConsoleImpl.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "Sprite3D.h"
+
+using namespace sf::system::console;
+using namespace sf::system::console::sprite;
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+// \83R\83\93\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+Sprite3D::Sprite3D(LPDIRECT3DDEVICE9 pD3DDevice)
+{
+ mpSprite3DVtBuf = NULL;
+ mpSpriteTexture = NULL;
+ mCellWidth = mCellHeight = 0.0f;
+ mCellCount = 0.0f;
+
+ initialize(pD3DDevice);
+}
+
+// \83f\83X\83g\83\89\83N\83^ \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+Sprite3D::~Sprite3D()
+{
+ uninitialize();
+}//Sprite3D
+
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Sprite3D::initialize(void)
+{
+ uninitialize();
+ mbUse = false;
+
+}// initialize()
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Sprite3D::initialize(LPDIRECT3DDEVICE9 pD3DDevice)
+{
+ initialize();
+
+ mpD3DDevice = pD3DDevice;
+}// initialize()
+
+// \83X\83v\83\89\83C\83g\97p\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83\8a\83\8a\81[\83X \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Sprite3D::uninitialize(void)
+{
+
+ if(mpSprite3DVtBuf)
+ {
+ mpSprite3DVtBuf->Release();
+ mpSprite3DVtBuf = NULL;
+ }
+
+ if(mpSpriteTexture){
+ mpSpriteTexture->Release();
+ mpSpriteTexture = NULL;
+ }
+/*
+ if( mpMeshMaterials != NULL )
+ delete[] mpMeshMaterials;
+
+ if( mpMeshTextures )
+ {
+ for( DWORD i = 0; i < mNumMaterials; i++ )
+ {
+ if( mpMeshTextures[i] )
+ mpMeshTextures[i]->Release();
+ }
+ delete[] mpMeshTextures;
+ }
+
+ if( mpMesh != NULL )
+ mpMesh->Release();
+ */
+ mbUse = false;
+}// uninitialize()
+
+
+// 3D\83X\83v\83\89\83C\83g\82Ì\83\8d\81[\83h -\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void Sprite3D::load(const sprite::Info *pInfo,const D3DFORMAT textureFormat,const COLOR color)
+{
+ // \83e\83N\83X\83`\83\83\82Ì\83\8d\81[\83h
+ D3DXIMAGE_INFO img_info;
+ HRESULT hr = D3DXCreateTextureFromFileExA(
+ mpD3DDevice,
+ pInfo->fileName,
+ D3DX_DEFAULT,
+ D3DX_DEFAULT,
+ 0,
+ 0,
+ textureFormat,
+ D3DPOOL_MANAGED,
+ D3DX_FILTER_NONE,
+ D3DX_FILTER_NONE,
+ color,
+ &img_info,
+ NULL,
+ &mpSpriteTexture);
+
+ if(FAILED(hr))
+ {
+ std::string tmpErr("Sprite Load Error:");
+ tmpErr += DXGetErrorString8(hr);
+ throw FatalErrorException(tmpErr,__FILE__,__LINE__);
+ }
+
+ DWORD twidth = img_info.Width;
+ DWORD theight = img_info.Height;
+
+
+ mWidth = twidth;
+ mHeight = theight;
+
+ if(pInfo->cellWidth){
+ twidth = mCellWidth = pInfo->cellWidth;
+ }
+
+ if(pInfo->cellHeight){
+ theight = mCellHeight = pInfo->cellHeight;
+ }
+
+
+ //\83C\83\81\81[\83W\83T\83C\83Y\82Ì\8eæ\93¾
+
+ float width = (float)twidth / screen::HEIGHT;
+ float height = (float)theight / screen::HEIGHT;
+
+ float center_x = pInfo->centerX / (float)screen::HEIGHT;
+ float center_y = pInfo->centerY / (float)screen::HEIGHT;
+
+ mCenterX = pInfo->centerX;
+ mCenterY = pInfo->centerY;
+
+ float start_x = center_x - width;
+ float start_y = center_y - height;
+
+ float end_x = center_x + width;
+ float end_y = center_y + height;
+
+ D3DSURFACE_DESC d3dsd;
+
+ mpSpriteTexture->GetLevelDesc(0,&d3dsd);
+
+ float cell_width = (float)twidth / (float)d3dsd.Width;
+ float cell_height = (float)theight / (float)d3dsd.Height;
+
+ int count_x = 1;
+ int count_y = 1;
+
+ if(mCellWidth && mCellHeight)
+ {
+ count_x = mWidth / mCellWidth;
+ count_y = mHeight / mCellHeight;
+ mCellCount = count_x * count_y;
+ }
+ else
+ {
+ mCellCount = 1;
+ }
+
+ int vert_size = sizeof(Vertex2) * 4 * mCellCount;
+
+ hr = mpD3DDevice->CreateVertexBuffer( vert_size,
+ 0, Vertex2FVF,D3DPOOL_MANAGED , &mpSprite3DVtBuf );
+
+ if(FAILED(hr)){
+ std::string tmpErr("Sprite Load Error:");
+ tmpErr += DXGetErrorString8(hr);
+ throw FatalErrorException(tmpErr,__FILE__,__LINE__);
+ }
+
+ LPBYTE pvertices;
+
+ mpSprite3DVtBuf->Lock( 0, vert_size, (BYTE**)&pvertices, 0 );
+
+ int i,j;
+ for(j = 0;j < count_y;j++)
+ {
+ for(i = 0;i < count_x;i++)
+ {
+ Vertex2 vert_image[] =
+ {
+ { start_x,start_y, 0.0f, 0xffffffff,0x0000000,cell_width*i, cell_height*(j+1)},
+ { start_x,end_y, 0.0f, 0xffffffff,0x0000000,cell_width*i, cell_height*(j)},
+ { end_x, start_y, 0.0f, 0xffffffff,0x0000000,cell_width*(i+1),cell_height*(j+1)},
+ { end_x, end_y, 0.0f, 0xffffffff,0x0000000,cell_width*(i+1),cell_height*(j)}
+ };
+ memcpy( pvertices, vert_image, sizeof(vert_image) );
+ pvertices += sizeof(Vertex2) * 4;
+ }
+ }
+
+ mpSprite3DVtBuf->Unlock();
+
+ use(true);
+
+}//load()
+
+// \83X\83v\83\89\83C\83g\82Ì\95`\89æ(3D) -------------------------------------------------------
+void Sprite3D::draw(const Obj3DL * const pObj)
+{
+
+ HRESULT hr;
+ if(!pObj->visibility())
+ return;
+
+ D3DMATRIX matrix_scaling=
+ {
+ pObj->scalingX(),0,0,0,
+ 0,pObj->scalingY(),0,0,
+ 0,0,pObj->scalingZ(),0,
+ 0,0,0,1
+ };
+
+ D3DMATRIX matrix_trans=
+ {
+ 1,0,0,0,
+ 0,1,0,0,
+ 0,0,1,0,
+ pObj->spaceX(),pObj->spaceY(),pObj->spaceZ(),1
+ };
+
+
+ D3DMATRIX matrix_rotx =
+ {
+ 1,0,0,0,
+ 0,pObj->rotXCos(),pObj->rotXSin(),0,
+ 0,-pObj->rotXSin(),pObj->rotXCos(),0,
+ 0,0,0,1
+ };
+
+ D3DMATRIX matrix_roty=
+ {
+ pObj->rotYCos(),0,-pObj->rotYSin(),0,
+ 0,1,0,0,
+ pObj->rotYSin(),0,pObj->rotYCos(),0,
+ 0,0,0,1
+ };
+
+
+ D3DMATRIX matrix_rotz =
+ {
+ pObj->rotZCos(),pObj->rotZSin(),0,0,
+ -pObj->rotZSin(),pObj->rotZCos(),0,0,
+ 0,0,1,0,
+ 0,0,0,1
+ };
+
+
+
+ hr = mpD3DDevice->SetTransform(D3DTS_WORLD ,&matrix_trans);
+
+ hr = mpD3DDevice->MultiplyTransform(D3DTS_WORLD ,&matrix_scaling);
+ hr = mpD3DDevice->MultiplyTransform(D3DTS_WORLD ,&matrix_rotx);
+ hr = mpD3DDevice->MultiplyTransform(D3DTS_WORLD ,&matrix_roty);
+ hr = mpD3DDevice->MultiplyTransform(D3DTS_WORLD ,&matrix_rotz);
+
+
+ Vertex2 *ptlv;
+ mpSprite3DVtBuf->Lock(0,0,(BYTE **)&ptlv,0);
+
+ ptlv[0].specular =
+ ptlv[1].specular =
+ ptlv[2].specular =
+ ptlv[3].specular = pObj->specular();
+
+ ptlv[0].diffuse =
+ ptlv[1].diffuse =
+ ptlv[2].diffuse =
+ ptlv[3].diffuse = pObj->color();
+
+ mpSprite3DVtBuf->Unlock();
+
+ hr = mpD3DDevice->SetTexture(0,mpSpriteTexture);
+ setRenderState(pObj->drawMode());
+ mpD3DDevice->SetRenderState(D3DRS_LIGHTING, FALSE);
+ mpD3DDevice->SetRenderState(D3DRS_CULLMODE , D3DCULL_NONE );
+
+ hr = mpD3DDevice->SetStreamSource(0,mpSprite3DVtBuf,sizeof(Vertex2));
+ hr = mpD3DDevice->SetVertexShader(Vertex2FVF);
+
+ hr = mpD3DDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP,pObj->index(),2);
+
+ mpD3DDevice->SetTexture(0,NULL);
+
+}// draw()
+
--- /dev/null
+/**
+ * @file
+ * @brief Sprite3D\8eÀ\91\95\83N\83\89\83X\8aÖ\98A\82Ì\92è\8b`\82ð\8ds\82¤.
+ *
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+/// \8fd\95¡\83C\83\93\83N\83\8b\81[\83h\96h\8e~\83}\83N\83\8d
+#if !defined(AFX_SPRITE3D_H__AA321D29_F334_4A4F_A2DC_76B6891F09A7__INCLUDED_)
+#define AFX_SPRITE3D_H__AA321D29_F334_4A4F_A2DC_76B6891F09A7__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+#include "sf.h"
+#include "AbstractSprite.h"
+extern "C" {
+namespace sf {
+ namespace system {
+ namespace console {
+ namespace sprite {
+ /** 3D\83X\83v\83\89\83C\83g.
+ 3D\83X\83v\83\89\83C\83g\97p\82Ì\83e\83N\83X\83`\83\83\82ð\95Û\8e\9d\82·\82é\83I\83u\83W\83F\83N\83g\82Å\82· */
+ class Sprite3D : public AbstractSprite
+ {
+ public:
+ // LIFECYCLE //
+ /** \83R\83\93\83X\83g\83\89\83N\83^
+ * @param pD3DDevice Direct3D \83f\83o\83C\83X\82Ì\83|\83C\83\93\83^ */
+ Sprite3D(LPDIRECT3DDEVICE9 pD3DDevice);
+ /** \83f\83X\83g\83\89\83N\83^ */
+ virtual ~Sprite3D();
+ // OPERATIONS //
+ void initialize(void);
+ void initialize(LPDIRECT3DDEVICE9 pD3DDevice);
+ void uninitialize(void);
+ void load(const sprite::Info *pInfo,const D3DFORMAT textureFormat,const COLOR color);
+
+ void draw(const ObjRectangle * const pObj){return;}
+ void draw(const ObjQuadrangle * const pObj){return;}
+ void draw(const Obj3DL * const pObj);
+ const float width(void) const
+ {
+ if(mCellWidth != 0.0f)
+ return mCellWidth;
+ return mWidth;
+ };
+
+ const float height(void) const {
+ if(mCellHeight != 0.0f)
+ return mCellHeight;
+ return mHeight;
+ };
+
+ private:
+ IDirect3DTexture9* mpSpriteTexture;///< \83X\83v\83\89\83C\83g\83e\83N\83X\83`\83\83
+ IDirect3DVertexBuffer8* mpSprite3DVtBuf;///< \83X\83v\83\89\83C\83g\97pVertex\83o\83b\83t\83@
+
+ float mCellWidth;///< \83Z\83\8b\82Ì\95\9d(\83e\83N\83X\83`\83\83\82Í\82±\82Ì\95\9d\82Å\98_\97\9d\93I\82É\95ª\8a\84\82³\82ê\82é)
+ float mCellHeight;///< \83Z\83\8b\82Ì\8d\82\82³(\83e\83N\83X\83`\83\83\82Í\82±\82Ì\8d\82\82³\82Å\98_\97\9d\93I\82É\95ª\8a\84\82³\82ê\82é)
+ float mCellCount;///< \83Z\83\8b\82Ì\90\94(\98_\97\9d\93I\82É\95ª\8a\84\82³\82ê\82½\8cã\82Ì\83e\83N\83X\83`\83\83\82Ì\90\94\81j
+
+ };
+ }
+ }
+ }
+}
+}
+#endif // !defined(AFX_SPRITE3D_H__AA321D29_F334_4A4F_A2DC_76B6891F09A7__INCLUDED_)
--- /dev/null
+/**
+ * @file
+ * @brief SpriteMesh\8eÀ\91\95\83N\83\89\83X\82Ì\8eÀ\91\95\82ð\8ds\82¤.
+ *
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#include "sfdebug.h"
+
+// SYSTEM INCLUDES
+//
+
+#include <stdio.h>
+#include <queue>
+#include "windows.h"
+#include "windowsx.h"
+
+#include "d3d8.h"
+#include "d3dx8.h"
+#include "dxerr8sf.h"
+
+
+// PROJECT INCLUDES
+//
+
+#include "exception.h"
+#include "sound.h"
+#include "System.h"
+#include "console.h"
+#include "Obj.h"
+#include "Obj3D.h"
+#include "Obj3DL.h"
+#include "AbstractSprite.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#include "SpriteMesh.h"
+
+
+using namespace sf::system::console;
+using namespace sf::system::console::sprite;
+
+
+//////////////////////////////////////////////////////////////////////
+// \8d\\92z/\8fÁ\96Å
+//////////////////////////////////////////////////////////////////////
+
+SpriteMesh::SpriteMesh(LPDIRECT3DDEVICE9 pD3DDevice)
+{
+ mNumMaterials = 0;
+ mpMesh = NULL;
+ mpMeshMaterials = NULL;
+ mpMeshTextures = NULL;
+
+ initialize(pD3DDevice);
+
+}
+
+SpriteMesh::~SpriteMesh()
+{
+ uninitialize();
+}
+
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void SpriteMesh::initialize(void)
+{
+ uninitialize();
+ mbUse = false;
+
+}// initialize()
+
+// \8f\89\8aú\89» \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void SpriteMesh::initialize(LPDIRECT3DDEVICE9 pD3DDevice)
+{
+ initialize();
+
+ mpD3DDevice = pD3DDevice;
+}// initialize()
+
+// \83X\83v\83\89\83C\83g\97p\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83\8a\83\8a\81[\83X \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void SpriteMesh::uninitialize(void)
+{
+
+
+ if( mpMeshMaterials != NULL )
+ delete[] mpMeshMaterials;
+
+ if( mpMeshTextures )
+ {
+ for( DWORD i = 0; i < mNumMaterials; i++ )
+ {
+ if( mpMeshTextures[i] )
+ mpMeshTextures[i]->Release();
+ }
+ delete[] mpMeshTextures;
+ }
+
+ if( mpMesh != NULL )
+ mpMesh->Release();
+
+ mbUse = false;
+}// uninitialize
+
+// \83\81\83b\83V\83\85\82Ì\83\8d\81[\83h \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void SpriteMesh::load(const Info *pInfo,const D3DFORMAT textureFormat,const COLOR color)
+{
+ LPD3DXBUFFER pD3DXMtrlBuffer;
+ HRESULT hr;
+
+ // Load the mesh from the specified file
+ if( FAILED( hr = D3DXLoadMeshFromX( (char *)(pInfo->fileName), D3DXMESH_SYSTEMMEM,
+ mpD3DDevice, NULL,
+ &pD3DXMtrlBuffer, &mNumMaterials,
+ &mpMesh ) ) )
+ {
+ std::string tmpErr("Sprite Load Error:");
+ tmpErr += DXGetErrorString8(hr);
+ throw FatalErrorException(tmpErr,__FILE__,__LINE__);
+ }
+
+ // We need to extract the material properties and texture names from the
+ // pD3DXMtrlBuffer
+
+ D3DXMATERIAL* d3dxMaterials = (D3DXMATERIAL*)pD3DXMtrlBuffer->GetBufferPointer();
+ mpMeshMaterials = new D3DMATERIAL8[mNumMaterials];
+ mpMeshTextures = new LPDIRECT3DTEXTURE8[mNumMaterials];
+
+ for( DWORD i = 0; i < mNumMaterials; i++ )
+ {
+ // Copy the material
+ mpMeshMaterials[i] = d3dxMaterials[i].MatD3D;
+
+ // Set the ambient color for the material (D3DX does not do this)
+ mpMeshMaterials[i].Ambient = mpMeshMaterials[i].Diffuse;
+
+ // Create the texture
+ // if( FAILED( hr = D3DXCreateTextureFromFile( mpD3DDevice,
+ // d3dxMaterials[i].pTextureFilename,
+ // &mpMeshTextures[i] ) ) )
+ HRESULT hr = D3DXCreateTextureFromFileExA(
+ mpD3DDevice,
+ d3dxMaterials[i].pTextureFilename,
+ D3DX_DEFAULT,
+ D3DX_DEFAULT,
+ 0,
+ 0,
+ textureFormat,
+ D3DPOOL_MANAGED,
+ D3DX_FILTER_NONE,
+ D3DX_FILTER_NONE,
+ color,
+ NULL,
+ NULL,
+ &mpMeshTextures[i]);
+ if(FAILED(hr))
+ {
+
+ mpMeshTextures[i] = NULL;
+ }
+ }
+
+ // Done with the material buffer
+ pD3DXMtrlBuffer->Release();
+}// loadMesh()
+
+
+// \83X\83v\83\89\83C\83g\82Ì\95`\89æ(3D) -------------------------------------------------------
+void SpriteMesh::draw(const Obj3DL * const pObj)
+{
+
+ HRESULT hr;
+ if(!pObj->visibility())
+ return;
+
+ D3DMATRIX matrix_scaling=
+ {
+ pObj->scalingX(),0,0,0,
+ 0,pObj->scalingY(),0,0,
+ 0,0,pObj->scalingZ(),0,
+ 0,0,0,1
+ };
+
+ D3DMATRIX matrix_trans=
+ {
+ 1,0,0,0,
+ 0,1,0,0,
+ 0,0,1,0,
+ pObj->spaceX(),pObj->spaceY(),pObj->spaceZ(),1
+ };
+
+
+ D3DMATRIX matrix_rotx =
+ {
+ 1,0,0,0,
+ 0,pObj->rotXCos(),pObj->rotXSin(),0,
+ 0,-pObj->rotXSin(),pObj->rotXCos(),0,
+ 0,0,0,1
+ };
+
+ D3DMATRIX matrix_roty=
+ {
+ pObj->rotYCos(),0,-pObj->rotYSin(),0,
+ 0,1,0,0,
+ pObj->rotYSin(),0,pObj->rotYCos(),0,
+ 0,0,0,1
+ };
+
+
+ D3DMATRIX matrix_rotz =
+ {
+ pObj->rotZCos(),pObj->rotZSin(),0,0,
+ -pObj->rotZSin(),pObj->rotZCos(),0,0,
+ 0,0,1,0,
+ 0,0,0,1
+ };
+
+
+
+ hr = mpD3DDevice->SetTransform(D3DTS_WORLD ,&matrix_trans);
+
+ hr = mpD3DDevice->MultiplyTransform(D3DTS_WORLD ,&matrix_scaling);
+ hr = mpD3DDevice->MultiplyTransform(D3DTS_WORLD ,&matrix_rotx);
+ hr = mpD3DDevice->MultiplyTransform(D3DTS_WORLD ,&matrix_roty);
+ hr = mpD3DDevice->MultiplyTransform(D3DTS_WORLD ,&matrix_rotz);
+
+ setRenderState(pObj->drawMode());
+ mpD3DDevice->SetRenderState(D3DRS_LIGHTING, TRUE);
+ mpD3DDevice->SetRenderState(D3DRS_CULLMODE , D3DCULL_CCW );
+
+ for( DWORD i = 0; i < mNumMaterials; i++ )
+ {
+ // Set the material and texture for this subset
+ mpD3DDevice->SetMaterial( &mpMeshMaterials[i] );
+ mpD3DDevice->SetTexture( 0, mpMeshTextures[i] );
+
+ // Draw the mesh subset
+ mpMesh->DrawSubset( i );
+ }
+
+}// draw()
+
--- /dev/null
+/**
+ * @file
+ * @brief SpriteMesh\8eÀ\91\95\83N\83\89\83X\8aÖ\98A\82Ì\92è\8b`\82ð\8ds\82¤.
+ *
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+/// \8fd\95¡\83C\83\93\83N\83\8b\81[\83h\96h\8e~\83}\83N\83\8d
+#if !defined(AFX_SPRITEMESH_H__572D6B9D_63CF_41E9_8D17_4A37518A0CA2__INCLUDED_)
+#define AFX_SPRITEMESH_H__572D6B9D_63CF_41E9_8D17_4A37518A0CA2__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+#include "sf.h"
+#include "AbstractSprite.h"
+extern "C" {
+namespace sf {
+ namespace system {
+ namespace console {
+ namespace sprite {
+/** 3D\83\81\83b\83V\83\85\83X\83v\83\89\83C\83g.
+ * \83|\83\8a\83S\83\93\82Å\8d\\90¬\82³\82ê\82½3D\83I\83u\83W\83F\83N\83g\82Ì\83f\81[\83^\82ð\95Û\8e\9d\82µ\82Ü\82· */
+class SpriteMesh : public AbstractSprite
+{
+public:
+ // LIFECYCLE //
+ /** \83R\83\93\83X\83g\83\89\83N\83^
+ * @param pD3DDevice Direct3D \83f\83o\83C\83X\82Ì\83|\83C\83\93\83^ */
+ SpriteMesh(LPDIRECT3DDEVICE9 pD3DDevice);
+ /// \83f\83X\83g\83\89\83N\83^
+ virtual ~SpriteMesh();
+
+ // OPERATIONS //
+ void initialize(void);///< \8f\89\8aú\89»
+ /** \8f\89\8aú\89»\82Q.
+ @param pD3DDevice LPPDIRECT3DDEVICE8 */
+ void initialize(LPDIRECT3DDEVICE9 pD3DDevice);
+ void uninitialize(void);///< \8fI\97¹\8f\88\97\9d
+ // \95`\89æ\97p\83\8c\83\93\83_\83\8a\83\93\83O\83X\83e\81[\83g\82Ì\90Ý\92è
+ void load(const sprite::Info *pInfo,const D3DFORMAT textureFormat,const COLOR color);
+
+ void draw(const ObjRectangle * const pObj){return;};
+ void draw(const ObjQuadrangle * const pObj){return;};
+ void draw(const Obj3DL * const pObj);
+
+private:
+
+ LPD3DXMESH mpMesh ; ///< Our mesh object in sysmem
+ D3DMATERIAL8* mpMeshMaterials; ///< Materials for our mesh
+ LPDIRECT3DTEXTURE8* mpMeshTextures; ///< Textures for our mesh
+ DWORD mNumMaterials; ///< Number of mesh materials
+
+};// SpriteMesh
+ }
+ }
+ }
+}
+}
+#endif // !defined(AFX_SPRITEMESH_H__572D6B9D_63CF_41E9_8D17_4A37518A0CA2__INCLUDED_)
--- /dev/null
+// stdafx.cpp : \95W\8f\80\83C\83\93\83N\83\8b\81[\83h\83t\83@\83C\83\8b\82ð\8aÜ\82Þ\83\\81[\83X \83t\83@\83C\83\8b
+// sfglib.pch \90¶\90¬\82³\82ê\82é\83v\83\8a\83R\83\93\83p\83C\83\8b\8dÏ\83w\83b\83_\81[
+// stdafx.obj \90¶\90¬\82³\82ê\82é\83v\83\8a\83R\83\93\83p\83C\83\8b\8dÏ\83^\83C\83v\8fî\95ñ
+
+#include "stdafx.h"
+
+// TODO: STDAFX.H \82É\8aÜ\82Ü\82ê\82Ä\82¢\82Ä\81A\82±\82Ì\83t\83@\83C\83\8b\82É\8bL\8fq\82³\82ê\82Ä\82¢\82È\82¢
+// \83w\83b\83_\81[\83t\83@\83C\83\8b\82ð\92Ç\89Á\82µ\82Ä\82\82¾\82³\82¢\81B
--- /dev/null
+// stdafx.h : \95W\8f\80\82Ì\83V\83X\83e\83\80 \83C\83\93\83N\83\8b\81[\83h \83t\83@\83C\83\8b\81A
+// \82Ü\82½\82Í\8eQ\8fÆ\89ñ\90\94\82ª\91½\82\81A\82©\82Â\82 \82Ü\82è\95Ï\8dX\82³\82ê\82È\82¢
+// \83v\83\8d\83W\83F\83N\83g\90ê\97p\82Ì\83C\83\93\83N\83\8b\81[\83h \83t\83@\83C\83\8b\82ð\8bL\8fq\82µ\82Ü\82·\81B
+//
+
+#if !defined(AFX_STDAFX_H__050FFF83_35A1_43A9_B1B8_BAC18FC87245__INCLUDED_)
+#define AFX_STDAFX_H__050FFF83_35A1_43A9_B1B8_BAC18FC87245__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+
+// \82±\82Ì\88Ê\92u\82É\83w\83b\83_\81[\82ð\91}\93ü\82µ\82Ä\82\82¾\82³\82¢
+#define WIN32_LEAN_AND_MEAN // Windows \83w\83b\83_\81[\82©\82ç\96w\82Ç\8eg\97p\82³\82ê\82È\82¢\83X\83^\83b\83t\82ð\8f\9c\8aO\82µ\82Ü\82·
+
+#include <windows.h>
+// TODO: \83v\83\8d\83O\83\89\83\80\82Å\95K\97v\82È\83w\83b\83_\81[\8eQ\8fÆ\82ð\92Ç\89Á\82µ\82Ä\82\82¾\82³\82¢\81B
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft Visual C++ \82Í\91O\8ds\82Ì\92¼\91O\82É\92Ç\89Á\82Ì\90é\8c¾\82ð\91}\93ü\82µ\82Ü\82·\81B
+
+#endif // !defined(AFX_STDAFX_H__050FFF83_35A1_43A9_B1B8_BAC18FC87245__INCLUDED_)
--- /dev/null
+//@STATE=\8a®\90¬
+//@DESCRIPTION ---------------------------------------------------------------
+// System \92\8a\8fÛ\83N\83\89\83X
+// Static\95\94\95ª\82Ì\8eÀ\91\95
+// \97\9a\97ð:
+// $Log: System.cpp,v $
+// Revision 1.3 2001/11/06 21:27:42 fujiwara
+// \91å\95\9d\8dX\90V\91O\83o\83b\83N\83A\83b\83v
+//
+// Revision 1.2 2001/10/28 21:35:56 fujiwara
+// (none)
+//
+// Revision 1.1 2001/10/21 12:12:36 fujiwara
+// (none)
+//
+// Revision 1.5 2001/07/09 20:30:10 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.4 2001/07/01 01:03:44 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.3 2001/05/29 01:12:25 fujiwara
+// \8eG\8b\9b\83L\83\83\83\89(\94ò\8ds\95¨\81j\82Ì\8dì\90¬\81B\94z\92u\83G\83f\83B\83^\82Ì\83o\83O\8fC\90³
+//
+// Revision 1.2 2001/05/12 00:48:48 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+// 2001/01/29 \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p\83\89\83C\83u\83\89\83\8a\82Ì\92Ç\89Á
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#ifdef _DEBUG
+#ifndef _BORLAND
+#define _CRTDBG_MAP_ALLOC
+#include <stdlib.h>
+#include <crtdbg.h>
+#endif
+#endif
+
+// SYSTEM INCLUDES
+//
+//#define INITGUID
+#include "math.h"
+#include <list>
+#include <queue>
+#include <map>
+
+#include "windows.h"
+#include "windowsx.h"
+#include "d3d8.h"
+#include "d3dx8.h"
+#include "dmusici.h"
+#include "dinput.h"
+
+// PROJECT INCLUDES
+//
+//#include "console.h"
+//#include "input.h"
+//#include "sound.h"
+
+#include "exception.h"
+#include "System.h"
+#include "resource.h"
+#include "Console.h"
+#include "Obj.h"
+#include "singleton.h"
+#include "AbstractSprite.h"
+#include "ConsoleImpl.h"
+#include "SoundImpl.h"
+#include "InputImpl.h"
+#include "Main.h"
+#include "SystemImpl.h"
+
+// namespace
+namespace sf {
+namespace system {
+
+}// system
+}// namespace sf
--- /dev/null
+/**
+ * @file System.h
+ * @brief OS\82Ö\82Ì\83C\83\93\83^\81[\83t\83F\81[\83X\82Å\82·
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+#if !defined(AFX_System_H__DD8D138F_B5A2_4C7B_B543_6BCE1BFB1ED5__INCLUDED_)
+/// 2\8fd\83C\83\93\83N\83\8b\81[\83h\82ð\96h\8e~\82·\82é\82½\82ß\82Ì\92è\8b`
+#define AFX_System_H__DD8D138F_B5A2_4C7B_B543_6BCE1BFB1ED5__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include <string>
+#include "sf.h"
+
+extern "C" {
+
+/** S.F.\82Ì\96¼\91O\8bó\8aÔ.
+ * \82±\82ê\82Í\91¼\82Ì\83\89\83C\83u\83\89\83\8a\82Æ\96¼\91O\82Ì\8fÕ\93Ë\82ð\89ñ\94ð\82·\82é\82½\82ß\82É\92è\8b`\82³\82ê\82Ä\82¢\82Ü\82·\81B
+ * S.F.\82ª\92è\8b`\82·\82é\96¼\91O\8bó\8aÔ\81E\83N\83\89\83X\81E\95Ï\90\94\81E\92è\90\94\82Í\82·\82×\82Ä\82±\82Ì\92\86\82É\8aÜ\82Ü\82ê\82Ü\82·\81B */
+namespace sf {
+
+/** DWORD \82Ì\92è\8b` */
+typedef unsigned long DWORD;///< \82±\82ê\82Í\81AWindowsAPI\82Ì\83\89\83C\83u\83\89\83\8a\82ð\8eæ\82è\8d\9e\82Ü\82È\82\82Ä\82à\82æ\82¢\82æ\82¤\82ÉDWORD\82ð\92è\8b`\82µ\82Ä\82¢\82Ü\82·\81B
+
+namespace application {
+ class Main;
+}
+
+/** \83V\83X\83e\83\80\96¼\91O\8bó\8aÔ.
+ *\82±\82Ì\96¼\91O\8bó\8aÔ\82Í\81A\83V\83X\83e\83\80\83\8a\83\\81[\83X\82Ì\83A\83N\83Z\83X\82ð\8ds\82¤\83N\83\89\83X\82â\81A
+ *\82Ç\82Ì\82æ\82¤\82È\96¼\91O\8bó\8aÔ\82Å\82à\8eg\97p\82³\82ê\82é\8aî\96{\93I\82È\92è\90\94\82ª\8ai\94[\82³\82ê\82Ü\82·\81B
+ */
+namespace system {
+
+const float PI = 3.1415926f;///< \83Î
+const int MAX_PATH_ = 256;///< \8dÅ\91å\83t\83@\83C\83\8bPATH\82Ì\92·\82³
+
+namespace console {
+ class Console;
+}
+
+namespace sound {
+ class Sound;
+}
+
+namespace input {
+ class Input;
+}
+
+// System \82Ì\83C\83\93\83^\81[\83t\83F\81[\83X --------------------------------------------------
+
+const DWORD TIMER_INTERVAL = 32;///< 1\83t\83\8c\81[\83\80\82Ì\8e\9e\8aÔ(ms)
+
+const float FRAME_SEC = 30.0f;///< Frame Per Second (FPS)
+
+/** \83V\83X\83e\83\80\83N\83\89\83X.
+ * \93ü\8fo\97Í\82È\82Ç\81A\83V\83X\83e\83\80\83\8a\83\\81[\83X\82Ö\82Ì\83A\83N\83Z\83X\82ð\92\8a\8fÛ\89»\82·\82é\82½\82ß\82É
+ * \92è\8b`\82³\82ê\82Ä\82¢\82é\83C\83\93\83^\81[\83t\83F\81[\83X\82Å\82·\81B
+ * sf::system::instance()\82Å\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^\81i\8eÀ\8dÛ\82Í\8eÀ\91\95\83N\83\89\83X\82Ì\83C\83\93\83X\83^\83\93\83X\82Ì\83|\83C\83\93\83^\82ð\83L\83\83\83X\83g\82µ\82½\82à\82Ì\81j\82ð\8eæ\93¾\82µ\81A\83A\83N\83Z\83X\82µ\82Ü\82·\81B
+ */
+class System
+{
+ // LIFECYCLE
+public:
+ /// \83R\83\93\83X\83g\83\89\83N\83^(\83_\83~\81[)
+ System(){}; ///< \83R\83\93\83X\83g\83\89\83N\83^(\83_\83~\81[).
+ /// \83f\83X\83g\83\89\83N\83^\81i\83_\83~\81[\81j
+ virtual ~System(){}; ////< \83f\83X\83g\83\89\83N\83^(\83_\83~\81[).
+ // OPERATORS
+
+ // OPERATIONS
+
+ virtual void wait(void) = 0; ///< \8e\9f\82Ì\83t\83\8c\81[\83\80\82Ì\83^\83C\83~\83\93\83O\82Ü\82Å\91Ò\82Â
+
+ /** \83G\83\89\81[\83\81\83b\83Z\81[\83W\82ð\95\\8e¦\82µ\82Ä\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ð\8fI\97¹\82·\82é.
+ * \83G\83\89\81[\83\81\83b\83Z\81[\83W\83_\83C\83A\83\8d\83O\82ð\95\\8e¦(Windows\8cn\82Ì\8fê\8d\87)\82µ\82Ä\81A\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ð\8fI\97¹\82µ\82Ü\82·\81B
+ * @param errString \8fo\97Í\95¶\8e\9a\97ñ\82Ö\82Ì\83|\83C\83\93\83^ */
+ virtual void errorTerminate(const wchar_t *errString) = 0;
+ /** \83G\83\89\81[\83\81\83b\83Z\81[\83W\82ð\95\\8e¦\82·\82é.
+ * @param errString \8fo\97Í\95¶\8e\9a\97ñ\82Ö\82Ì\83|\83C\83\93\83^ */
+ virtual void outputError(const wchar_t *errString) = 0;
+
+ // ACCESS
+
+ /** \83t\83\8c\81[\83\80\8aÔ\8au\82ð\90Ý\92è\82·\82é.
+ * @param msValue 1\83t\83\8c\81[\83\80\82Ì\8aÔ\8au\82ðms\92P\88Ê\82Å\8ew\92è\82·\82é */
+ virtual void timerInterval(const unsigned long msValue) = 0;
+
+ /** \83t\83\8c\81[\83\80\8aÔ\8au\82ð\8eæ\93¾\82·\82é
+ * @return 1\83t\83\8c\81[\83\80\82Ì\8aÔ\8au(ms) */
+ virtual const unsigned long timerInterval (void) const = 0;
+
+ /** ms\92P\88Ê\82Ì\83V\83X\83e\83\80\8e\9e\8aÔ\82ð\8eæ\93¾\82·\82é.
+ * @return ms\92P\88Ê\82Ì\83V\83X\83e\83\80\8e\9e\8aÔ */
+ virtual const DWORD time(void) const = 0;
+
+ /** \83R\83\93\83\\81[\83\8b\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^\82ð\8eæ\93¾\82·\82é.
+ * \95`\89æ(\83X\83v\83\89\83C\83g\81E\94w\8ci\89æ\91\9c) \97p\82Ì\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^\82ð\8eæ\93¾\82µ\82Ü\82·\81B
+ * \89æ\96Ê\82Ö\82Ì\95`\89æ\8dì\8bÆ\82Í\82±\82Ì\83|\83C\83\93\83^\82ð\92Ê\82¶\82Ä\8ds\82í\82ê\82Ü\82·\81B
+ * @return Console \83C\83\93\83^\81[\83t\83F\81[\83X\82Ö\82Ì\83|\83C\83\93\83^ */
+ virtual console::Console * const console(void) = 0;
+
+ /** \83T\83E\83\93\83h\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^\82ð\8eæ\93¾\82·\82é.
+ * \83T\83E\83\93\83h\8fo\97Í\81iBGM\81E\8cø\89Ê\89¹\81j\97p\82Ì\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^\82ð\8eæ\93¾\82µ\82Ü\82·\81B
+ * \83T\83E\83\93\83h\8fo\97Í\82Í\82±\82Ì\83|\83C\83\93\83^\82ð\92Ê\82¶\82Ä\8ds\82í\82ê\82Ü\82·\81B
+ * @return Sound \83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^ */
+ virtual sound::Sound * const sound(void) = 0;
+
+ /** \93ü\97Í\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^\82ð\8eæ\93¾\82·\82é.
+ * \93ü\97Í\81i\83L\81[\83{\81[\83h\81E\83}\83E\83X\81E\83W\83\87\83C\83X\83e\83B\83b\83N\81j\97p\82Ì\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^\82ð\8eæ\93¾\82µ\82Ü\82·.
+ * @return Input \83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^ */
+ virtual input::Input * const input(void) = 0;
+
+ /** \83\81\83C\83\93\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^\82ð\8eæ\93¾\82·\82é.
+ * \83Q\81[\83\80\83A\83v\83\8a\83P\81[\83V\83\87\83\93\83\81\83C\83\93\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^\82ð\8eæ\93¾\82µ\82Ü\82·\81B
+ * \82±\82Ì\83C\83\93\83^\81[\83t\83F\81[\83X\82Í\81AScene\82ð\83R\83\93\83g\83\8d\81[\83\8b\82·\82é\82½\82ß\82É\82 \82è\82Ü\82·\81B
+ * @return Main \83C\83\93\83^\81[\83t\83F\81[\83X\82Ö\82Ì\83|\83C\83\93\83^ */
+ virtual application::Main * const main() = 0;
+
+ /** \83\81\83C\83\93\83C\83\93\83^\81[\83t\83F\81[\83X\82Ö\82Ì\83|\83C\83\93\83^\82ð\83Z\83b\83g\82·\82é
+ * @return pMain \83\81\83C\83\93\83C\83\93\83^\81[\83t\83F\81[\83X\82Ö\82Ì\83|\83C\83\93\83^
+ */
+ virtual void main(application::Main * const pMain ) = 0;
+
+ /** 30FPS\82Æ\82Ì\94ä\97¦\82ð\8eæ\93¾\82·\82é.
+ * \82±\82Ì\92l\82Í1\83t\83\8c\81[\83\80\82Å\82Ì\88Ú\93®\95¨\91Ì\82Ì\88Ú\93®\8aî\8f\80\92l\82Æ\82È\82è\81A30FPS\82Ì\8fê\8d\871.0f\81A60FPS\82Ì\8fê\8d\87\96ñ0.5f\82Æ\82È\82è\82Ü\82·\81B
+ * \83V\83X\83e\83\80\82Ì\83f\83t\83H\83\8b\83g\82Í30FPS\82Å\82 \82é\82Ì\82Å\81A60FPS\82È\82Ç\82É\82µ\82½\8fê\8d\87\81A\93G\82Ì\88Ú\93®\91¬\93x\82ª\94{\82É\82È\82é\82Ì\82Å\83Q\81[\83\80\82É\82È\82è\82Ü\82¹\82ñ\81B
+ * \82»\82Ì\82æ\82¤\82È\8fê\8d\87\82±\82ÌdeltaTime\82Ì\92l\82ð\97\98\97p\82µ\82Ä\93G\82Ì\88Ú\93®\91¬\93x\82ð\92²\90®\82µ\82Ü\82·\81B
+ * @return \94ä\97¦(TIMER_INTERVAL / 32.0f) */
+ virtual const float deltaTime(void) = 0;
+
+ /** \8c»\8dÝ\82ÌFPS\82ð\8eæ\93¾\82·\82é.
+ * \8c»\8dÝ\90Ý\92è\82³\82ê\82Ä\82¢\82éFPS\92l\82ð\8eæ\93¾\82µ\82Ü\82·
+ * @return FPS\92l */
+ virtual const float framePerSec(void) = 0;
+
+ // INQUIRY
+ /** \83V\83X\83e\83\80\82ª\83A\83N\83e\83B\83u\82Å\82 \82é\82©\82Ç\82¤\82©\96â\82¢\8d\87\82í\82¹\82é
+ * @retval true \8a\88\93®\92\86
+ * @retval false \8a\88\93®\92\86\82Å\82È\82¢\82Ì\82ÅSystem\83C\83\93\83^\81[\83t\83F\81[\83X\82Í\8eg\97p\82Å\82«\82Ü\82¹\82ñ*/
+ virtual bool isActive(void) = 0;
+}; // System
+
+/** System\83C\83\93\83X\83^\83\93\83X\82Ö\82Ì\83|\83C\83\93\83^\82ð\93¾\82é.
+ * System\83C\83\93\83^\81[\83t\83F\81[\83X\82Ö\82Ì\83|\83C\83\93\83^\82ð\8eæ\93¾\82µ\82Ü\82·\81B
+ * \82±\82Ì\83\81\83\\83b\83h\82ð\8eg\97p\82µ\82Ä\81ASystem\83C\83\93\83^\81[\83t\83F\81[\83X\82ð\8eæ\93¾\82µ\81A\83V\83X\83e\83\80\83\8a\83\\81[\83X\82É\83A\83N\83Z\83X\82µ\82Ü\82·\81B
+ * @return System \83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^ */
+SFDLL System * const instance(void);
+
+} // namespace system
+} // namespace sf
+}
+#endif // !defined(AFX_System_H__DD8D138F_B5A2_4C7B_B543_6BCE1BFB1ED5__INCLUDED_)
--- /dev/null
+/**
+ * @file
+ * @brief System \83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\8eÀ\91\95\83N\83\89\83X
+ *
+ * @author S.F.
+ * @version $Id:
+ * \8aO\95\94\81H\82©\82ç\82ÍSystem\83C\83\93\83^\81[\83t\83F\81[\83X\82ð\92Ê\82µ\82Ä\83A\83N\83Z\83X\82³\82¹\82é\82±\82Æ\82Å\81AOS\8fL\82¢
+ * \8f\88\97\9d\82ð\82·\82×\82Ä\8eÀ\91\95\83N\83\89\83X\82Ì\92\86\82É\95\95\82¶\8d\9e\82ß\82Ü\82·\81B
+ * 2001/3/13 \82Õ\82æ\81[\82ñ\82³\82ñ\82Ì\83\89\83C\83u\83\89\83\8a\82ð\8eQ\8dl\82ÉWindows\83\81\83b\83Z\81[\83W\8f\88\97\9d\95û\96@\82ð\95Ï\8dX
+ * (\8eQ\8fÆ\81E\97\98\97p\82Ì\8b\96\89Â\82Í\82Õ\82æ\81[\82ñ\82³\82ñ(http://puyon.pns.to/)\82æ\82è\82¢\82½\82¾\82¢\82Ä\82Ü\82·\81B)
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved. */
+
+#pragma warning( disable : 4786 ) //STL\82Ì\8cx\8d\90\8aO\82µ
+#include "sfdebug.h"
+
+
+// SYSTEM INCLUDES
+//
+//#define INITGUID
+
+#define WIN32_LEAN_AND_MEAN
+
+#include "math.h"
+#include <list>
+#include <queue>
+#include <memory>
+#include <map>
+#include <iostream>
+#include <strstream>
+
+#include "windows.h"
+#include "windowsx.h"
+#include "d3d9.h"
+#include "d3dx9.h"
+//#include "dmusici.h"
+#include "mmsystem.h"
+#include "dinput.h"
+#include "dxerr8sf.h"
+
+// PROJECT INCLUDES
+//
+
+#include "exception.h"
+#include "resource.h"
+#include "System.h"
+#include "Console.h"
+#include "Obj.h"
+#include "singleton.h"
+#include "AbstractSprite.h"
+#include "ConsoleImpl.h"
+#include "SoundImpl.h"
+#include "InputImpl.h"
+#include "Main.h"
+#include "SystemWin32.h"
+#include "SystemImpl.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+
+// LOCAL INCLUDES
+//
+
+// FORWARD REFERENCES
+//
+
+// namespace
+namespace sf {
+ namespace system {
+// constant
+
+System * const instance(void)
+{
+ return SystemImpl::instance();
+}// getInstance()
+
+const wchar_t SystemImpl::smAppName[] = L"Shooting Game!"; // constant
+
+// \83V\83\93\83O\83\8b\83g\83\93\83p\83^\81[\83\93\82ð\92[\90Ü\82é\82½\82ß\82Ì\83}\83N\83\8d
+IMPLEMENT_SINGLETON(SystemImpl,SystemImpl);
+
+// \83R\83\93\83X\83g\83\89\83N\83^ -------------------------------------------------------------
+SystemImpl::SystemImpl()
+{
+ // \82à\82ë\82à\82ë\82Ì\8f\89\8aú\89»\8f\88\97\9d
+ mIsWindowActive = false;
+ mpConsole = NULL;
+ mpSound = NULL;
+ mpInput = NULL;
+ mpMain = NULL;
+ mTimerInterval = TIMER_INTERVAL;
+ mbWindowed = false;
+ mTimerElapsed = 0;
+ mTimerValue = timeGetTime();
+ mTimerBefore = mTimerValue;
+
+ mFrameStep = (float)(TIMER_INTERVAL) / 32.0f;
+ mFramePerSec = 1000.0f / (float)TIMER_INTERVAL;
+
+ // COM \82Ì\8f\89\8aú\89»
+ CoInitialize(NULL);
+
+}// SystemImpl()
+
+
+// \83f\83X\83g\83\89\83N\83^ ---------------------------------------------------------------
+SystemImpl::~SystemImpl()
+{
+ OutputDebugString("~SystemImpl()");
+ uninitialize();
+ CoUninitialize();
+}// ~SystemImpl()
+
+/*! \8fI\97¹\8f\88\97\9d\82ð\8ds\82¤
+\81@\8aJ\95ú\82µ\82È\82¯\82ê\82Î\82È\82ç\82È\82¢\83|\83C\83\93\83^\81ACOM\83I\83u\83W\83F\83N\83g\82È\82Ç\82Ì\8f\88\97\9d\82Í\82·\82×\82Ä\82±\82±\82Å\8ds\82¢\82Ü\82· */
+void SystemImpl::uninitialize(void)
+{
+ // Console\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\8aJ\95ú
+ if(mpConsole){
+ delete mpConsole;
+ mpConsole = NULL;
+ }
+
+ // Main\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\8aJ\95ú
+ // auto_ptr\82È\82Ì\82Ådelete\82Í\82È\82µ
+ if(mpMain){
+
+ mpMain = NULL;
+ }
+
+ // Sound\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\8aJ\95ú
+ if(mpSound)
+ {
+ delete mpSound;
+ mpSound = NULL;
+ }
+
+ // Input\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\8aJ\95ú
+ if(mpInput)
+ {
+ delete mpInput;
+ mpInput = NULL;
+ }
+
+ // WindowMessageMap\82Ì\8aJ\95ú
+ WindowMessageMap::iterator it;
+ for(it = mWindowMessageMap.begin();it != mWindowMessageMap.end();++it)
+ {
+ if((*it).second){
+ delete ((*it).second);
+ }
+ }
+ mWindowMessageMap.erase(mWindowMessageMap.begin(),mWindowMessageMap.end());
+
+}
+
+// Windows\83\81\83C\83\93 --------------------------------------------------------------
+// Windows\82\82Á\82³\82¢\95\94\95ª
+int SystemImpl::winMain (const HINSTANCE hThisInstance, const HINSTANCE hPrevInstance,
+ const LPSTR lpszCmdParam, const int nCmdShow)
+{
+ MSG msg;
+
+ // HWND mHWNDMain;
+ // \83f\83o\83b\83O\97p
+
+
+ setupMessageMap();
+
+ //\83E\83B\83\93\83h\83E\83N\83\89\83X\82Ì\93o\98^//
+
+ //\94\92\83{\83e\81H\82Ì\83E\83C\83\93\83h\83E\82ð\8dì\90¬\82·\82é\81B
+ WNDCLASSW wndclass;
+
+ wndclass.style = CS_DBLCLKS;
+ wndclass.lpfnWndProc = &wndFunc; // window function
+ wndclass.cbClsExtra = 0; // no extra count of bytes
+ wndclass.cbWndExtra = 0; // no extra count of bytes
+ wndclass.hInstance = hThisInstance; // this instance
+ wndclass.hIcon = LoadIcon (hThisInstance, MAKEINTRESOURCE(IDI_ICON1));
+ wndclass.hCursor = LoadCursor (NULL, IDC_ARROW);
+ wndclass.hbrBackground = (HBRUSH)GetStockObject (WHITE_BRUSH);
+ wndclass.lpszMenuName = NULL; //\83\81\83j\83\85\81[\82È\82µ\82Ì\83E\83C\83\93\83h\83E
+ //MAKEINTRESOURCE (IDR_MENU1);;
+ wndclass.lpszClassName = smAppName; // \83A\83v\83\8a\82Ì\96¼\91O
+
+ RegisterClassW (&wndclass);
+//WS_EX_TOPMOST
+ //\81@\82±\82Ì\95Ó\82Í\82Ù\82ñ\82Æ\82ÍConsole\83N\83\89\83X\82Ì\8eÀ\91\95\83N\83\89\83X\82É\93ü\82ê\82½\82¢\82Ì\82¾\82ª...
+ mHWNDMain = CreateWindowExW (
+ WS_EX_APPWINDOW, // window style
+ smAppName, // window class name
+ smAppName, // window caption
+ WS_VISIBLE | WS_POPUP | WS_SYSMENU, // window style
+ CW_USEDEFAULT, // initial x position
+ CW_USEDEFAULT, // initial y position
+ console::screen::WIDTH, // initial x size
+ console::screen::HEIGHT, // initial y size
+ NULL, // parent window handle
+ NULL, // window menu handle
+ hThisInstance, // program instance handle
+ NULL); // creation parameters
+
+ // \8dì\82ê\82È\82¢\8fê\8d\87 \8fI\97¹
+ if (!mHWNDMain)
+ return FALSE;
+
+ ShowWindow (mHWNDMain, nCmdShow);
+ UpdateWindow (mHWNDMain);
+ SetFocus(mHWNDMain);
+
+
+
+#ifdef _DEBUG
+ mbWindowed = true;
+#endif
+ try {
+ // \89æ\96Ê\83I\83u\83W\83F\83N\83g\82ð\90¶\90¬
+ mpConsole = new console::ConsoleImpl(mHWNDMain,mbWindowed);
+ mpConsole->initialize();
+
+ // \83T\83E\83\93\83h\83I\83u\83W\83F\83N\83g\82ð\90¶\90¬
+ mpSound = new sound::SoundImpl();
+ mpSound->initialize();
+
+ // \83C\83\93\83v\83b\83g\83f\83o\83C\83X\83I\83u\83W\83F\83N\83g\82Ì\90¶\90¬
+ mpInput = new input::InputImpl(mHWNDMain);
+ mpInput->initialize();
+
+ //\89æ\96Ê\82ª\97\8e\82¿\92\85\82\82Ü\82Å...
+ Sleep(3000);
+
+ // \83\81\83C\83\93\83I\83u\83W\83F\83N\83g\82Ì\90¶\90¬
+// mpMain = ::sf::application::Maininstance();
+ mpMain->initialize();
+
+ } catch (FatalErrorException& e) {
+ errorTerminate(e.getDefaultMessage());
+ return FALSE;
+ } catch (RecoverbleErrorException& e) {
+ using namespace sf::system;
+ switch(e.errorType()){
+ case Exception::SCENE_IS_EMPTY:
+ return TRUE;
+ break;
+ default:
+ throw;
+ }
+ } catch (...) {
+ throw;
+ }
+
+ // \83^\83C\83}\81[\82Ì\95ª\89ð\94\\82ð\82 \82°\82é\8f\88\97\9d
+ initTimer();
+
+// HANDLE hProcess;
+// hProcess = GetCurrentProcess();
+// SetPriorityClass(hProcess,CRITICAL_PRIORITY_CLASS);
+
+ // \83\81\83b\83Z\81[\83W\83\8b\81[\83v
+ // \82¿\82å\82Á\82Æ\82±\82Ì\95Ó\82ª\81A\95\81\92Ê\82ÌWindows\83A\83v\83\8a\82Æ\88á\82¤\95\94\95ª\81B
+ // Window\83\81\83b\83Z\81[\83W\82ª\82È\82¢\8fê\8d\87\82Í\81A\83\81\83C\83\93\82ð\8cÄ\82Ñ\8fo\82·\81B
+ while(1)
+ {
+ if (PeekMessage( &msg, NULL, 0, 0, PM_NOREMOVE))
+ {
+ if (!GetMessage( &msg, NULL, 0, 0))
+ {
+ return msg.wParam;
+ }
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+ else
+ {
+ if(isWindowActive())
+ {
+ try{
+ wait();
+ // \89æ\96Ê\8dX\90V
+ mpConsole->update();
+ // \93ü\97Í\83f\83o\83C\83X\82Ì\83X\83i\83b\83v\83V\83\87\83b\83g\82ð\8eæ\93¾
+ mpInput->update();
+ mpSound->update();
+
+ mpMain->run();
+//#ifdef _DEBUG
+ mpConsole->print(0,console::viewport::X + 8,0.0f,0.0f,1.0f,0xffffffff,"%d ms ",mTimerElapsed);
+//#endif
+ // \8f\88\97\9d\8e\9e\8aÔ
+ mTimerElapsed = timeGetTime() - mTimerValue;
+ } catch (FatalErrorException e) {
+ delete mpConsole;
+ mpConsole = NULL;
+ errorTerminate(e.getDefaultMessage());
+ windowActivate(false);
+ } catch (RecoverbleErrorException e) {
+ PostMessage( mHWNDMain, WM_CLOSE, 0, 0L );
+ windowActivate(false);
+ } catch (...) {
+ throw;
+ }
+ }
+ }
+ }
+}
+
+// Window Function ------------------------------------------------------------
+// \82Ù\82ñ\82Æ\82É\8e©\95ª\82Ì\82í\82©\82é\94Í\88Í\82Ì\8dÅ\92á\8cÀ\82Ì\83C\83x\83\93\83g\8f\88\97\9d\82µ\82©\82µ\82Ä\82¢\82È\82¢\82Ì\82Å\8aÈ\92P\82Å\82·\81B
+LRESULT CALLBACK SystemImpl::wndFunc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ // iSystem\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\82Ü\82Ü\82Å\82Í\81A\8bï\8fÛ\83N\83\89\83X\82Ì\83v\83\89\83C\83x\81[\83g\83\81\83\\83b\83h\82ª
+ // \8cÄ\82Ñ\8fo\82¹\82È\82¢\82Ì\82Å\81A\83_\83C\83i\83~\83b\83N\83L\83\83\83X\83g
+
+ SystemImpl *pSysSystemImpl = dynamic_cast<SystemImpl *>(instance());
+
+ if(pSysSystemImpl == NULL)
+ return DefWindowProc (hwnd, message, wParam, lParam);
+
+ WindowMessage *pmessage = pSysSystemImpl->mWindowMessageMap[message];
+
+ if(pmessage)
+ return pmessage->call(hwnd,wParam,lParam);
+
+ // message\95ª\8aò
+ switch (message)
+ {
+ case WM_SYSCOMMAND:
+ return pSysSystemImpl->onSysCommand(hwnd,wParam,lParam);
+ // \8fI\97¹\82·\82é\82Æ\82«\82Ì\8f\88\97\9d
+ case WM_CLOSE:
+ pSysSystemImpl->uninitialize();
+ DestroyWindow( hwnd );
+ return 0;
+ case WM_DESTROY:
+ PostQuitMessage(0); //terminate the application
+ return 0;
+ default:
+ break;
+ }
+
+ // \82»\82Ì\91¼\82ÍWindows\82É\82¨\94C\82¹
+ return DefWindowProc (hwnd, message, wParam, lParam);
+}// WndFunc
+
+// Windows\82©\82ç\82Ì\95`\89æ\97v\8b\81 --------------------------------------------------
+LRESULT SystemImpl::onPaint(const HWND hwnd, const WPARAM wParam, const LPARAM lParam)
+{
+// return DefWindowProc (hwnd, WM_PAINT, wParam, lParam);
+ if(!mpConsole || !mpConsole->isEnabled())
+ {
+ PAINTSTRUCT ps;
+ HDC hDC = BeginPaint (hwnd, &ps);
+ std::string strMessage("\8f\89\8aú\89»\92\86");
+ TextOut(hDC,0,0,strMessage.c_str(),strMessage.length());
+ EndPaint(hwnd, &ps );
+ }
+ ValidateRect(hwnd,NULL);
+ return 1;
+}// onPaint()
+
+// Window\82ª\83A\83N\83e\83B\83u\81A\94ñ\83A\83N\83e\83B\83u\8e\9e\82Ì\8f\88\97\9d -----------------------------------
+LRESULT SystemImpl::onActivate(const HWND hwnd, const WPARAM wParam, const LPARAM lParam)
+{
+ if((BOOL)wParam){
+ windowActivate(true);
+ } else {
+ windowActivate(false);
+ }
+ return 0;
+}
+
+
+// \83\81\83j\83\85\81[\91I\91ð\82Ì\8e\9e -----------------------------------------------------------
+LRESULT SystemImpl::onCommand(const HWND hwnd, const WPARAM wParam, const LPARAM lParam)
+{
+ // \8c»\8dÝ\82Í\96³\8e\8b\8fó\91Ô
+ // Let Default Window Proc handle it for us.
+ return DefWindowProc (hwnd, WM_COMMAND, wParam, lParam);
+} // onCommand
+
+
+
+// \83T\83C\83Y\95Ï\8dX\83C\83x\83\93\83g ---------------------------------------------------------
+LRESULT SystemImpl::onSize(const HWND hwnd,const WPARAM wParam,const LPARAM lParam)
+{
+ return 0;
+}// onSize()
+
+//
+LRESULT SystemImpl::onSysCommand(const HWND hwnd, const WPARAM wParam, const LPARAM lParam)
+{
+ // Prevent moving/sizing and power loss in fullscreen mode
+ switch( wParam )
+ {
+ case SC_MOVE:
+ case SC_SIZE:
+ case SC_MAXIMIZE:
+ case SC_KEYMENU:
+ case SC_MONITORPOWER:
+ if(mbWindowed == false)
+ return 1;
+ break;
+ }
+ return DefWindowProc (hwnd, WM_SYSCOMMAND,wParam, lParam);
+}
+
+
+// \83^\83C\83}\81[\82Ì\8f\89\8aú\89»\8f\88\97\9d -------------------------------------------------------
+void SystemImpl::initTimer(void)
+{
+ const UINT TARGET_RESOLUTION = 1 ;// 1-millisecond target resolution
+
+ ::TIMECAPS tc;
+ UINT timer_res;
+
+ if (timeGetDevCaps(&tc, sizeof(TIMECAPS)) == TIMERR_NOERROR)
+ {
+ timer_res = min(max(tc.wPeriodMin, TARGET_RESOLUTION), tc.wPeriodMax);
+ timeBeginPeriod(timer_res);
+ }
+}// initTimer()
+
+// \8ew\92è\82µ\82½tick(ms)\82Ü\82Å\83E\83F\83C\83g ------------------------------------------------
+void SystemImpl::wait(void)
+{
+
+ DWORD now = timeGetTime();
+
+ DWORD rem = now % mTimerInterval;
+ DWORD wait_time = (now / mTimerInterval + ((rem > 0)?1:0)) * mTimerInterval ;
+// DWORD wait_time = (mTimerValue / mTimerInterval + 1) * mTimerInterval ;
+
+ DWORD wait_time_tick = wait_time - now;
+
+ if(wait_time_tick > 4)
+ Sleep(wait_time_tick - 3);
+
+ while(wait_time > timeGetTime());
+ mTimerBefore = mTimerValue;
+ mTimerValue = timeGetTime();
+
+}// wait()
+
+// \83G\83\89\81[\82ð\95\\8e¦\82µ\82Ä\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ð\8fI\97¹\82·\82é ---------------------------------
+void SystemImpl::errorTerminate(const wchar_t *errString)
+{
+ outputError(errString);
+ SendMessage( mHWNDMain, WM_CLOSE, 0, 0 );
+}// errorTerminate()
+
+// \83G\83\89\81[\95\\8e¦ -----------------------------------------------------------------
+void SystemImpl::outputError(const wchar_t *errString)
+{ std::wstring err_string = L"Error Occured!\r\n";
+ //strncat(err_string,errString,sizeof(err_string) - strlen(err_string));
+ err_string += errString;
+ MessageBoxW( NULL, err_string.c_str(),
+ smAppName,
+ MB_TOPMOST | MB_SETFOREGROUND | MB_TASKMODAL | MB_ICONERROR | MB_OK );
+}// outputError()
+
+// \83\81\83b\83Z\81[\83W\83}\83b\83v\82Ì\83Z\83b\83g\83A\83b\83v \81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|\81|
+void SystemImpl::setupMessageMap()
+{
+/* mWindowMessageMap[WM_PAINT] = new WindowMessageImpl<SystemImpl>(this,&SystemImpl::onPaint);
+ mWindowMessageMap[WM_ACTIVATEAPP] = new WindowMessageImpl<SystemImpl>(this,&SystemImpl::onActivate);
+ mWindowMessageMap[WM_COMMAND] = new WindowMessageImpl<SystemImpl>(this,&SystemImpl::onCommand);
+// mWindowMessageMap[WM_KEYDOWN] = new WindowMessageImpl<SystemImpl>(this,&SystemImpl::onKeyDown);
+ mWindowMessageMap[WM_SIZE] = new WindowMessageImpl<SystemImpl>(this,&SystemImpl::onSize);
+*/
+ addWindowMessage(WM_PAINT,new WindowMessageImpl<SystemImpl>(this,&SystemImpl::onPaint));
+ mWindowMessageMap[WM_ACTIVATEAPP] = new WindowMessageImpl<SystemImpl>(this,&SystemImpl::onActivate);
+ mWindowMessageMap[WM_COMMAND] = new WindowMessageImpl<SystemImpl>(this,&SystemImpl::onCommand);
+// mWindowMessageMap[WM_KEYDOWN] = new WindowMessageImpl<SystemImpl>(this,&SystemImpl::onKeyDown);
+ addWindowMessage(WM_SIZE,new WindowMessageImpl<SystemImpl>(this,&SystemImpl::onSize));
+
+
+}//setupMessageMap()
+
+
+}
+}// namespace sf
\ No newline at end of file
--- /dev/null
+/**
+ * @file
+ * @brief System \83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\8eÀ\91\95\83N\83\89\83X\83N\83\89\83X
+ *
+ * @author S.F.
+ * @version $Id:
+ * 2001/3/13 \82Õ\82æ\81[\82ñ\82³\82ñ\82Ì\83\89\83C\83u\83\89\83\8a\82ð\8eQ\8dl\82ÉWindows\83\81\83b\83Z\81[\83W\8f\88\97\9d\95û\96@\82ð\95Ï\8dX
+ * (\8eQ\8fÆ\81E\97\98\97p\82Ì\8b\96\89Â\82Í\82Õ\82æ\81[\82ñ\82³\82ñ(http://puyon.pns.to/)\82æ\82è\82¢\82½\82¾\82¢\82Ä\82Ü\82·\81B)
+ * Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+#if !defined(AFX_SystemImpl_H__64DBDEBB_81F1_4542_AAF7_B212CB9F4604__INCLUDED_)
+/// \93ñ\8fd\83C\83\93\83N\83\8b\81[\83h\96h\8e~\82Ì\82½\82ß\82Ì\92è\8b`
+#define AFX_SystemImpl_H__64DBDEBB_81F1_4542_AAF7_B212CB9F4604__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+#include "sf.h"
+
+namespace sf {
+ namespace system {
+extern "C" {
+
+ /** @ref System \83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\8eÀ\91\95\83N\83\89\83X.
+ *
+ * \83V\83X\83e\83\80\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\8eÀ\91\95\83N\83\89\83X\82Å\82·\81B
+ * \83V\83X\83e\83\80\83\8a\83\\81[\83X\97\98\97p\82·\82é\8dÛ\82Í\81ASystem \83C\83\93\83^\81[\83t\83F\81[\83X\82ð\8eg\97p\82µ\82Ü\82·\82ª\81A\8eÀ\8dÛ\82Í\89¼\91z\8aÖ\90\94\82Ì\8ed\91g\82Ý\82É\82æ\82è\81A\82±\82Ì\8eÀ\91\95\83N\83\89\83X\82Ì\83\81\83\\83b\83h\82ª\8cÄ\82Î\82ê\82Ü\82·\81B
+ * \82±\82ê\82Í\81AOS\82É\88Ë\91¶\82·\82é\95\94\95ª\82ð\82±\82Ì\83N\83\89\83X\82É\89B\95Á\82·\82é\82½\82ß\82É\8ds\82Á\82Ä\82¢\82Ü\82· */
+ class SystemImpl : public System,sf::system::Win32
+ {
+ // Singleton\82ð\82Í\82µ\82å\82é\82½\82ß\82Ì\83}\83N\83\8d
+ DECLARE_SINGLETON(SystemImpl)
+ // LIFECYCLE //
+ /// \83R\83\93\83X\83g\83\89\83N\83^
+ SystemImpl();
+ public:
+ /// \8f\88\97\9d\82·\82é\83E\83B\83\93\83h\83E\83\81\83b\83Z\81[\83W\82ð\8ai\94[\82·\82é
+ typedef std::map<DWORD,WindowMessage * > WindowMessageMap;
+
+ /// \83f\83X\83g\83\89\83N\83^
+ virtual ~SystemImpl();
+ // OPERATORS //
+ // OPERATIONS //
+ /** WinMain \82©\82ç\8cÄ\82Î\82ê\82é\83\81\83\\83b\83h.
+ * WinMain()\93à\82©\82çSystemImpl\82ð\83C\83\93\83X\83^\83\93\83X\82ð\90¶\90¬\82µ\81A\82±\82Ì\83\81\83\\83b\83h\82ð\8cÄ\82Ñ\8fo\82µ\82Ü\82·\81B*/
+ int winMain (const HINSTANCE hThisInstance, const HINSTANCE hPrevInstance,
+ const LPSTR lpszCmdParam, const int nCmdShow);
+
+ /** Windows\83C\83x\83\93\83g \8f\88\97\9d\97p. */
+ static LRESULT CALLBACK wndFunc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
+
+ /** \8f\88\97\9d\82·\82é\83E\83B\83\93\83h\83E\83\81\83b\83Z\81[\83W\82ð\92Ç\89Á\82·\82é.
+ * \8f\88\97\9d\82µ\82½\82¢\83E\83B\83\93\83h\83E\83\81\83b\83Z\81[\83W\82ð\82±\82±\82Å\92Ç\89Á\82µ\82Ü\82·\81B
+ * \82±\82±\82Å\92Ç\89Á\82³\82ê\82È\82¢\83\81\83b\83Z\81[\83W\82Í\81A\83f\83t\83H\83\8b\83g\82Ì\8f\88\97\9d\82ª\8cÄ\82Î\82ê\82Ü\82·\81B
+ * @param value \83E\83B\83\93\83h\83E\83\81\83b\83Z\81[\83W
+ * @param pWindowMessage WindowMessage\82Ì\83|\83C\83\93\83^ */
+ const bool addWindowMessage(const DWORD value,WindowMessage * pWindowMessage)
+ {
+ if(mWindowMessageMap[value] == NULL){
+ mWindowMessageMap[value] = pWindowMessage;
+ return true;
+ } else {
+ return false;
+ }
+ };
+
+ virtual void wait(void);
+ // \83G\83\89\81[\95\\8e¦\82µ\82Ä\8fI\97¹
+ virtual void errorTerminate(const wchar_t *errString);
+ // \83G\83\89\81[\95\\8e¦
+ virtual void outputError(const wchar_t *errString);
+
+ // ACCESS //
+ virtual void timerInterval(const unsigned long msValue){mTimerInterval = msValue;};
+ virtual const unsigned long timerInterval(void) const {return mTimerInterval;};
+ virtual const DWORD time (void) const { return timeGetTime();};
+
+ virtual console::Console * const console(void){ return mpConsole;};
+ virtual sound::Sound * const sound(void){ return mpSound;};
+ virtual input::Input * const input(void){ return mpInput;};
+
+ virtual application::Main * const main(){return mpMain;}
+ virtual void main(application::Main * const pMain ){mpMain = pMain;}
+
+ // INQUIRY //
+ virtual bool isActive(void) {return mIsWindowActive;};
+ virtual const float deltaTime(void){return mFrameStep;};
+ virtual const float framePerSec(void){return mFramePerSec;};
+ private:
+ /** \8fI\97¹\8f\88\97\9d.
+ * \8aJ\95ú\82µ\82È\82\82¢\82¯\82È\82¢\83\81\83\82\83\8a\81ARelease()\82µ\82È\82\82Ä\82Í\82¢\82¯\82È\82¢COM\83C\83\93\83^\81[\83t\83F\81[\83X\82È\82Ç\82Í\82±\82±\82Å\8aJ\95ú\82µ\82Ü\82·\81B*/
+ void uninitialize(void);
+
+ /** \8c»\8dÝ\83E\83B\83\93\83h\83E\82ª\83A\83N\83e\83B\83u\82Å\82 \82é\82©\82Ç\82¤\82©\96â\82¢\8d\87\82í\82¹\82é.
+ * @param true \83A\83N\83e\83B\83u\82Å\82 \82é
+ * @param false \83A\83N\83e\83B\83u\82Å\82È\82¢ */
+ const bool isWindowActive(void) const {return mIsWindowActive;};
+
+ /** \8c»\8dÝ\83E\83B\83\93\83h\83E\82ª\83A\83N\83e\83B\83u\82Å\82 \82é\82©\82Ç\82¤\82©\90Ý\92è\82·\82é.
+ * @param true \83A\83N\83e\83B\83u\82Å\82 \82é
+ * @param false \83A\83N\83e\83B\83u\82Å\82È\82¢ */
+ void windowActivate(const bool value){mIsWindowActive = value;};
+ /** \93à\95\94\83^\83C\83}\81[\95Ï\90\94\82ð\8f\89\8aú\89»\82·\82é */
+ void initTimer(void);
+ /** mWindowMessageMap \82ð\83Z\83b\83g\83A\83b\83v\82·\82é */
+ void setupMessageMap(void);
+
+
+ // Window Events
+ /** WM_ABOUT\83\81\83b\83Z\81[\83W\82Ì\8f\88\97\9d
+ * @param hwnd \83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b */
+ LRESULT onAbout(const HWND hwnd);
+
+ /** WM_COMMAND\83\81\83b\83Z\81[\83W\82Ì\8f\88\97\9d
+ * @param hwnd \83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b
+ * @param wParam WPARAM
+ * @param lParam LPARAM */
+ LRESULT onCommand(const HWND hwnd,const WPARAM wParam, const LPARAM lParam);
+
+ /** WM_ACTIVATE\83\81\83b\83Z\81[\83W\82Ì\8f\88\97\9d
+ * @param hwnd \83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b
+ * @param wParam WPARAM
+ * @param lParam LPARAM */
+ LRESULT onActivate(const HWND hwnd,const WPARAM wParam,const LPARAM lParam);
+
+ /** WM_MOVE\83\81\83b\83Z\81[\83W\82Ì\8f\88\97\9d
+ * @param hwnd \83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b
+ * @param wParam WPARAM
+ * @param lParam LPARAM */
+ LRESULT onMove(const HWND hwnd,const WPARAM wParam,const LPARAM lParam);
+
+ /** WM_SIZE\83\81\83b\83Z\81[\83W\82Ì\8f\88\97\9d
+ * @param hwnd \83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b
+ * @param wParam WPARAM
+ * @param lParam LPARAM */
+ LRESULT onSize(const HWND hwnd,const WPARAM wParam,const LPARAM lParam);
+
+ /** WM_PAINT\83\81\83b\83Z\81[\83W\82Ì\8f\88\97\9d
+ * @param hwnd \83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b
+ * @param wParam WPARAM
+ * @param lParam LPARAM */
+ LRESULT onPaint(const HWND hwnd, const WPARAM wParam, const LPARAM lParam);
+
+ /** WM_SYSCOMMAND\83\81\83b\83Z\81[\83W\82Ì\8f\88\97\9d
+ * @param hwnd \83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b
+ * @param wParam WPARAM
+ * @param lParam LPARAM */
+ LRESULT onSysCommand(const HWND hwnd, const WPARAM wParam, const LPARAM lParam);
+
+ HWND mHWNDMain;///< \83\81\83C\83\93\83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b
+
+ console::Console *mpConsole;///< console::Console\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^
+ sound::Sound *mpSound;///< sound::Sound\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^
+ input::Input *mpInput;///< input::Input\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^
+
+ ::sf::application::Main *mpMain;///< ::sf::application::Main\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\83|\83C\83\93\83^
+
+
+ bool mIsWindowActive;///< \8c»\8dÝ\83E\83B\83\93\83h\83E\82ª\83A\83N\83e\83B\83u\82©\82Ç\82¤\82©\81H
+ bool mbWindowed;///<\83E\83B\83\93\83h\83E\83\82\81[\83h\82©\83t\83\8b\83X\83N\83\8a\81[\83\93\83\82\81[\83h\82©\81H
+
+ DWORD mTimerInterval;///< \83t\83\8c\81[\83\80\88Û\8e\9d\83^\83C\83}\81[\82Ì\8aÔ\8au(ms)
+ DWORD mTimerValue;///< \8c»\8dÝ\82Ì\83^\83C\83}\81[\82Ì\92l(ms)
+ DWORD mTimerBefore;///< 1\83t\83\8c\81[\83\80\91O\82Ì\83^\83C\83}\81[\82Ì\92l(ms)
+ DWORD mTimerElapsed;///< 1\83t\83\8c\81[\83\80\92\86\82Ì\8f\94\81X\82Ì\8f\88\97\9d\82É\97v\82µ\82½\8e\9e\8aÔ(ms)
+
+ WindowMessageMap mWindowMessageMap;///< \83E\83B\83\93\83h\83E\83\81\83b\83Z\81[\83W\83}\83b\83v
+ float mFrameStep;///< 1\83t\83\8c\81[\83\80\82Ì\8aî\96{\90\94\92l
+ float mFramePerSec;///< FPS\92l
+ static SystemImpl *pSystemImpl;///< \8e©\95ª\8e©\90g\82Ì\83|\83C\83\93\83^
+ // constant
+ static const wchar_t smAppName[];///< \83A\83v\83\8a\83P\81[\83V\83\87\83\93\96¼
+ };// SystemImpl
+ }
+ }// namespace system
+} // namespace sf
+#endif // !defined(AFX_SystemImpl_H__64DBDEBB_81F1_4542_AAF7_B212CB9F4604__INCLUDED_)
--- /dev/null
+/**
+ * @file SystemWin32.h
+ * @brief Windows\82Ö\82Ì\83C\83\93\83^\81[\83t\83F\81[\83X\82Å\82·
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+/// \93ñ\8fd\83C\83\93\83N\83\8b\81[\83h\96h\8e~\83}\83N\83\8d
+#if !defined(AFX_SYSTEMWIN32_H__9E630867_3321_4C17_8D1A_E0EAC93A1647__INCLUDED_)
+#define AFX_SYSTEMWIN32_H__9E630867_3321_4C17_8D1A_E0EAC93A1647__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+#include "sfinterface.h"
+namespace sf {
+ namespace system {
+
+/** WindowMessage\83C\83\93\83^\81[\83t\83F\81[\83X.
+ * Window\83\81\83b\83Z\81[\83W\82ð\8f\88\97\9d\82·\82é\82½\82ß\82Ì\83C\83\93\83^\81[\83t\83F\81[\83X\82Å\82·\81B
+ * \82±\82ê\82Í\81Astd::map\82Æ\91g\82Ý\8d\87\82í\82¹\82Ä\81AWindow\83\81\83b\83Z\81[\83W\82ð\8cø\97¦\93I\82É\8f\88\97\9d\82·\82é\82½\82ß\82É\92è\8b`\82³\82ê\82Ä\82¢\82Ü\82·\81B
+ * @note \82±\82Ì\95Ó\82Ì\8eÀ\91\95\82Ì\8dl\82¦\95û\82Í\81A<a href="http://puyon.pns.to/program/afl/h0003.html">\82Õ\82æ\82§\82ñ\82³\82ñ\82Ì\83\89\83C\83u\83\89\83\8a\82Ì\83y\81[\83W</a> \82ð\8eQ\8fÆ\82µ\82Ä\82\82¾\82³\82¢\81B<br>
+ * \8eá\8a±\82Õ\82æ\82§\82ñ\82³\82ñ\82Ì\83\89\83C\83u\83\89\83\8a\82ð\93Á\89»\82µ\82Ä\82¢\82é\82Ô\82Ô\82ñ\82Í\82 \82è\82Ü\82·\81B*/
+class SF_INTERFACE WindowMessage
+{
+public:
+ /// \83f\83X\83g\83\89\83N\83^
+ virtual ~WindowMessage(){;};
+ /** \83\81\83b\83Z\81[\83W\8f\88\97\9d\82ð\8ds\82¤
+ * @param hwnd HWND \83E\83B\83\93\83h\83E\83n\83\93\83h\83\8b
+ * @param wParam WPARAM
+ * @param lParam LPARAM
+ * @return LRESULT */
+ virtual LRESULT call(const HWND hwnd,const WPARAM wParam,const LPARAM lParam) = 0;
+};
+
+/** WindowMessage\83C\83\93\83^\81[\83t\83F\81[\83X\82Ì\8eÀ\91\95\83N\83\89\83X */
+template<class T> class WindowMessageImpl : public WindowMessage
+{
+public:
+ /// \83R\83\93\83X\83g\83\89\83N\83^
+ WindowMessageImpl();
+ /// \83f\83X\83g\83\89\83N\83^
+ virtual ~WindowMessageImpl(){}
+ /** \83R\83\93\83X\83g\83\89\83N\83^.
+ * @param pClass \8cÄ\82Ñ\8fo\82µ\82½\82¢\83\81\83\\83b\83h\82ð\97L\82µ\82Ä\82¢\82é\83N\83\89\83X\82Ì\83C\83\93\83X\83^\83\93\83X\82Ì\83|\83C\83\93\83^
+ * @param pAddress \8cÄ\82Ñ\8fo\82µ\82½\82¢\83\81\83\93\83o\83\81\83\\83b\83h\82Ì\83A\83h\83\8c\83X\82ª\93ü\82Á\82Ä\82¢\82é\83|\83C\83\93\83^ */
+ WindowMessageImpl(T* const pClass,LRESULT (T::* pAddress)(const HWND,const WPARAM,const LPARAM));
+
+ /** \8cÄ\82Ñ\8fo\82µ\82½\82¢\83\81\83\\83b\83h\82Ì\8fî\95ñ\82ð\83Z\83b\83g\82·\82é.
+ * @param pClass \8cÄ\82Ñ\8fo\82µ\82½\82¢\83\81\83\\83b\83h\82ð\97L\82µ\82Ä\82¢\82é\83N\83\89\83X\82Ì\83C\83\93\83X\83^\83\93\83X\82Ì\83|\83C\83\93\83^
+ * @param pAddress \8cÄ\82Ñ\8fo\82µ\82½\82¢\83\81\83\93\83o\83\81\83\\83b\83h\82Ì\83A\83h\83\8c\83X\82ª\93ü\82Á\82Ä\82¢\82é\83|\83C\83\93\83^ */
+ void setAddress(T* const pClass,LRESULT (T::* pAddress)(const HWND,const WPARAM,const LPARAM));
+
+ LRESULT call(const HWND hwnd,const WPARAM wParam,const LPARAM lParam);
+private:
+ T* mpClass;///< \8cÄ\82Ñ\8fo\82µ\82½\82¢\83\81\83\\83b\83h\82ª\93ü\82Á\82Ä\82¢\82é\83N\83\89\83X\82Ì\83C\83\93\83X\83^\83\93\83X\82Ì\83|\83C\83\93\83^
+ LRESULT (T::* mpAddress)(const HWND,const WPARAM,const LPARAM);///< \8cÄ\82Ñ\8fo\82µ\82½\82¢\83\81\83\93\83o\83\81\83\\83b\83h\82Ì\83A\83h\83\8c\83X
+};
+
+template<class T> WindowMessageImpl<T>::WindowMessageImpl()
+{
+ mpClass = NULL;
+ mpAddress = NULL;
+};
+
+template<class T> WindowMessageImpl<T>::WindowMessageImpl(T* const pClass,LRESULT (T::* pAddress)(const HWND,const WPARAM,const LPARAM))
+{
+ mpClass = pClass;
+ mpAddress = pAddress;
+};
+
+
+template<class T> void WindowMessageImpl<T>::setAddress(T* const pClass,LRESULT (T::* pAddress)(const HWND,const WPARAM,const LPARAM))
+{
+ mpClass = pClass;
+ mpAddress = pAddress;
+};
+
+template<class T> LRESULT WindowMessageImpl<T>::call(const HWND hwnd,const WPARAM wParam,const LPARAM lParam)
+{
+ if(mpClass && mpAddress)
+ return (mpClass->*mpAddress)(hwnd,wParam,lParam);
+ return 0;
+};
+
+/// Win32 \83C\83\93\83^\81[\83t\83F\81[\83X
+class SF_INTERFACE Win32
+{
+public:
+ /// \83R\83\93\83X\83g\83\89\83N\83^
+ Win32(){};
+ /// \83f\83X\83g\83\89\83N\83^
+ virtual ~Win32(){};
+
+ /// WinMain \83\89\83b\83p\81[
+ virtual int winMain (const HINSTANCE hThisInstance, const HINSTANCE hPrevInstance,
+ const LPSTR lpszCmdParam, const int nCmdShow) = 0;
+
+ /** Window Message\82Ì\93o\98^
+ * @param value Window\83\81\83b\83Z\81[\83W
+ * @param pWindowMessage WindowMessage\82Ì\83|\83C\83\93\83^ */
+ virtual const bool addWindowMessage(const DWORD value,WindowMessage * pWindowMessage) = 0;
+
+};
+ }
+}
+
+#endif // !defined(AFX_SYSTEMWIN32_H__9E630867_3321_4C17_8D1A_E0EAC93A1647__INCLUDED_)
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// DX\83G\83\89\81[\95\\8e¦\97p
+// \83{\81[\83\89\83\93\83h\83R\83\93\83p\83C\83\89\82É\91Î\89\9e\81H
+// $Log: dxerr8sf.h,v $
+// Revision 1.1 2001/10/21 12:12:36 fujiwara
+// (none)
+//
+// Revision 1.2 2001/05/12 00:50:48 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _BORLAND
+ #include "dxerr.h"
+#else
+// #include "dxerr8.h"
+ #define DXGetErrorString8(X) "error occured!"
+#endif
--- /dev/null
+MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
+ bcc32 -c -v -N -Od -WM- -WD -H -Hs -5 -a8 -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -DSFGLIB_EXPORTS -D_DEBUG .\AbstractSprite.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\AbstractSprite.cpp:
+\8cx\8d\90 W8058 .\System.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -v -N -Od -WM- -WD -H -Hs -5 -a8 -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -DSFGLIB_EXPORTS -D_DEBUG .\BackGround.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\BackGround.cpp:
+\8cx\8d\90 W8058 .\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8070 .\BackGround.cpp 147: \8aÖ\90\94\82Í\92l\82ð\95Ô\82·\82×\82«(\8aÖ\90\94 Background::unload() )
+ bcc32 -c -v -N -Od -WM- -WD -H -Hs -5 -a8 -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -DSFGLIB_EXPORTS -D_DEBUG .\ConsoleImpl.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\ConsoleImpl.cpp:
+\8cx\8d\90 W8058 .\System.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8004 .\ConsoleImpl.cpp 199: 'hr' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 ConsoleImpl::initialize(HWND__ * const,const bool) )
+\8cx\8d\90 W8004 .\ConsoleImpl.cpp 557: 'hr' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 ConsoleImpl::initNotManagedObjects() )
+ bcc32 -c -v -N -Od -WM- -WD -H -Hs -5 -a8 -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -DSFGLIB_EXPORTS -D_DEBUG .\Exception.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Exception.cpp:
+ bcc32 -c -v -N -Od -WM- -WD -H -Hs -5 -a8 -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -DSFGLIB_EXPORTS -D_DEBUG .\InputImpl.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\InputImpl.cpp:
+\8cx\8d\90 W8017 .\InputImpl.cpp 77: \83}\83N\83\8d '_WIN32_WINNT' \82Ì\8fd\95¡\92è\8b`
+\8cx\8d\90 W8058 .\System.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8004 .\InputImpl.cpp 187: 'hr' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 InputImpl::initialize() )
+\8cx\8d\90 W8004 .\InputImpl.cpp 321: 'hr' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 InputImpl::initJoystick() )
+\8cx\8d\90 W8004 .\InputImpl.cpp 369: 'hr' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 InputImpl::initKeyboard() )
+\8cx\8d\90 W8057 .\InputImpl.cpp 656: \83p\83\89\83\81\81[\83^ 'lParam' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 InputImpl::onKeyDown(HWND__ * const,const unsigned int,const long) )
+\8cx\8d\90 W8057 .\InputImpl.cpp 662: \83p\83\89\83\81\81[\83^ 'hwnd' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 InputImpl::onKeyUp(HWND__ * const,const unsigned int,const long) )
+\8cx\8d\90 W8057 .\InputImpl.cpp 662: \83p\83\89\83\81\81[\83^ 'wParam' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 InputImpl::onKeyUp(HWND__ * const,const unsigned int,const long) )
+\8cx\8d\90 W8057 .\InputImpl.cpp 662: \83p\83\89\83\81\81[\83^ 'lParam' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 InputImpl::onKeyUp(HWND__ * const,const unsigned int,const long) )
+ bcc32 -c -v -N -Od -WM- -WD -H -Hs -5 -a8 -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -DSFGLIB_EXPORTS -D_DEBUG .\Obj.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Obj.cpp:
+\8cx\8d\90 W8058 .\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -v -N -Od -WM- -WD -H -Hs -5 -a8 -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -DSFGLIB_EXPORTS -D_DEBUG .\Obj2D.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Obj2D.cpp:
+\8cx\8d\90 W8058 .\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -v -N -Od -WM- -WD -H -Hs -5 -a8 -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -DSFGLIB_EXPORTS -D_DEBUG .\Obj3D.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Obj3D.cpp:
+\8cx\8d\90 W8058 .\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -v -N -Od -WM- -WD -H -Hs -5 -a8 -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -DSFGLIB_EXPORTS -D_DEBUG .\Obj3DL.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Obj3DL.cpp:
+\8cx\8d\90 W8058 .\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -v -N -Od -WM- -WD -H -Hs -5 -a8 -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -DSFGLIB_EXPORTS -D_DEBUG .\ObjQuadrangle.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\ObjQuadrangle.cpp:
+\8cx\8d\90 W8058 .\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -v -N -Od -WM- -WD -H -Hs -5 -a8 -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -DSFGLIB_EXPORTS -D_DEBUG .\ObjRectangle.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\ObjRectangle.cpp:
+\8cx\8d\90 W8058 .\system.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -v -N -Od -WM- -WD -H -Hs -5 -a8 -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -DSFGLIB_EXPORTS -D_DEBUG .\sfglib.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\sfglib.cpp:
+\8cx\8d\90 W8057 .\sfglib.cpp 12: \83p\83\89\83\81\81[\83^ 'hModule' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 __stdcall DllMain(void *,unsigned long,void *) )
+\8cx\8d\90 W8057 .\sfglib.cpp 12: \83p\83\89\83\81\81[\83^ 'ul_reason_for_call' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 __stdcall DllMain(void *,unsigned long,void *) )
+\8cx\8d\90 W8057 .\sfglib.cpp 12: \83p\83\89\83\81\81[\83^ 'lpReserved' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 __stdcall DllMain(void *,unsigned long,void *) )
+ bcc32 -c -v -N -Od -WM- -WD -H -Hs -5 -a8 -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -DSFGLIB_EXPORTS -D_DEBUG .\SoundImpl.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\SoundImpl.cpp:
+\8cx\8d\90 W8058 .\System.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -v -N -Od -WM- -WD -H -Hs -5 -a8 -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -DSFGLIB_EXPORTS -D_DEBUG .\Sprite2D.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Sprite2D.cpp:
+\8cx\8d\90 W8058 .\System.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8004 .\Sprite2D.cpp 350: 'hr' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 Sprite2D::draw(const ObjRectangle * const) )
+\8cx\8d\90 W8004 .\Sprite2D.cpp 442: 'hr' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 Sprite2D::draw(const ObjQuadrangle * const) )
+ bcc32 -c -v -N -Od -WM- -WD -H -Hs -5 -a8 -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -DSFGLIB_EXPORTS -D_DEBUG .\Sprite3D.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\Sprite3D.cpp:
+\8cx\8d\90 W8058 .\System.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8004 .\Sprite3D.cpp 338: 'hr' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 Sprite3D::draw(const Obj3DL * const) )
+ bcc32 -c -v -N -Od -WM- -WD -H -Hs -5 -a8 -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -DSFGLIB_EXPORTS -D_DEBUG .\SpriteMesh.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\SpriteMesh.cpp:
+\8cx\8d\90 W8058 .\System.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8004 .\SpriteMesh.cpp 183: 'hr' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 SpriteMesh::load(const Info *,const _D3DFORMAT,const unsigned long) )
+\8cx\8d\90 W8004 .\SpriteMesh.cpp 259: 'hr' \82É\91ã\93ü\82µ\82½\92l\82Í\8eg\82í\82ê\82Ä\82¢\82È\82¢(\8aÖ\90\94 SpriteMesh::draw(const Obj3DL * const) )
+ bcc32 -c -v -N -Od -WM- -WD -H -Hs -5 -a8 -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -DSFGLIB_EXPORTS -D_DEBUG .\StdAfx.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\StdAfx.cpp:
+\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\82Ì\93Ç\82Ý\8d\9e\82Ý
+ bcc32 -c -v -N -Od -WM- -WD -H -Hs -5 -a8 -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -DSFGLIB_EXPORTS -D_DEBUG .\System.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\System.cpp:
+\8cx\8d\90 W8058 .\System.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+ bcc32 -c -v -N -Od -WM- -WD -H -Hs -5 -a8 -I"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" -DWINVER=0x400 -D_WIN32_IE=0x300 -D_WIN32_WINNT=0x400 -n.\obj -VM -Dsinf=(float)sin -Dcosf=(float)cos -Dasinf=(float)asin -Dacosf=(float)acos -Dsqrtf=(float)sqrt -Dexpf=(float)exp -D_BORLAND -DSFGLIB_EXPORTS -D_DEBUG .\SystemImpl.cpp
+Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
+.\SystemImpl.cpp:
+\8cx\8d\90 W8058 .\System.h 45: \83w\83b\83_\82É\8f\89\8aú\89»\83f\81[\83^\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82é\82½\82ß\83v\83\8a\83R\83\93\83p\83C\83\8b\83w\83b\83_\81[\82ð\8dì\90¬\82Å\82«\82È\82¢
+\8cx\8d\90 W8066 .\SystemImpl.cpp 253: \8eÀ\8ds\82³\82ê\82È\82¢\83R\81[\83h(\8aÖ\90\94 SystemImpl::winMain(HINSTANCE__ * const,HINSTANCE__ * const,char * const,const int) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 314: \83p\83\89\83\81\81[\83^ 'hPrevInstance' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::winMain(HINSTANCE__ * const,HINSTANCE__ * const,char * const,const int) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 314: \83p\83\89\83\81\81[\83^ 'lpszCmdParam' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::winMain(HINSTANCE__ * const,HINSTANCE__ * const,char * const,const int) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 368: \83p\83\89\83\81\81[\83^ 'wParam' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::onPaint(HWND__ * const,const unsigned int,const long) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 368: \83p\83\89\83\81\81[\83^ 'lParam' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::onPaint(HWND__ * const,const unsigned int,const long) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 379: \83p\83\89\83\81\81[\83^ 'hwnd' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::onActivate(HWND__ * const,const unsigned int,const long) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 379: \83p\83\89\83\81\81[\83^ 'lParam' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::onActivate(HWND__ * const,const unsigned int,const long) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 396: \83p\83\89\83\81\81[\83^ 'hwnd' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::onSize(HWND__ * const,const unsigned int,const long) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 396: \83p\83\89\83\81\81[\83^ 'wParam' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::onSize(HWND__ * const,const unsigned int,const long) )
+\8cx\8d\90 W8057 .\SystemImpl.cpp 396: \83p\83\89\83\81\81[\83^ 'lParam' \82Í\88ê\93x\82à\8eg\97p\82³\82ê\82È\82¢(\8aÖ\90\94 SystemImpl::onSize(HWND__ * const,const unsigned int,const long) )
+ brc32 -r -i"c:\mssdk\lib\b_dx8;c:\mssdk\include;C:\BORLAND\BCC55\BIN\..\include;" -D_BORLAND -w32 sfglib.rc -fo.\obj\sfglib
+Borland Resource Compiler Version 5.40
+Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved.
+ ilink32 -Tpd -aa -v -r -c -L"c:\mssdk\lib\b_dx8;C:\BORLAND\BCC55\BIN\..\lib;C:\BORLAND\BCC55\BIN\..\lib\PSDK;" /j.\obj /I.\obj c0d32w.obj ".\obj\AbstractSprite.obj" ".\obj\BackGround.obj" ".\obj\ConsoleImpl.obj" ".\obj\Exception.obj" ".\obj\InputImpl.obj" ".\obj\Obj.obj" ".\obj\Obj2D.obj" ".\obj\Obj3D.obj" ".\obj\Obj3DL.obj" ".\obj\ObjQuadrangle.obj" ".\obj\ObjRectangle.obj" ".\obj\sfglib.obj" ".\obj\SoundImpl.obj" ".\obj\Sprite2D.obj" ".\obj\Sprite3D.obj" ".\obj\SpriteMesh.obj" ".\obj\StdAfx.obj" ".\obj\System.obj" ".\obj\SystemImpl.obj",.\obj\sfglib,,dsound.lib c_dinput.lib import32.lib cw32.lib dinput8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib dxerr8bor.lib winmm.lib,,.\obj\sfglib.res
+Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
+RLINK32 Version 4.00 (c) Copyright 1992-1999 Borland International.
+Input resource file #1: "TMP1.$$$"
+Input resource file #2: "C:\MY DOCUMENTS\GENX\PROJECT\SFGLIB\OBJ\SFGLIB.RES"
+Reading resource files.
+
+RESOURCE LIST
+Key: The attributes Language, Data Version, Version, and Characteristics are
+shown in hex. They appear only if they are nonzero. *Discardable resource.
+Type ID Name ID File Size Language Data Version
+10 (RCDATA) DVCLAL 1 16
+16 (VERSIONINFO) 1 2 796 0x0411
+Writing resources.
+Resources linked.
+ copy .\obj\sfglib.dll c:\s2001
+ 1 \8cÂ\82Ì\83t\83@\83C\83\8b\82ð\83R\83s\81[\82µ\82Ü\82µ\82½.
+ implib .\lib\sfglib.lib .\obj\sfglib.dll
+
+Borland Implib Version 3.0.22 Copyright (c) 1991, 2000 Inprise Corporation
+Warning duplicate symbol: @sf@system@Exception@$bctr$qxpxct1xix30sf@system@Exception@ERROR_TYPE
+Warning duplicate symbol: @sf@system@Exception@$bctr$qxpxct1xix30sf@system@Exception@ERROR_TYPE
+Warning duplicate symbol: @sf@system@Exception@$bctr$qxpxct1xix30sf@system@Exception@ERROR_TYPE
+Warning duplicate symbol: @sf@system@Exception@$bdtr$qv
+Warning duplicate symbol: @sf@system@Exception@$bdtr$qv
+Warning duplicate symbol: @sf@system@Exception@$bdtr$qv
+Warning duplicate symbol: @sf@system@Exception@$bdtr$qv
+Warning duplicate symbol: @sf@system@Exception@$bdtr$qv
+Warning duplicate symbol: @sf@system@Exception@$bdtr$qv
+Warning duplicate symbol: @sf@system@Exception@$bdtr$qv
+Warning duplicate symbol: @sf@system@Exception@$bdtr$qv
+Warning duplicate symbol: @sf@system@Exception@errorType$qx30sf@system@Exception@ERROR_TYPE
+Warning duplicate symbol: @sf@system@Exception@errorType$qx30sf@system@Exception@ERROR_TYPE
+Warning duplicate symbol: @sf@system@Exception@errorType$qx30sf@system@Exception@ERROR_TYPE
+Warning duplicate symbol: @sf@system@Exception@errorType$qx30sf@system@Exception@ERROR_TYPE
+Warning duplicate symbol: @sf@system@Exception@errorType$qx30sf@system@Exception@ERROR_TYPE
+Warning duplicate symbol: @sf@system@Exception@errorType$qx30sf@system@Exception@ERROR_TYPE
+Warning duplicate symbol: @sf@system@Exception@errorType$qx30sf@system@Exception@ERROR_TYPE
+Warning duplicate symbol: @sf@system@Exception@errorType$qx30sf@system@Exception@ERROR_TYPE
+Warning duplicate symbol: @sf@system@Exception@errorType$xqv
+Warning duplicate symbol: @sf@system@Exception@errorType$xqv
+Warning duplicate symbol: @sf@system@Exception@errorType$xqv
+Warning duplicate symbol: @sf@system@Exception@errorType$xqv
+Warning duplicate symbol: @sf@system@Exception@errorType$xqv
+Warning duplicate symbol: @sf@system@Exception@errorType$xqv
+Warning duplicate symbol: @sf@system@Exception@errorType$xqv
+Warning duplicate symbol: @sf@system@Exception@errorType$xqv
+Warning duplicate symbol: @sf@system@Exception@lineNumber$qv
+Warning duplicate symbol: @sf@system@Exception@lineNumber$qv
+Warning duplicate symbol: @sf@system@Exception@lineNumber$qv
+Warning duplicate symbol: @sf@system@Exception@lineNumber$qv
+Warning duplicate symbol: @sf@system@Exception@lineNumber$qv
+Warning duplicate symbol: @sf@system@Exception@lineNumber$qv
+Warning duplicate symbol: @sf@system@Exception@lineNumber$qv
+Warning duplicate symbol: @sf@system@Exception@lineNumber$qv
+Warning duplicate symbol: @sf@system@Exception@lineNumber$qxi
+Warning duplicate symbol: @sf@system@Exception@lineNumber$qxi
+Warning duplicate symbol: @sf@system@Exception@lineNumber$qxi
+Warning duplicate symbol: @sf@system@Exception@lineNumber$qxi
+Warning duplicate symbol: @sf@system@Exception@lineNumber$qxi
+Warning duplicate symbol: @sf@system@Exception@lineNumber$qxi
+Warning duplicate symbol: @sf@system@Exception@lineNumber$qxi
+Warning duplicate symbol: @sf@system@Exception@lineNumber$qxi
+Warning duplicate symbol: @sf@system@Exception@reason$qrx60std@%basic_string$c19std@%char_traits$c%17std@%allocator$c%%
+Warning duplicate symbol: @sf@system@Exception@reason$qrx60std@%basic_string$c19std@%char_traits$c%17std@%allocator$c%%
+Warning duplicate symbol: @sf@system@Exception@reason$qrx60std@%basic_string$c19std@%char_traits$c%17std@%allocator$c%%
+Warning duplicate symbol: @sf@system@Exception@reason$qrx60std@%basic_string$c19std@%char_traits$c%17std@%allocator$c%%
+Warning duplicate symbol: @sf@system@Exception@reason$qrx60std@%basic_string$c19std@%char_traits$c%17std@%allocator$c%%
+Warning duplicate symbol: @sf@system@Exception@reason$qrx60std@%basic_string$c19std@%char_traits$c%17std@%allocator$c%%
+Warning duplicate symbol: @sf@system@Exception@reason$qrx60std@%basic_string$c19std@%char_traits$c%17std@%allocator$c%%
+Warning duplicate symbol: @sf@system@Exception@reason$qrx60std@%basic_string$c19std@%char_traits$c%17std@%allocator$c%%
+Warning duplicate symbol: @sf@system@Exception@reason$qv
+Warning duplicate symbol: @sf@system@Exception@reason$qv
+Warning duplicate symbol: @sf@system@Exception@reason$qv
+Warning duplicate symbol: @sf@system@Exception@reason$qv
+Warning duplicate symbol: @sf@system@Exception@reason$qv
+Warning duplicate symbol: @sf@system@Exception@reason$qv
+Warning duplicate symbol: @sf@system@Exception@reason$qv
+Warning duplicate symbol: @sf@system@Exception@reason$qv
+Warning duplicate symbol: @sf@system@Exception@reason$qxpxc
+Warning duplicate symbol: @sf@system@Exception@reason$qxpxc
+Warning duplicate symbol: @sf@system@Exception@reason$qxpxc
+Warning duplicate symbol: @sf@system@Exception@reason$qxpxc
+Warning duplicate symbol: @sf@system@Exception@reason$qxpxc
+Warning duplicate symbol: @sf@system@Exception@reason$qxpxc
+Warning duplicate symbol: @sf@system@Exception@reason$qxpxc
+Warning duplicate symbol: @sf@system@Exception@reason$qxpxc
+Warning duplicate symbol: @sf@system@Exception@sourceFileName$qxpxc
+Warning duplicate symbol: @sf@system@Exception@sourceFileName$qxpxc
+Warning duplicate symbol: @sf@system@Exception@sourceFileName$qxpxc
+Warning duplicate symbol: @sf@system@Exception@sourceFileName$qxpxc
+Warning duplicate symbol: @sf@system@Exception@sourceFileName$qxpxc
+Warning duplicate symbol: @sf@system@Exception@sourceFileName$qxpxc
+Warning duplicate symbol: @sf@system@Exception@sourceFileName$qxpxc
+Warning duplicate symbol: @sf@system@Exception@sourceFileName$qxpxc
+Warning duplicate symbol: @sf@system@Exception@sourceFileName$xqv
+Warning duplicate symbol: @sf@system@Exception@sourceFileName$xqv
+Warning duplicate symbol: @sf@system@Exception@sourceFileName$xqv
+Warning duplicate symbol: @sf@system@Exception@sourceFileName$xqv
+Warning duplicate symbol: @sf@system@Exception@sourceFileName$xqv
+Warning duplicate symbol: @sf@system@Exception@sourceFileName$xqv
+Warning duplicate symbol: @sf@system@Exception@sourceFileName$xqv
+Warning duplicate symbol: @sf@system@Exception@sourceFileName$xqv
+Warning duplicate symbol: @sf@system@FatalErrorException@$bctr$qxpxct1xix30sf@system@Exception@ERROR_TYPE
+Warning duplicate symbol: @sf@system@FatalErrorException@$bctr$qxpxct1xix30sf@system@Exception@ERROR_TYPE
+Warning duplicate symbol: @sf@system@FatalErrorException@$bctr$qxpxct1xix30sf@system@Exception@ERROR_TYPE
+Warning duplicate symbol: @sf@system@RecoverbleErrorException@$bctr$qxpxct1xix30sf@system@Exception@ERROR_TYPE
+Warning duplicate symbol: @sf@system@RecoverbleErrorException@$bctr$qxpxct1xix30sf@system@Exception@ERROR_TYPE
+Warning duplicate symbol: @sf@system@System@$bdtr$qv
+Warning duplicate symbol: @sf@system@SystemImpl@addWindowMessage$qulp23sf@system@WindowMessage
+Warning duplicate symbol: @sf@system@WindowMessage@$bdtr$qv
+Warning duplicate symbol: @sf@system@console@Console@$bdtr$qv
+Warning duplicate symbol: @sf@system@console@Obj2D@angle$qxf
+Warning duplicate symbol: @sf@system@console@Obj2D@angle$qxf
+Warning duplicate symbol: @sf@system@console@Obj2D@angle$qxf
+Warning duplicate symbol: @sf@system@console@Obj2D@angle$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@angle$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@angle$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@drawMode$qx26sf@system@console@DrawMode
+Warning duplicate symbol: @sf@system@console@Obj2D@drawMode$qx26sf@system@console@DrawMode
+Warning duplicate symbol: @sf@system@console@Obj2D@drawMode$qx26sf@system@console@DrawMode
+Warning duplicate symbol: @sf@system@console@Obj2D@drawMode$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@drawMode$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@drawMode$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@index$qxi
+Warning duplicate symbol: @sf@system@console@Obj2D@index$qxi
+Warning duplicate symbol: @sf@system@console@Obj2D@index$qxi
+Warning duplicate symbol: @sf@system@console@Obj2D@index$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@index$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@index$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@next$qxp21sf@system@console@Obj
+Warning duplicate symbol: @sf@system@console@Obj2D@next$qxp21sf@system@console@Obj
+Warning duplicate symbol: @sf@system@console@Obj2D@next$qxp21sf@system@console@Obj
+Warning duplicate symbol: @sf@system@console@Obj2D@next$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@next$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@next$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@previous$qxp21sf@system@console@Obj
+Warning duplicate symbol: @sf@system@console@Obj2D@previous$qxp21sf@system@console@Obj
+Warning duplicate symbol: @sf@system@console@Obj2D@previous$qxp21sf@system@console@Obj
+Warning duplicate symbol: @sf@system@console@Obj2D@previous$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@previous$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@previous$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@reverseX$qxo
+Warning duplicate symbol: @sf@system@console@Obj2D@reverseX$qxo
+Warning duplicate symbol: @sf@system@console@Obj2D@reverseX$qxo
+Warning duplicate symbol: @sf@system@console@Obj2D@reverseX$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@reverseX$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@reverseX$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@reverseY$qxo
+Warning duplicate symbol: @sf@system@console@Obj2D@reverseY$qxo
+Warning duplicate symbol: @sf@system@console@Obj2D@reverseY$qxo
+Warning duplicate symbol: @sf@system@console@Obj2D@reverseY$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@reverseY$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@reverseY$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@scalingX$qxf
+Warning duplicate symbol: @sf@system@console@Obj2D@scalingX$qxf
+Warning duplicate symbol: @sf@system@console@Obj2D@scalingX$qxf
+Warning duplicate symbol: @sf@system@console@Obj2D@scalingX$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@scalingX$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@scalingX$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@scalingY$qxf
+Warning duplicate symbol: @sf@system@console@Obj2D@scalingY$qxf
+Warning duplicate symbol: @sf@system@console@Obj2D@scalingY$qxf
+Warning duplicate symbol: @sf@system@console@Obj2D@scalingY$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@scalingY$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@scalingY$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@sprite$qxp31sf@system@console@sprite@Sprite
+Warning duplicate symbol: @sf@system@console@Obj2D@sprite$qxp31sf@system@console@sprite@Sprite
+Warning duplicate symbol: @sf@system@console@Obj2D@sprite$qxp31sf@system@console@sprite@Sprite
+Warning duplicate symbol: @sf@system@console@Obj2D@sprite$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@sprite$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@sprite$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@visibility$qxo
+Warning duplicate symbol: @sf@system@console@Obj2D@visibility$qxo
+Warning duplicate symbol: @sf@system@console@Obj2D@visibility$qxo
+Warning duplicate symbol: @sf@system@console@Obj2D@visibility$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@visibility$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@visibility$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@x$qxf
+Warning duplicate symbol: @sf@system@console@Obj2D@x$qxf
+Warning duplicate symbol: @sf@system@console@Obj2D@x$qxf
+Warning duplicate symbol: @sf@system@console@Obj2D@x$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@x$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@x$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@y$qxf
+Warning duplicate symbol: @sf@system@console@Obj2D@y$qxf
+Warning duplicate symbol: @sf@system@console@Obj2D@y$qxf
+Warning duplicate symbol: @sf@system@console@Obj2D@y$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@y$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@y$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@z$qxf
+Warning duplicate symbol: @sf@system@console@Obj2D@z$qxf
+Warning duplicate symbol: @sf@system@console@Obj2D@z$qxf
+Warning duplicate symbol: @sf@system@console@Obj2D@z$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@z$xqv
+Warning duplicate symbol: @sf@system@console@Obj2D@z$xqv
+Warning duplicate symbol: @sf@system@console@Obj3D@drawMode$qx26sf@system@console@DrawMode
+Warning duplicate symbol: @sf@system@console@Obj3D@drawMode$xqv
+Warning duplicate symbol: @sf@system@console@Obj3D@index$qxi
+Warning duplicate symbol: @sf@system@console@Obj3D@index$xqv
+Warning duplicate symbol: @sf@system@console@Obj3D@next$qxp21sf@system@console@Obj
+Warning duplicate symbol: @sf@system@console@Obj3D@next$xqv
+Warning duplicate symbol: @sf@system@console@Obj3D@previous$qxp21sf@system@console@Obj
+Warning duplicate symbol: @sf@system@console@Obj3D@previous$xqv
+Warning duplicate symbol: @sf@system@console@Obj3D@rotXCos$xqv
+Warning duplicate symbol: @sf@system@console@Obj3D@rotXSin$xqv
+Warning duplicate symbol: @sf@system@console@Obj3D@rotYCos$xqv
+Warning duplicate symbol: @sf@system@console@Obj3D@rotYSin$xqv
+Warning duplicate symbol: @sf@system@console@Obj3D@rotZCos$xqv
+Warning duplicate symbol: @sf@system@console@Obj3D@rotZSin$xqv
+Warning duplicate symbol: @sf@system@console@Obj3D@scalingX$xqv
+Warning duplicate symbol: @sf@system@console@Obj3D@scalingY$xqv
+Warning duplicate symbol: @sf@system@console@Obj3D@scalingZ$xqv
+Warning duplicate symbol: @sf@system@console@Obj3D@spaceX$xqv
+Warning duplicate symbol: @sf@system@console@Obj3D@spaceY$xqv
+Warning duplicate symbol: @sf@system@console@Obj3D@spaceZ$xqv
+Warning duplicate symbol: @sf@system@console@Obj3D@sprite$qxp31sf@system@console@sprite@Sprite
+Warning duplicate symbol: @sf@system@console@Obj3D@sprite$xqv
+Warning duplicate symbol: @sf@system@console@Obj3D@visibility$qxo
+Warning duplicate symbol: @sf@system@console@Obj3D@visibility$xqv
+Warning duplicate symbol: @sf@system@console@Obj3D@z$xqv
+Warning duplicate symbol: @sf@system@console@sprite@AbstractSprite@centerX$xqv
+Warning duplicate symbol: @sf@system@console@sprite@AbstractSprite@centerX$xqv
+Warning duplicate symbol: @sf@system@console@sprite@AbstractSprite@centerX$xqv
+Warning duplicate symbol: @sf@system@console@sprite@AbstractSprite@centerY$xqv
+Warning duplicate symbol: @sf@system@console@sprite@AbstractSprite@centerY$xqv
+Warning duplicate symbol: @sf@system@console@sprite@AbstractSprite@centerY$xqv
+Warning duplicate symbol: @sf@system@console@sprite@AbstractSprite@height$xqv
+Warning duplicate symbol: @sf@system@console@sprite@AbstractSprite@use$qxo
+Warning duplicate symbol: @sf@system@console@sprite@AbstractSprite@width$xqv
+Warning duplicate symbol: @sf@system@console@sprite@Sprite@$bdtr$qv
+Warning duplicate symbol: @sf@system@console@sprite@Sprite@$bdtr$qv
+Warning duplicate symbol: @sf@system@console@sprite@Sprite@$bdtr$qv
+Warning duplicate symbol: @sf@system@console@sprite@Sprite@$bdtr$qv
+Warning duplicate symbol: @sf@system@console@sprite@Sprite@$bdtr$qv
+Warning duplicate symbol: @sf@system@input@Input@$bdtr$qv
+Warning duplicate symbol: @sf@system@sound@Sound@$bdtr$qv
+ copy .\obj\sfglib.dll ..\obj
+ 1 \8cÂ\82Ì\83t\83@\83C\83\8b\82ð\83R\83s\81[\82µ\82Ü\82µ\82½.
--- /dev/null
+/**
+ * @file
+ * @brief \83\8a\83\\81[\83XID\82Ì\92è\8b`.
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.*/
+//{{NO_DEPENDENCIES}}
+// Microsoft Developer Studio generated include file.
+// Used by sfglib.rc
+//
+#define IDI_ICON1 101
+#define IDR_MENU1 104
+#define IDD_ABOUT 105
+#define ID_RESET 40001
+#define ID_EXIT 40002
+#define ID_BGM 40003
+#define ID_EFFECT 40004
+#define ID_ABOUT 40005
+#define ID_DIK 40006
+#define ID_EDITGAME 40008
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE 109
+#define _APS_NEXT_COMMAND_VALUE 40009
+#define _APS_NEXT_CONTROL_VALUE 1009
+#define _APS_NEXT_SYMED_VALUE 101
+#endif
+#endif
--- /dev/null
+/**
+ * @file Sf.h
+ * @brief \83\89\83C\83u\83\89\83\8aDLL\82Ì\83C\83\93\83N\83\8b\81[\83h\90§\8cä\82ð\8ds\82¤
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+/// \93ñ\8fd\83C\83\93\83N\83\8b\81[\83h\96h\8e~
+#ifndef SF
+#define SF
+#ifdef SFGLIB_EXPORTS
+ #define SFDLL __declspec(dllexport)
+#else
+ #define SFDLL __declspec(dllimport)
+#endif
+#endif
\ No newline at end of file
--- /dev/null
+/**
+ * @file sfdebug.h
+ * @brief \83f\83o\83b\83O\97p\83\89\83C\83u\83\89\83\8a\82Ì\91g\82Ý\8d\9e\82Ý\92è\8b`
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+/// \93ñ\8fd\83C\83\93\83N\83\8b\81[\83h\96h\8e~\83}\83N\83\8d
+#ifndef _SFDEBUG
+#define _SFDEBUG
+// \83\81\83\82\83\8a\81[\83\8a\81[\83N\8c\9f\8fo\97p
+#ifdef _DEBUG
+#ifndef _BORLAND
+#define _CRTDBG_MAP_ALLOC
+#include <stdlib.h>
+#include <crtdbg.h>
+ #define DEBUG_NEW new(_NORMAL_BLOCK,__FILE__,__LINE__)
+#else
+ #define DEBUG_NEW new
+#endif
+#endif
+#endif
\ No newline at end of file
--- /dev/null
+/**
+ * @file
+ * @brief DLL \97p\82Ì\83G\83\93\83g\83\8a \83|\83C\83\93\83g\82ð\92è\8b`\82·\82é\81B
+ *
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.*/
+
+
+#pragma warning( disable : 4786 4251) //STL\82Ì\8cx\8d\90\8aO\82µ
+
+#include "stdafx.h"
+#include "sfdebug.h"
+
+
+// SYSTEM INCLUDES
+//
+//#define INITGUID
+
+///
+#define WIN32_LEAN_AND_MEAN
+
+#include "math.h"
+#include <list>
+#include <queue>
+#include <memory>
+#include <map>
+#include <iostream>
+#include <strstream>
+
+#include "windows.h"
+#include "windowsx.h"
+#include "d3d8.h"
+#include "d3dx8.h"
+#include "dmusici.h"
+#include "dinput.h"
+#include "dxerr8sf.h"
+
+// PROJECT INCLUDES
+//
+
+#include "exception.h"
+#include "resource.h"
+#include "System.h"
+#include "Console.h"
+#include "Obj.h"
+#include "singleton.h"
+#include "AbstractSprite.h"
+#include "ConsoleImpl.h"
+#include "SoundImpl.h"
+#include "InputImpl.h"
+#include "Main.h"
+#include "SystemImpl.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+/// DLL\83\81\83C\83\93
+BOOL APIENTRY DllMain( HANDLE hModule,
+ DWORD ul_reason_for_call,
+ LPVOID lpReserved
+ )
+{
+ return TRUE;
+}
+
+
--- /dev/null
+# Microsoft Developer Studio Generated Dependency File, included by sfglib.mak
+
+.\AbstractSprite.cpp : \
+ "..\..\..\..\mssdk\include\basetsd.h"\
+ ".\AbstractSprite.h"\
+ ".\Console.h"\
+ ".\ConsoleImpl.h"\
+ ".\dxerr8sf.h"\
+ ".\Exception.h"\
+ ".\Input.h"\
+ ".\main.h"\
+ ".\Obj.h"\
+ ".\Obj2D.h"\
+ ".\Obj3D.h"\
+ ".\Obj3DL.h"\
+ ".\ObjQuadrangle.h"\
+ ".\ObjRectangle.h"\
+ ".\sf.h"\
+ ".\sfdebug.h"\
+ ".\Sound.h"\
+ ".\System.h"\
+ {$(INCLUDE)}"d3d8.h"\
+ {$(INCLUDE)}"d3d8caps.h"\
+ {$(INCLUDE)}"d3d8types.h"\
+ {$(INCLUDE)}"d3dx8.h"\
+ {$(INCLUDE)}"d3dx8core.h"\
+ {$(INCLUDE)}"d3dx8effect.h"\
+ {$(INCLUDE)}"d3dx8math.h"\
+ {$(INCLUDE)}"d3dx8math.inl"\
+ {$(INCLUDE)}"d3dx8mesh.h"\
+ {$(INCLUDE)}"d3dx8shape.h"\
+ {$(INCLUDE)}"d3dx8tex.h"\
+ {$(INCLUDE)}"dxerr8.h"\
+ {$(INCLUDE)}"dxfile.h"\
+
+
+.\BackGround.cpp : \
+ ".\BackGround.h"\
+ ".\Console.h"\
+ ".\Exception.h"\
+ ".\Obj.h"\
+ ".\Obj2D.h"\
+ ".\ObjQuadrangle.h"\
+ ".\ObjRectangle.h"\
+ ".\sf.h"\
+ ".\sfdebug.h"\
+ ".\System.h"\
+
+
+.\ConsoleImpl.cpp : \
+ ".\AbstractSprite.h"\
+ ".\Console.h"\
+ ".\ConsoleImpl.h"\
+ ".\dxerr8sf.h"\
+ ".\Exception.h"\
+ ".\Input.h"\
+ ".\main.h"\
+ ".\Obj.h"\
+ ".\Obj2D.h"\
+ ".\Obj3D.h"\
+ ".\Obj3DL.h"\
+ ".\ObjQuadrangle.h"\
+ ".\ObjRectangle.h"\
+ ".\sf.h"\
+ ".\sfdebug.h"\
+ ".\Sound.h"\
+ ".\Sprite2D.h"\
+ ".\Sprite3D.h"\
+ ".\SpriteMesh.h"\
+ ".\System.h"\
+ {$(INCLUDE)}"d3d8.h"\
+ {$(INCLUDE)}"d3d8caps.h"\
+ {$(INCLUDE)}"d3d8types.h"\
+ {$(INCLUDE)}"d3dx8.h"\
+ {$(INCLUDE)}"d3dx8core.h"\
+ {$(INCLUDE)}"d3dx8effect.h"\
+ {$(INCLUDE)}"d3dx8math.h"\
+ {$(INCLUDE)}"d3dx8math.inl"\
+ {$(INCLUDE)}"d3dx8mesh.h"\
+ {$(INCLUDE)}"d3dx8shape.h"\
+ {$(INCLUDE)}"d3dx8tex.h"\
+ {$(INCLUDE)}"dxerr8.h"\
+ {$(INCLUDE)}"dxfile.h"\
+
+
+.\Exception.cpp : \
+ ".\Exception.h"\
+ ".\sf.h"\
+ ".\sfdebug.h"\
+
+
+.\InputImpl.cpp : \
+ ".\AbstractSprite.h"\
+ ".\Console.h"\
+ ".\ConsoleImpl.h"\
+ ".\dxerr8sf.h"\
+ ".\Exception.h"\
+ ".\Input.h"\
+ ".\InputImpl.h"\
+ ".\main.h"\
+ ".\Obj.h"\
+ ".\sf.h"\
+ ".\sfdebug.h"\
+ ".\singleton.h"\
+ ".\Sound.h"\
+ ".\SoundImpl.h"\
+ ".\System.h"\
+ ".\SystemImpl.h"\
+ {$(INCLUDE)}"d3d8.h"\
+ {$(INCLUDE)}"d3d8caps.h"\
+ {$(INCLUDE)}"d3d8types.h"\
+ {$(INCLUDE)}"d3dx8.h"\
+ {$(INCLUDE)}"d3dx8core.h"\
+ {$(INCLUDE)}"d3dx8effect.h"\
+ {$(INCLUDE)}"d3dx8math.h"\
+ {$(INCLUDE)}"d3dx8math.inl"\
+ {$(INCLUDE)}"d3dx8mesh.h"\
+ {$(INCLUDE)}"d3dx8shape.h"\
+ {$(INCLUDE)}"d3dx8tex.h"\
+ {$(INCLUDE)}"dls1.h"\
+ {$(INCLUDE)}"dmdls.h"\
+ {$(INCLUDE)}"dmerror.h"\
+ {$(INCLUDE)}"dmplugin.h"\
+ {$(INCLUDE)}"dmusbuff.h"\
+ {$(INCLUDE)}"dmusicc.h"\
+ {$(INCLUDE)}"dmusici.h"\
+ {$(INCLUDE)}"dxerr8.h"\
+ {$(INCLUDE)}"dxfile.h"\
+
+
+.\Obj.cpp : \
+ ".\Console.h"\
+ ".\Obj.h"\
+ ".\sf.h"\
+ ".\System.h"\
+
+
+.\Obj2D.cpp : \
+ ".\Console.h"\
+ ".\Obj.h"\
+ ".\Obj2D.h"\
+ ".\sf.h"\
+ ".\System.h"\
+
+
+.\Obj3D.cpp : \
+ ".\Console.h"\
+ ".\Obj.h"\
+ ".\Obj3D.h"\
+ ".\sf.h"\
+ ".\sfdebug.h"\
+ ".\System.h"\
+
+
+.\Obj3DL.cpp : \
+ ".\Console.h"\
+ ".\Obj.h"\
+ ".\Obj3D.h"\
+ ".\Obj3DL.h"\
+ ".\sf.h"\
+ ".\sfdebug.h"\
+ ".\System.h"\
+
+
+.\ObjQuadrangle.cpp : \
+ ".\Console.h"\
+ ".\Obj.h"\
+ ".\Obj2D.h"\
+ ".\ObjQuadrangle.h"\
+ ".\sf.h"\
+ ".\sfdebug.h"\
+ ".\System.h"\
+
+
+.\ObjRectangle.cpp : \
+ ".\Console.h"\
+ ".\Obj.h"\
+ ".\Obj2D.h"\
+ ".\ObjRectangle.h"\
+ ".\sf.h"\
+ ".\sfdebug.h"\
+ ".\System.h"\
+
+
+.\sfglib.cpp : \
+ ".\StdAfx.h"\
+
+
+.\sflib.rc : \
+ ".\icon1.ico"\
+
+
+.\SoundImpl.cpp : \
+ ".\Console.h"\
+ ".\dxerr8sf.h"\
+ ".\Exception.h"\
+ ".\Input.h"\
+ ".\sf.h"\
+ ".\sfdebug.h"\
+ ".\Sound.h"\
+ ".\SoundImpl.h"\
+ ".\System.h"\
+ {$(INCLUDE)}"dls1.h"\
+ {$(INCLUDE)}"dmdls.h"\
+ {$(INCLUDE)}"dmerror.h"\
+ {$(INCLUDE)}"dmplugin.h"\
+ {$(INCLUDE)}"dmusbuff.h"\
+ {$(INCLUDE)}"dmusicc.h"\
+ {$(INCLUDE)}"dmusici.h"\
+ {$(INCLUDE)}"dxerr8.h"\
+
+
+.\Sprite2D.cpp : \
+ ".\AbstractSprite.h"\
+ ".\Console.h"\
+ ".\ConsoleImpl.h"\
+ ".\dxerr8sf.h"\
+ ".\Exception.h"\
+ ".\Obj.h"\
+ ".\Obj2D.h"\
+ ".\ObjQuadrangle.h"\
+ ".\ObjRectangle.h"\
+ ".\sf.h"\
+ ".\sfdebug.h"\
+ ".\Sound.h"\
+ ".\Sprite2D.h"\
+ ".\System.h"\
+ {$(INCLUDE)}"d3d8.h"\
+ {$(INCLUDE)}"d3d8caps.h"\
+ {$(INCLUDE)}"d3d8types.h"\
+ {$(INCLUDE)}"d3dx8.h"\
+ {$(INCLUDE)}"d3dx8core.h"\
+ {$(INCLUDE)}"d3dx8effect.h"\
+ {$(INCLUDE)}"d3dx8math.h"\
+ {$(INCLUDE)}"d3dx8math.inl"\
+ {$(INCLUDE)}"d3dx8mesh.h"\
+ {$(INCLUDE)}"d3dx8shape.h"\
+ {$(INCLUDE)}"d3dx8tex.h"\
+ {$(INCLUDE)}"dxerr8.h"\
+ {$(INCLUDE)}"dxfile.h"\
+
+
+.\Sprite3D.cpp : \
+ ".\AbstractSprite.h"\
+ ".\Console.h"\
+ ".\ConsoleImpl.h"\
+ ".\dxerr8sf.h"\
+ ".\Exception.h"\
+ ".\Obj.h"\
+ ".\Obj3D.h"\
+ ".\Obj3DL.h"\
+ ".\sf.h"\
+ ".\sfdebug.h"\
+ ".\Sound.h"\
+ ".\Sprite3D.h"\
+ ".\System.h"\
+ {$(INCLUDE)}"d3d8.h"\
+ {$(INCLUDE)}"d3d8caps.h"\
+ {$(INCLUDE)}"d3d8types.h"\
+ {$(INCLUDE)}"d3dx8.h"\
+ {$(INCLUDE)}"d3dx8core.h"\
+ {$(INCLUDE)}"d3dx8effect.h"\
+ {$(INCLUDE)}"d3dx8math.h"\
+ {$(INCLUDE)}"d3dx8math.inl"\
+ {$(INCLUDE)}"d3dx8mesh.h"\
+ {$(INCLUDE)}"d3dx8shape.h"\
+ {$(INCLUDE)}"d3dx8tex.h"\
+ {$(INCLUDE)}"dxerr8.h"\
+ {$(INCLUDE)}"dxfile.h"\
+
+
+.\SpriteMesh.cpp : \
+ ".\AbstractSprite.h"\
+ ".\Console.h"\
+ ".\dxerr8sf.h"\
+ ".\Exception.h"\
+ ".\Obj.h"\
+ ".\Obj3D.h"\
+ ".\Obj3DL.h"\
+ ".\sf.h"\
+ ".\sfdebug.h"\
+ ".\Sound.h"\
+ ".\SpriteMesh.h"\
+ ".\System.h"\
+ {$(INCLUDE)}"d3d8.h"\
+ {$(INCLUDE)}"d3d8caps.h"\
+ {$(INCLUDE)}"d3d8types.h"\
+ {$(INCLUDE)}"d3dx8.h"\
+ {$(INCLUDE)}"d3dx8core.h"\
+ {$(INCLUDE)}"d3dx8effect.h"\
+ {$(INCLUDE)}"d3dx8math.h"\
+ {$(INCLUDE)}"d3dx8math.inl"\
+ {$(INCLUDE)}"d3dx8mesh.h"\
+ {$(INCLUDE)}"d3dx8shape.h"\
+ {$(INCLUDE)}"d3dx8tex.h"\
+ {$(INCLUDE)}"dxerr8.h"\
+ {$(INCLUDE)}"dxfile.h"\
+
+
+.\StdAfx.cpp : \
+ "..\..\..\..\mssdk\include\basetsd.h"\
+ ".\StdAfx.h"\
+
+
+.\System.cpp : \
+ ".\AbstractSprite.h"\
+ ".\Console.h"\
+ ".\ConsoleImpl.h"\
+ ".\Exception.h"\
+ ".\Input.h"\
+ ".\InputImpl.h"\
+ ".\main.h"\
+ ".\Obj.h"\
+ ".\sf.h"\
+ ".\singleton.h"\
+ ".\Sound.h"\
+ ".\SoundImpl.h"\
+ ".\System.h"\
+ ".\SystemImpl.h"\
+ {$(INCLUDE)}"d3d8.h"\
+ {$(INCLUDE)}"d3d8caps.h"\
+ {$(INCLUDE)}"d3d8types.h"\
+ {$(INCLUDE)}"d3dx8.h"\
+ {$(INCLUDE)}"d3dx8core.h"\
+ {$(INCLUDE)}"d3dx8effect.h"\
+ {$(INCLUDE)}"d3dx8math.h"\
+ {$(INCLUDE)}"d3dx8math.inl"\
+ {$(INCLUDE)}"d3dx8mesh.h"\
+ {$(INCLUDE)}"d3dx8shape.h"\
+ {$(INCLUDE)}"d3dx8tex.h"\
+ {$(INCLUDE)}"dls1.h"\
+ {$(INCLUDE)}"dmdls.h"\
+ {$(INCLUDE)}"dmerror.h"\
+ {$(INCLUDE)}"dmplugin.h"\
+ {$(INCLUDE)}"dmusbuff.h"\
+ {$(INCLUDE)}"dmusicc.h"\
+ {$(INCLUDE)}"dmusici.h"\
+ {$(INCLUDE)}"dxfile.h"\
+
+
+.\SystemImpl.cpp : \
+ ".\AbstractSprite.h"\
+ ".\Console.h"\
+ ".\ConsoleImpl.h"\
+ ".\dxerr8sf.h"\
+ ".\Exception.h"\
+ ".\Input.h"\
+ ".\InputImpl.h"\
+ ".\main.h"\
+ ".\Obj.h"\
+ ".\sf.h"\
+ ".\sfdebug.h"\
+ ".\singleton.h"\
+ ".\Sound.h"\
+ ".\SoundImpl.h"\
+ ".\System.h"\
+ ".\SystemImpl.h"\
+ {$(INCLUDE)}"d3d8.h"\
+ {$(INCLUDE)}"d3d8caps.h"\
+ {$(INCLUDE)}"d3d8types.h"\
+ {$(INCLUDE)}"d3dx8.h"\
+ {$(INCLUDE)}"d3dx8core.h"\
+ {$(INCLUDE)}"d3dx8effect.h"\
+ {$(INCLUDE)}"d3dx8math.h"\
+ {$(INCLUDE)}"d3dx8math.inl"\
+ {$(INCLUDE)}"d3dx8mesh.h"\
+ {$(INCLUDE)}"d3dx8shape.h"\
+ {$(INCLUDE)}"d3dx8tex.h"\
+ {$(INCLUDE)}"dls1.h"\
+ {$(INCLUDE)}"dmdls.h"\
+ {$(INCLUDE)}"dmerror.h"\
+ {$(INCLUDE)}"dmplugin.h"\
+ {$(INCLUDE)}"dmusbuff.h"\
+ {$(INCLUDE)}"dmusicc.h"\
+ {$(INCLUDE)}"dmusici.h"\
+ {$(INCLUDE)}"dxerr8.h"\
+ {$(INCLUDE)}"dxfile.h"\
+
--- /dev/null
+# Microsoft Developer Studio Project File - Name="sfglib" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** \95Ò\8fW\82µ\82È\82¢\82Å\82\82¾\82³\82¢ **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=sfglib - Win32 Debug
+!MESSAGE \82±\82ê\82Í\97L\8cø\82ÈÒ²¸Ì§²Ù\82Å\82Í\82 \82è\82Ü\82¹\82ñ\81B \82±\82ÌÌßÛ¼Þª¸Ä\82ðËÞÙÄÞ\82·\82é\82½\82ß\82É\82Í NMAKE \82ð\8eg\97p\82µ\82Ä\82\82¾\82³\82¢\81B
+!MESSAGE [Ò²¸Ì§²Ù\82Ì´¸½Îß°Ä] ºÏÝÄÞ\82ð\8eg\97p\82µ\82Ä\8eÀ\8ds\82µ\82Ä\82\82¾\82³\82¢
+!MESSAGE
+!MESSAGE NMAKE /f "sfglib.mak".
+!MESSAGE
+!MESSAGE NMAKE \82Ì\8eÀ\8ds\8e\9e\82É\8d\\90¬\82ð\8ew\92è\82Å\82«\82Ü\82·
+!MESSAGE ºÏÝÄÞ ×²Ý\8fã\82ÅϸÛ\82Ì\90Ý\92è\82ð\92è\8b`\82µ\82Ü\82·\81B\97á:
+!MESSAGE
+!MESSAGE NMAKE /f "sfglib.mak" CFG="sfglib - Win32 Debug"
+!MESSAGE
+!MESSAGE \91I\91ð\89Â\94\\82ÈËÞÙÄÞ Ó°ÄÞ:
+!MESSAGE
+!MESSAGE "sfglib - Win32 Release" ("Win32 (x86) Dynamic-Link Library" \97p)
+!MESSAGE "sfglib - Win32 Debug" ("Win32 (x86) Dynamic-Link Library" \97p)
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "sfglib - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir ".\Release"
+# PROP Intermediate_Dir ".\Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SFGLIB_EXPORTS" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /MT /W3 /GR /GX /O2 /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SFGLIB_EXPORTS" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x411 /d "NDEBUG"
+# ADD RSC /l 0x411 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 winmm.lib ole32.lib dinput8.lib Dxerr8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# Begin Special Build Tool
+SOURCE="$(InputPath)"
+PostBuild_Cmds=copy .\release\sfglib.lib ..
+# End Special Build Tool
+
+!ELSEIF "$(CFG)" == "sfglib - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ".\Debug"
+# PROP Intermediate_Dir ".\Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SFGLIB_EXPORTS" /Yu"stdafx.h" /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /GR /GX /ZI /Od /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SFGLIB_EXPORTS" /YX /FD /GZ /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x411 /d "_DEBUG"
+# ADD RSC /l 0x411 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 winmm.lib ole32.lib dinput8.lib Dxerr8.lib d3dx8dt.lib d3d8.lib dxguid.lib d3dxof.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib uuid.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# SUBTRACT LINK32 /pdb:none
+# Begin Special Build Tool
+SOURCE="$(InputPath)"
+PostBuild_Cmds=copy .\debug\sfglib.lib ..
+# End Special Build Tool
+
+!ENDIF
+
+# Begin Target
+
+# Name "sfglib - Win32 Release"
+# Name "sfglib - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\AbstractSprite.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\BackGround.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ConsoleImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\InputImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Obj.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Obj2D.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Obj3D.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Obj3DL.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ObjQuadrangle.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ObjRectangle.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\sfglib.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\sfglib.rc
+# End Source File
+# Begin Source File
+
+SOURCE=.\SoundImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Sprite2D.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Sprite3D.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\SpriteMesh.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\StdAfx.cpp
+# ADD CPP /Yc"stdafx.h"
+# End Source File
+# Begin Source File
+
+SOURCE=.\SystemImpl.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\AbstractSprite.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\BackGround.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Console.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ConsoleImpl.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\dxerr8sf.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Exception.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Input.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\InputImpl.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Obj.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Obj2D.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Obj3D.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Obj3DL.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ObjQuadrangle.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ObjRectangle.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\sf.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\sfdebug.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\singleton.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Sound.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\SoundImpl.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Sprite2D.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Sprite3D.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\SpriteMesh.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\StdAfx.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\System.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\SystemImpl.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\SystemWin32.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=.\ReadMe.txt
+# End Source File
+# End Target
+# End Project
--- /dev/null
+# Microsoft Developer Studio Generated NMAKE File, Based on sfglib.dsp
+!IF "$(CFG)" == ""
+CFG=sfglib - Win32 Debug
+!MESSAGE \8d\\90¬\82ª\8ew\92è\82³\82ê\82Ä\82¢\82Ü\82¹\82ñ\81BÃÞÌ«ÙÄ\82Ì sfglib - Win32 Debug \82ð\90Ý\92è\82µ\82Ü\82·\81B
+!ENDIF
+
+!IF "$(CFG)" != "sfglib - Win32 Release" && "$(CFG)" != "sfglib - Win32 Debug"
+!MESSAGE \8ew\92è\82³\82ê\82½ ËÞÙÄÞ Ó°ÄÞ "$(CFG)" \82Í\90³\82µ\82\82 \82è\82Ü\82¹\82ñ\81B
+!MESSAGE NMAKE \82Ì\8eÀ\8ds\8e\9e\82É\8d\\90¬\82ð\8ew\92è\82Å\82«\82Ü\82·
+!MESSAGE ºÏÝÄÞ ×²Ý\8fã\82ÅϸÛ\82Ì\90Ý\92è\82ð\92è\8b`\82µ\82Ü\82·\81B\97á:
+!MESSAGE
+!MESSAGE NMAKE /f "sfglib.mak" CFG="sfglib - Win32 Debug"
+!MESSAGE
+!MESSAGE \91I\91ð\89Â\94\\82ÈËÞÙÄÞ Ó°ÄÞ:
+!MESSAGE
+!MESSAGE "sfglib - Win32 Release" ("Win32 (x86) Dynamic-Link Library" \97p)
+!MESSAGE "sfglib - Win32 Debug" ("Win32 (x86) Dynamic-Link Library" \97p)
+!MESSAGE
+!ERROR \96³\8cø\82È\8d\\90¬\82ª\8ew\92è\82³\82ê\82Ä\82¢\82Ü\82·\81B
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "sfglib - Win32 Release"
+
+OUTDIR=.\..\Release
+INTDIR=.\..\Release
+# Begin Custom Macros
+OutDir=.\..\Release
+# End Custom Macros
+
+ALL : "$(OUTDIR)\sfglib.dll" "$(OUTDIR)\sfglib.pch"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\AbstractSprite.obj"
+ -@erase "$(INTDIR)\BackGround.obj"
+ -@erase "$(INTDIR)\ConsoleImpl.obj"
+ -@erase "$(INTDIR)\Exception.obj"
+ -@erase "$(INTDIR)\InputImpl.obj"
+ -@erase "$(INTDIR)\Obj.obj"
+ -@erase "$(INTDIR)\Obj2D.obj"
+ -@erase "$(INTDIR)\Obj3D.obj"
+ -@erase "$(INTDIR)\Obj3DL.obj"
+ -@erase "$(INTDIR)\ObjQuadrangle.obj"
+ -@erase "$(INTDIR)\ObjRectangle.obj"
+ -@erase "$(INTDIR)\sfglib.obj"
+ -@erase "$(INTDIR)\sfglib.pch"
+ -@erase "$(INTDIR)\sflib.res"
+ -@erase "$(INTDIR)\SoundImpl.obj"
+ -@erase "$(INTDIR)\Sprite2D.obj"
+ -@erase "$(INTDIR)\Sprite3D.obj"
+ -@erase "$(INTDIR)\SpriteMesh.obj"
+ -@erase "$(INTDIR)\StdAfx.obj"
+ -@erase "$(INTDIR)\System.obj"
+ -@erase "$(INTDIR)\SystemImpl.obj"
+ -@erase "$(INTDIR)\vc60.idb"
+ -@erase "$(OUTDIR)\sfglib.dll"
+ -@erase "$(OUTDIR)\sfglib.exp"
+ -@erase "$(OUTDIR)\sfglib.lib"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MT /W3 /GR /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SFGLIB_EXPORTS" /Fp"$(INTDIR)\sfglib.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x411 /fo"$(INTDIR)\sflib.res" /d "NDEBUG"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\sfglib.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=winmm.lib ole32.lib dinput8.lib Dxerr8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:no /pdb:"$(OUTDIR)\sfglib.pdb" /machine:I386 /out:"$(OUTDIR)\sfglib.dll" /implib:"$(OUTDIR)\sfglib.lib"
+LINK32_OBJS= \
+ "$(INTDIR)\AbstractSprite.obj" \
+ "$(INTDIR)\BackGround.obj" \
+ "$(INTDIR)\ConsoleImpl.obj" \
+ "$(INTDIR)\Exception.obj" \
+ "$(INTDIR)\InputImpl.obj" \
+ "$(INTDIR)\Obj.obj" \
+ "$(INTDIR)\Obj2D.obj" \
+ "$(INTDIR)\Obj3D.obj" \
+ "$(INTDIR)\Obj3DL.obj" \
+ "$(INTDIR)\ObjQuadrangle.obj" \
+ "$(INTDIR)\ObjRectangle.obj" \
+ "$(INTDIR)\sfglib.obj" \
+ "$(INTDIR)\SoundImpl.obj" \
+ "$(INTDIR)\Sprite2D.obj" \
+ "$(INTDIR)\Sprite3D.obj" \
+ "$(INTDIR)\SpriteMesh.obj" \
+ "$(INTDIR)\StdAfx.obj" \
+ "$(INTDIR)\System.obj" \
+ "$(INTDIR)\SystemImpl.obj" \
+ "$(INTDIR)\sflib.res"
+
+"$(OUTDIR)\sfglib.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+SOURCE="$(InputPath)"
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+ALL : $(DS_POSTBUILD_DEP)
+
+# Begin Custom Macros
+OutDir=.\..\Release
+# End Custom Macros
+
+$(DS_POSTBUILD_DEP) : "$(OUTDIR)\sfglib.dll" "$(OUTDIR)\sfglib.pch"
+ copy ..\release\sfglib.lib ..
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF "$(CFG)" == "sfglib - Win32 Debug"
+
+OUTDIR=.\..\Debug
+INTDIR=.\..\Debug
+# Begin Custom Macros
+OutDir=.\..\Debug
+# End Custom Macros
+
+ALL : "$(OUTDIR)\sfglib.dll" "$(OUTDIR)\sfglib.pch"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\AbstractSprite.obj"
+ -@erase "$(INTDIR)\BackGround.obj"
+ -@erase "$(INTDIR)\ConsoleImpl.obj"
+ -@erase "$(INTDIR)\Exception.obj"
+ -@erase "$(INTDIR)\InputImpl.obj"
+ -@erase "$(INTDIR)\Obj.obj"
+ -@erase "$(INTDIR)\Obj2D.obj"
+ -@erase "$(INTDIR)\Obj3D.obj"
+ -@erase "$(INTDIR)\Obj3DL.obj"
+ -@erase "$(INTDIR)\ObjQuadrangle.obj"
+ -@erase "$(INTDIR)\ObjRectangle.obj"
+ -@erase "$(INTDIR)\sfglib.obj"
+ -@erase "$(INTDIR)\sfglib.pch"
+ -@erase "$(INTDIR)\sflib.res"
+ -@erase "$(INTDIR)\SoundImpl.obj"
+ -@erase "$(INTDIR)\Sprite2D.obj"
+ -@erase "$(INTDIR)\Sprite3D.obj"
+ -@erase "$(INTDIR)\SpriteMesh.obj"
+ -@erase "$(INTDIR)\StdAfx.obj"
+ -@erase "$(INTDIR)\System.obj"
+ -@erase "$(INTDIR)\SystemImpl.obj"
+ -@erase "$(INTDIR)\vc60.idb"
+ -@erase "$(INTDIR)\vc60.pdb"
+ -@erase "$(OUTDIR)\sfglib.dll"
+ -@erase "$(OUTDIR)\sfglib.exp"
+ -@erase "$(OUTDIR)\sfglib.ilk"
+ -@erase "$(OUTDIR)\sfglib.lib"
+ -@erase "$(OUTDIR)\sfglib.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MTd /W3 /Gm /GR /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SFGLIB_EXPORTS" /Fp"$(INTDIR)\sfglib.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
+RSC=rc.exe
+RSC_PROJ=/l 0x411 /fo"$(INTDIR)\sflib.res" /d "_DEBUG"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\sfglib.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=winmm.lib ole32.lib dinput8.lib Dxerr8.lib d3dx8dt.lib d3d8.lib dxguid.lib d3dxof.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"$(OUTDIR)\sfglib.pdb" /debug /machine:I386 /out:"$(OUTDIR)\sfglib.dll" /implib:"$(OUTDIR)\sfglib.lib" /pdbtype:sept
+LINK32_OBJS= \
+ "$(INTDIR)\AbstractSprite.obj" \
+ "$(INTDIR)\BackGround.obj" \
+ "$(INTDIR)\ConsoleImpl.obj" \
+ "$(INTDIR)\Exception.obj" \
+ "$(INTDIR)\InputImpl.obj" \
+ "$(INTDIR)\Obj.obj" \
+ "$(INTDIR)\Obj2D.obj" \
+ "$(INTDIR)\Obj3D.obj" \
+ "$(INTDIR)\Obj3DL.obj" \
+ "$(INTDIR)\ObjQuadrangle.obj" \
+ "$(INTDIR)\ObjRectangle.obj" \
+ "$(INTDIR)\sfglib.obj" \
+ "$(INTDIR)\SoundImpl.obj" \
+ "$(INTDIR)\Sprite2D.obj" \
+ "$(INTDIR)\Sprite3D.obj" \
+ "$(INTDIR)\SpriteMesh.obj" \
+ "$(INTDIR)\StdAfx.obj" \
+ "$(INTDIR)\System.obj" \
+ "$(INTDIR)\SystemImpl.obj" \
+ "$(INTDIR)\sflib.res"
+
+"$(OUTDIR)\sfglib.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+SOURCE="$(InputPath)"
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+ALL : $(DS_POSTBUILD_DEP)
+
+# Begin Custom Macros
+OutDir=.\..\Debug
+# End Custom Macros
+
+$(DS_POSTBUILD_DEP) : "$(OUTDIR)\sfglib.dll" "$(OUTDIR)\sfglib.pch"
+ copy ..\debug\sfglib.lib ..
+ echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("sfglib.dep")
+!INCLUDE "sfglib.dep"
+!ELSE
+!MESSAGE Warning: cannot find "sfglib.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "sfglib - Win32 Release" || "$(CFG)" == "sfglib - Win32 Debug"
+SOURCE=.\AbstractSprite.cpp
+
+"$(INTDIR)\AbstractSprite.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\BackGround.cpp
+
+"$(INTDIR)\BackGround.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ConsoleImpl.cpp
+
+"$(INTDIR)\ConsoleImpl.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\Exception.cpp
+
+"$(INTDIR)\Exception.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\InputImpl.cpp
+
+"$(INTDIR)\InputImpl.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\Obj.cpp
+
+"$(INTDIR)\Obj.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\Obj2D.cpp
+
+"$(INTDIR)\Obj2D.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\Obj3D.cpp
+
+"$(INTDIR)\Obj3D.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\Obj3DL.cpp
+
+"$(INTDIR)\Obj3DL.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ObjQuadrangle.cpp
+
+"$(INTDIR)\ObjQuadrangle.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\ObjRectangle.cpp
+
+"$(INTDIR)\ObjRectangle.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\sfglib.cpp
+
+"$(INTDIR)\sfglib.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\sflib.rc
+
+"$(INTDIR)\sflib.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) $(RSC_PROJ) $(SOURCE)
+
+
+SOURCE=.\SoundImpl.cpp
+
+"$(INTDIR)\SoundImpl.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\Sprite2D.cpp
+
+"$(INTDIR)\Sprite2D.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\Sprite3D.cpp
+
+"$(INTDIR)\Sprite3D.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\SpriteMesh.cpp
+
+"$(INTDIR)\SpriteMesh.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\StdAfx.cpp
+
+!IF "$(CFG)" == "sfglib - Win32 Release"
+
+CPP_SWITCHES=/nologo /MT /W3 /GR /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SFGLIB_EXPORTS" /Fp"$(INTDIR)\sfglib.pch" /Yc"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
+
+"$(INTDIR)\StdAfx.obj" "$(INTDIR)\sfglib.pch" : $(SOURCE) "$(INTDIR)"
+ $(CPP) @<<
+ $(CPP_SWITCHES) $(SOURCE)
+<<
+
+
+!ELSEIF "$(CFG)" == "sfglib - Win32 Debug"
+
+CPP_SWITCHES=/nologo /MTd /W3 /Gm /GR /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SFGLIB_EXPORTS" /Fp"$(INTDIR)\sfglib.pch" /Yc"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
+
+"$(INTDIR)\StdAfx.obj" "$(INTDIR)\sfglib.pch" : $(SOURCE) "$(INTDIR)"
+ $(CPP) @<<
+ $(CPP_SWITCHES) $(SOURCE)
+<<
+
+
+!ENDIF
+
+SOURCE=.\System.cpp
+
+"$(INTDIR)\System.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=.\SystemImpl.cpp
+
+"$(INTDIR)\SystemImpl.obj" : $(SOURCE) "$(INTDIR)"
+
+
+
+!ENDIF
+
--- /dev/null
+<html>
+<body>
+<pre>
+<h1>ËÞÙÄÞ\82ÌÛ¸Þ</h1>
+<h3>
+--------------------\8d\\90¬: sfglib - Win32 Debug--------------------
+</h3>
+<h3>ºÏÝÄÞ ×²Ý</h3>
+\88ê\8e\9ȩ²Ù "C:\DOCUME~1\fujiwara\LOCALS~1\Temp\RSP5A.tmp" \82ð\8dì\90¬\82µ\81A\8e\9f\82Ì\93à\97e\82ð\8bL\98^\82µ\82Ü\82·
+[
+/nologo /MTd /W3 /Gm /GR /GX /ZI /Od /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SFGLIB_EXPORTS" /Fp".\Debug/sfglib.pch" /YX /Fo".\Debug/" /Fd".\Debug/" /FD /GZ /c
+"C:\My Documents\genx\project\sfglib\InputImpl.cpp"
+]
+Creating command line "cl.exe @C:\DOCUME~1\fujiwara\LOCALS~1\Temp\RSP5A.tmp"
+<h3>±³ÄÌß¯Ä ³¨ÝÄÞ³</h3>
+ºÝÊß²Ù\92\86...
+InputImpl.cpp
+c:\dxsdk\include\dinput.h: DIRECTINPUT_VERSION undefined. Defaulting to version 0x0800
+
+
+
+<h3>\8c\8b\89Ê</h3>
+InputImpl.obj - ´×° 0\81A\8cx\8d\90 0
+</pre>
+</body>
+</html>
--- /dev/null
+//Microsoft Developer Studio generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "afxres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// \93ú\96{\8cê resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)
+#ifdef _WIN32
+LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
+#pragma code_page(932)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+#ifndef _MAC
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,1
+ PRODUCTVERSION 1,0,0,1
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x40004L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "041104b0"
+ BEGIN
+ VALUE "Comments", "\0"
+ VALUE "CompanyName", " \0"
+ VALUE "FileDescription", "genx\0"
+ VALUE "FileVersion", "1, 0, 0, 1\0"
+ VALUE "InternalName", "genx\0"
+ VALUE "LegalCopyright", "Copyright (C) 1998\0"
+ VALUE "LegalTrademarks", "\0"
+ VALUE "OriginalFilename", "genx.exe\0"
+ VALUE "PrivateBuild", "\0"
+ VALUE "ProductName", " genx\0"
+ VALUE "ProductVersion", "1, 0, 0, 1\0"
+ VALUE "SpecialBuild", "\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x411, 1200
+ END
+END
+
+#endif // !_MAC
+
+#endif // \93ú\96{\8cê resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
--- /dev/null
+<?xml version="1.0" encoding="shift_jis"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="sfglib"
+ ProjectGUID="{6BAF91BD-0810-4884-A06E-4373F0AFC95D}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\Debug"
+ IntermediateDirectory=".\Debug"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="_DEBUG"
+ MkTypLibCompatible="true"
+ SuppressStartupBanner="true"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Debug/sfglib.tlb"
+ HeaderFileName=""
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=".."
+ PreprocessorDefinitions="_UNICODE;WIN32;_DEBUG;_WINDOWS;_USRDLL;SFGLIB_EXPORTS"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile=".\Debug/sfglib.pch"
+ AssemblerListingLocation=".\Debug/"
+ ObjectFile=".\Debug/"
+ ProgramDataBaseFileName=".\Debug/"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="4"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1041"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="winmm.lib dinput9.lib Dxerr9.lib d3dx9dt.lib d3d9.lib dxguid.lib d3dxof.lib Xact3.lib"
+ OutputFile=".\Debug/sfglib.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\Debug/sfglib.pdb"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ ImportLibrary=".\Debug/sfglib.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="copy .\debug\sfglib.lib .."
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\Release"
+ IntermediateDirectory=".\Release"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="NDEBUG"
+ MkTypLibCompatible="true"
+ SuppressStartupBanner="true"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Release/sfglib.tlb"
+ HeaderFileName=""
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories=".."
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SFGLIB_EXPORTS"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ RuntimeTypeInfo="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile=".\Release/sfglib.pch"
+ AssemblerListingLocation=".\Release/"
+ ObjectFile=".\Release/"
+ ProgramDataBaseFileName=".\Release/"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1041"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="winmm.lib dinput8.lib Dxerr8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib odbc32.lib odbccp32.lib"
+ OutputFile=".\Release/sfglib.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ ProgramDatabaseFile=".\Release/sfglib.pdb"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ ImportLibrary=".\Release/sfglib.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="copy .\release\sfglib.lib .."
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="AbstractSprite.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="BackGround.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="ConsoleImpl.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="InputImpl.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Obj.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Obj2D.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Obj3D.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Obj3DL.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="ObjQuadrangle.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="ObjRectangle.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="sfglib.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="sfglib.rc"
+ >
+ </File>
+ <File
+ RelativePath="SoundImpl.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Sprite2D.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Sprite3D.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="SpriteMesh.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="StdAfx.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ UsePrecompiledHeader="1"
+ PrecompiledHeaderThrough="stdafx.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ UsePrecompiledHeader="1"
+ PrecompiledHeaderThrough="stdafx.h"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="SystemImpl.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="AbstractSprite.h"
+ >
+ </File>
+ <File
+ RelativePath="BackGround.h"
+ >
+ </File>
+ <File
+ RelativePath="Console.h"
+ >
+ </File>
+ <File
+ RelativePath="ConsoleImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="dxerr8sf.h"
+ >
+ </File>
+ <File
+ RelativePath="Exception.h"
+ >
+ </File>
+ <File
+ RelativePath="Input.h"
+ >
+ </File>
+ <File
+ RelativePath="InputImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="Obj.h"
+ >
+ </File>
+ <File
+ RelativePath="Obj2D.h"
+ >
+ </File>
+ <File
+ RelativePath="Obj3D.h"
+ >
+ </File>
+ <File
+ RelativePath="Obj3DL.h"
+ >
+ </File>
+ <File
+ RelativePath="ObjQuadrangle.h"
+ >
+ </File>
+ <File
+ RelativePath="ObjRectangle.h"
+ >
+ </File>
+ <File
+ RelativePath="sf.h"
+ >
+ </File>
+ <File
+ RelativePath="sfdebug.h"
+ >
+ </File>
+ <File
+ RelativePath="singleton.h"
+ >
+ </File>
+ <File
+ RelativePath="Sound.h"
+ >
+ </File>
+ <File
+ RelativePath="SoundImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="Sprite2D.h"
+ >
+ </File>
+ <File
+ RelativePath="Sprite3D.h"
+ >
+ </File>
+ <File
+ RelativePath="SpriteMesh.h"
+ >
+ </File>
+ <File
+ RelativePath="StdAfx.h"
+ >
+ </File>
+ <File
+ RelativePath="System.h"
+ >
+ </File>
+ <File
+ RelativePath="SystemImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="SystemWin32.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+ >
+ </Filter>
+ <File
+ RelativePath="ReadMe.txt"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
--- /dev/null
+<?xml version="1.0" encoding="shift_jis"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="sfglib"
+ SccProjectName=""
+ SccLocalPath="">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\Debug"
+ IntermediateDirectory=".\Debug"
+ ConfigurationType="2"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=".."
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SFGLIB_EXPORTS"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ RuntimeTypeInfo="TRUE"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile=".\Debug/sfglib.pch"
+ AssemblerListingLocation=".\Debug/"
+ ObjectFile=".\Debug/"
+ ProgramDataBaseFileName=".\Debug/"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ DebugInformationFormat="4"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="winmm.lib dinput8.lib Dxerr8.lib d3dx8dt.lib d3d8.lib dxguid.lib d3dxof.lib"
+ OutputFile=".\Debug/sfglib.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="TRUE"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile=".\Debug/sfglib.pdb"
+ ImportLibrary=".\Debug/sfglib.lib"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="_DEBUG"
+ MkTypLibCompatible="TRUE"
+ SuppressStartupBanner="TRUE"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Debug/sfglib.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="copy .\debug\sfglib.lib .."/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1041"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\Release"
+ IntermediateDirectory=".\Release"
+ ConfigurationType="2"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories=".."
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SFGLIB_EXPORTS"
+ StringPooling="TRUE"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="TRUE"
+ RuntimeTypeInfo="TRUE"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile=".\Release/sfglib.pch"
+ AssemblerListingLocation=".\Release/"
+ ObjectFile=".\Release/"
+ ProgramDataBaseFileName=".\Release/"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="winmm.lib dinput8.lib Dxerr8.lib d3dx8.lib d3d8.lib dxguid.lib d3dxof.lib odbc32.lib odbccp32.lib"
+ OutputFile=".\Release/sfglib.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="TRUE"
+ ProgramDatabaseFile=".\Release/sfglib.pdb"
+ ImportLibrary=".\Release/sfglib.lib"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="NDEBUG"
+ MkTypLibCompatible="TRUE"
+ SuppressStartupBanner="TRUE"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Release/sfglib.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="copy .\release\sfglib.lib .."/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1041"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
+ <File
+ RelativePath="AbstractSprite.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="BackGround.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="ConsoleImpl.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="InputImpl.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Obj.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Obj2D.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Obj3D.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Obj3DL.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="ObjQuadrangle.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="ObjRectangle.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="sfglib.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="sfglib.rc">
+ </File>
+ <File
+ RelativePath="SoundImpl.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Sprite2D.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="Sprite3D.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="SpriteMesh.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="StdAfx.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ UsePrecompiledHeader="1"
+ PrecompiledHeaderThrough="stdafx.h"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ UsePrecompiledHeader="1"
+ PrecompiledHeaderThrough="stdafx.h"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="SystemImpl.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl">
+ <File
+ RelativePath="AbstractSprite.h">
+ </File>
+ <File
+ RelativePath="BackGround.h">
+ </File>
+ <File
+ RelativePath="Console.h">
+ </File>
+ <File
+ RelativePath="ConsoleImpl.h">
+ </File>
+ <File
+ RelativePath="dxerr8sf.h">
+ </File>
+ <File
+ RelativePath="Exception.h">
+ </File>
+ <File
+ RelativePath="Input.h">
+ </File>
+ <File
+ RelativePath="InputImpl.h">
+ </File>
+ <File
+ RelativePath="Obj.h">
+ </File>
+ <File
+ RelativePath="Obj2D.h">
+ </File>
+ <File
+ RelativePath="Obj3D.h">
+ </File>
+ <File
+ RelativePath="Obj3DL.h">
+ </File>
+ <File
+ RelativePath="ObjQuadrangle.h">
+ </File>
+ <File
+ RelativePath="ObjRectangle.h">
+ </File>
+ <File
+ RelativePath="sf.h">
+ </File>
+ <File
+ RelativePath="sfdebug.h">
+ </File>
+ <File
+ RelativePath="singleton.h">
+ </File>
+ <File
+ RelativePath="Sound.h">
+ </File>
+ <File
+ RelativePath="SoundImpl.h">
+ </File>
+ <File
+ RelativePath="Sprite2D.h">
+ </File>
+ <File
+ RelativePath="Sprite3D.h">
+ </File>
+ <File
+ RelativePath="SpriteMesh.h">
+ </File>
+ <File
+ RelativePath="StdAfx.h">
+ </File>
+ <File
+ RelativePath="System.h">
+ </File>
+ <File
+ RelativePath="SystemImpl.h">
+ </File>
+ <File
+ RelativePath="SystemWin32.h">
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
+ </Filter>
+ <File
+ RelativePath="ReadMe.txt">
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
--- /dev/null
+<?xml version="1.0" encoding="shift_jis"?>
+<VisualStudioUserFile
+ ProjectType="Visual C++"
+ Version="9.00"
+ ShowAllFiles="false"
+ >
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ >
+ <DebugSettings
+ Command=""
+ WorkingDirectory=""
+ CommandArguments=""
+ Attach="false"
+ DebuggerType="3"
+ Remote="1"
+ RemoteMachine="SATOSHI-PC"
+ RemoteCommand=""
+ HttpUrl=""
+ PDBPath=""
+ SQLDebugging=""
+ Environment=""
+ EnvironmentMerge="true"
+ DebuggerFlavor=""
+ MPIRunCommand=""
+ MPIRunArguments=""
+ MPIRunWorkingDirectory=""
+ ApplicationCommand=""
+ ApplicationArguments=""
+ ShimCommand=""
+ MPIAcceptMode=""
+ MPIAcceptFilter=""
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ >
+ <DebugSettings
+ Command=""
+ WorkingDirectory=""
+ CommandArguments=""
+ Attach="false"
+ DebuggerType="3"
+ Remote="1"
+ RemoteMachine="SATOSHI-PC"
+ RemoteCommand=""
+ HttpUrl=""
+ PDBPath=""
+ SQLDebugging=""
+ Environment=""
+ EnvironmentMerge="true"
+ DebuggerFlavor=""
+ MPIRunCommand=""
+ MPIRunArguments=""
+ MPIRunWorkingDirectory=""
+ ApplicationCommand=""
+ ApplicationArguments=""
+ ShimCommand=""
+ MPIAcceptMode=""
+ MPIAcceptFilter=""
+ />
+ </Configuration>
+ </Configurations>
+</VisualStudioUserFile>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{6BAF91BD-0810-4884-A06E-4373F0AFC95D}</ProjectGuid>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Midl>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MkTypLibCompatible>true</MkTypLibCompatible>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TargetEnvironment>Win32</TargetEnvironment>
+ <TypeLibraryName>.\Debug/sfglib.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_UNICODE;WIN32;_DEBUG;_WINDOWS;_USRDLL;SFGLIB_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>.\Debug/sfglib.pch</PrecompiledHeaderOutputFile>
+ <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
+ <ObjectFileName>.\Debug/</ObjectFileName>
+ <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
+ <WarningLevel>Level3</WarningLevel>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ <CompileAs>Default</CompileAs>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0411</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalDependencies>winmm.lib;dinput9.lib;Dxerr9.lib;d3dx9dt.lib;d3d9.lib;dxguid.lib;d3dxof.lib;Xact3.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>.\Debug/sfglib.dll</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>.\Debug/sfglib.pdb</ProgramDatabaseFile>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <ImportLibrary>.\Debug/sfglib.lib</ImportLibrary>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ <PostBuildEvent>
+ <Command>copy .\debug\sfglib.lib ..</Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Midl>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MkTypLibCompatible>true</MkTypLibCompatible>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TargetEnvironment>Win32</TargetEnvironment>
+ <TypeLibraryName>.\Release/sfglib.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+ <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;SFGLIB_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>.\Release/sfglib.pch</PrecompiledHeaderOutputFile>
+ <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
+ <ObjectFileName>.\Release/</ObjectFileName>
+ <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
+ <WarningLevel>Level3</WarningLevel>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <CompileAs>Default</CompileAs>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0411</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalDependencies>winmm.lib;dinput8.lib;Dxerr8.lib;d3dx8.lib;d3d8.lib;dxguid.lib;d3dxof.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>.\Release/sfglib.dll</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <ProgramDatabaseFile>.\Release/sfglib.pdb</ProgramDatabaseFile>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <ImportLibrary>.\Release/sfglib.lib</ImportLibrary>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ <PostBuildEvent>
+ <Command>copy .\release\sfglib.lib ..</Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="AbstractSprite.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="BackGround.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="ConsoleImpl.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="InputImpl.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="Obj.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="Obj2D.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="Obj3D.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="Obj3DL.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="ObjQuadrangle.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="ObjRectangle.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="sfglib.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="SoundImpl.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="Sprite2D.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="Sprite3D.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="SpriteMesh.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="StdAfx.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">stdafx.h</PrecompiledHeaderFile>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">stdafx.h</PrecompiledHeaderFile>
+ </ClCompile>
+ <ClCompile Include="SystemImpl.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SFGLIB_EXPORTS</PreprocessorDefinitions>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ResourceCompile Include="sfglib.rc" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="AbstractSprite.h" />
+ <ClInclude Include="BackGround.h" />
+ <ClInclude Include="Console.h" />
+ <ClInclude Include="ConsoleImpl.h" />
+ <ClInclude Include="dxerr8sf.h" />
+ <ClInclude Include="Exception.h" />
+ <ClInclude Include="Input.h" />
+ <ClInclude Include="InputImpl.h" />
+ <ClInclude Include="Obj.h" />
+ <ClInclude Include="Obj2D.h" />
+ <ClInclude Include="Obj3D.h" />
+ <ClInclude Include="Obj3DL.h" />
+ <ClInclude Include="ObjQuadrangle.h" />
+ <ClInclude Include="ObjRectangle.h" />
+ <ClInclude Include="sf.h" />
+ <ClInclude Include="sfdebug.h" />
+ <ClInclude Include="singleton.h" />
+ <ClInclude Include="Sound.h" />
+ <ClInclude Include="SoundImpl.h" />
+ <ClInclude Include="Sprite2D.h" />
+ <ClInclude Include="Sprite3D.h" />
+ <ClInclude Include="SpriteMesh.h" />
+ <ClInclude Include="StdAfx.h" />
+ <ClInclude Include="System.h" />
+ <ClInclude Include="SystemImpl.h" />
+ <ClInclude Include="SystemWin32.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="ReadMe.txt" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{5df606fc-359f-4e16-9abd-ee4b5c44b0ff}</UniqueIdentifier>
+ <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{c0f7178e-fe13-4115-bdbc-192ab0857d4c}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{88ada58c-8728-4095-9d66-f6e94d0fcebf}</UniqueIdentifier>
+ <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="AbstractSprite.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="BackGround.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="ConsoleImpl.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="InputImpl.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Obj.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Obj2D.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Obj3D.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Obj3DL.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="ObjQuadrangle.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="ObjRectangle.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="sfglib.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="SoundImpl.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Sprite2D.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Sprite3D.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="SpriteMesh.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="StdAfx.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="SystemImpl.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ResourceCompile Include="sfglib.rc">
+ <Filter>Source Files</Filter>
+ </ResourceCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="AbstractSprite.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="BackGround.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Console.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="ConsoleImpl.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="dxerr8sf.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Exception.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Input.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="InputImpl.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Obj.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Obj2D.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Obj3D.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Obj3DL.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="ObjQuadrangle.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="ObjRectangle.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="sf.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="sfdebug.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="singleton.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Sound.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="SoundImpl.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Sprite2D.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Sprite3D.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="SpriteMesh.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="StdAfx.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="System.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="SystemImpl.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="SystemWin32.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="ReadMe.txt" />
+ </ItemGroup>
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
--- /dev/null
+/**
+ * @file
+ * @brief Singleton\83p\83^\81[\83\93\82Ì\8eÀ\91\95\82ð\82Í\82µ\82å\82é\82½\82ß\82Ì\83}\83N\83\8d\92è\8b`\83t\83@\83C\83\8b
+ *
+ * STL\82Ìauto_ptr \82ð\8eg\97p\82µ\82Ä\82¢\82Ü\82·\81B\81@
+ * @author S.F.
+ * @version $Id:
+ *
+ * Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved.
+ */
+
+/// \93ñ\8fd\83C\83\93\83N\83\8b\81[\83h\96h\8e~\83}\83N\83\8d
+#ifndef _SINGLETON
+#define _SINGLETON
+#include <memory>
+
+/** \83V\83\93\83O\83\8b\83g\83\93\92è\8b`\83}\83N\83\8d
+ * @param X \92è\8b`\82·\82é\83N\83\89\83X\96¼ */
+#define DECLARE_SINGLETON(X) \
+ public: \
+ static X* const instance(void); \
+ private: \
+ typedef std::auto_ptr<X> _Instance; \
+ friend _Instance; \
+ static _Instance msInstance;
+#ifdef _BORLAND
+
+/** \83V\83\93\83O\83\8b\83g\83\93\8eÀ\91\95\83}\83N\83\8d
+ * @param X \92è\8b`\82·\82é\83N\83\89\83X\96¼\81i\92Ê\8fí\82Í\8eÀ\91\95\83N\83\89\83X)
+ * @param Y \83C\83\93\83X\83^\83\93\83X\82ð\90¶\90¬\82·\82é\83N\83\89\83X\96¼(\92Ê\8fí\82ÍX\82Æ\93¯\82¶\81j*/
+#define IMPLEMENT_SINGLETON(X,Y) \
+ X::_Instance X::msInstance; \
+ X* const X::instance(void) \
+ { \
+ if(!msInstance.get()){ \
+ _Instance temp(new Y); \
+ msInstance = temp; \
+ } \
+ return msInstance.get(); \
+ }
+#else
+
+/** \83V\83\93\83O\83\8b\83g\83\93\8eÀ\91\95\83}\83N\83\8d
+ * @param X \92è\8b`\82·\82é\83N\83\89\83X\96¼\81i\92Ê\8fí\82Í\8eÀ\91\95\83N\83\89\83X)
+ @param Y \83C\83\93\83X\83^\83\93\83X\82ð\90¶\90¬\82·\82é\83N\83\89\83X\96¼(\92Ê\8fí\82ÍX\82Æ\93¯\82¶\81j*/
+#define IMPLEMENT_SINGLETON(X,Y) \
+ X::_Instance X::msInstance; \
+ X* const X::instance(void) \
+ { \
+ if(!msInstance.get()){ \
+ msInstance = _Instance(new Y); \
+ } \
+ return msInstance.get(); \
+ }
+
+#endif
+#endif
\ No newline at end of file
--- /dev/null
+<!--//@STATE=\8a®\90¬
+//@DESCRIPTION
+//\83\\81[\83X\83t\83@\83C\83\8b\82Ì\83\8a\83X\83g\82ð\90¶\90¬\82·\82é\83X\83N\83\8a\83v\83g\82Å\82·\81B
+//@DESCRIPTION_END
+//@AUTHOR=S.F.
+-->
+<job ID="SourceFileList">
+<script language="JScript">
+// var gsFolder = "/source/game";
+// var gsFolder = "/images";
+ var gsFolder = "c:\\inetpub\\wwwroot\\source\\game";
+ var gsFolderURL = "/source/game";
+ var gsExePath = "c:\\inetpub\\wwwroot\\s2001.lzh";
+ var gsUmlPath = "c:\\inetpub\\wwwroot\\images\\uml2001.gif";
+
+ var gsTitle = "\83Q\81[\83\80\83\89\83C\83u\83\89\83\8a\83\\81[\83X";
+ var grFileType = /(.*\.bmp)|(.*\.cpp)|(.*\.h)|(.*.wsf)|(MAKEFILE)|(.*\.rc)|(.*\.ico)/i;
+ var gsListFilePath = "c:\\inetpub\\wwwroot\\sfglib.html";
+ var gsCaution = "\8fí\82É\8dì\90¬\92\86\82Ì\82½\82ß\81A\83\\81[\83X\82¨\82æ\82Ñ\83o\83C\83i\83\8a\82É\82Í\95s\8bï\8d\87\82ª\82 \82é\89Â\94\\90«\82ª\82 \82è\82Ü\82·\81B<br/>\81\83\96Æ\90Ó\8e\96\8d\80\81\84<br/>"
+ + "\81E\82±\82ÌHP\82Ì\82·\82×\82Ä\82Ì\83\\81[\83X\82¨\82æ\82Ñ\83o\83C\83i\83\8a\82ð\8eg\97p\82µ\82Ä\8bN\82±\82è\82¤\82é\82 \82ç\82ä\82é\8c»\8fÛ\82É\8aÖ\82µ\82Ä\93¡\8c´\8cå\82Í\90Ó\94C\82ð\82Æ\82è\82Ü\82¹\82ñ\81B<BR/>"
+ + "\81E\82±\82Ì\83z\81[\83\80\83y\81[\83W\82Ì\8dì\8eÒ\82Í\81A\83z\81[\83\80\83y\81[\83W\8fã\82Ì\82·\82×\82Ä\82Ì\83R\83\93\83e\83\93\83c\82ð\97\98\97p\81A\8eg\97p\82µ\82Ä\8bN\82±\82Á\82½\82¢\82©\82È\82é\91¹\8aQ\82ð\94\85\8f\9e\82·\82é\90Ó\94C\82ð\95\89\82¢\82Ü\82¹\82ñ\81B<BR/>"
+ + "\8fã\8bL\82ð\82²\97¹\8f³\82Å\82«\82é\82©\82½\82Ì\82Ý\81A\83_\83E\83\93\83\8d\81[\83h\82µ\82Ä\82\82¾\82³\82¢<br/>";
+ var gsExt = { "ico" : "\83A\83C\83R\83\93\83t\83@\83C\83\8b" ,
+ "bmp" : "\83r\83b\83g\83}\83b\83v\83t\83@\83C\83\8b" ,
+ "rc" : "\83\8a\83\\81[\83X\83t\83@\83C\83\8b"
+ };
+function WriteHead(oText,sTitle,sTagOption)
+{
+ oText.WriteLine("<HTML>");
+ oText.WriteLine("<HEAD>");
+ oText.WriteLine("<META content=\"text/html;CHARSET=x-sjis\" http-equiv=\"Content-Type\" />");
+ oText.WriteLine("<META content=\"\83v\83\8d\83O\83\89\83~\83\93\83O\82Ì\83y\81[\83W\82Å\82·\81B\" name=\"description\" />");
+ oText.WriteLine("<TITLE>" + sTitle + "</TITLE>");
+ oText.WriteLine("<LINK HREF=\"styles.css\" REL=\"stylesheet\" TYPE=\"text/css\" />");
+ if(sTagOption.length > 0)
+ oText.WriteLine(sTagOption);
+ oText.WriteLine("<STYLE>");
+ oText.WriteLine(" TD {border:1px solid black;font-size:8pt;}");
+ oText.WriteLine(" TH {border:1px solid black;font-size:8pt;}");
+ oText.WriteLine("</STYLE>");
+ oText.WriteLine("</HEAD>");
+}
+
+
+function WriteBody(oText,sTitle,sCaution)
+{
+ var ofso = new ActiveXObject("Scripting.FileSystemObject");
+
+ var oFile = ofso.GetFile(gsExePath);
+ var dtFile = new Date(oFile.DateLastModified);
+ var sExeDate = dtFile.getFullYear() + "/" + (dtFile.getMonth() + 1) + "/" + dtFile.getDate() ;
+
+ oFile = ofso.GetFile(gsUmlPath);
+ dtFile = new Date(oFile.DateLastModified);
+ var sUmlDate = dtFile.getFullYear() + "/" + (dtFile.getMonth() + 1) + "/" + dtFile.getDate() ;
+
+ oText.WriteLine("<BODY LINK=BLUE VLINK=DARKRED >");
+ oText.WriteLine("<!-- TITLE -->");
+ oText.WriteLine("<TABLE WIDTH=\"100%\" ><TR><TH CLASS=H2 >" + sTitle + "</TH></TR></TABLE>");
+ oText.WriteLine("<DIV><FONT COLOR=\"RED\">\81\83\92\8d\88Ó\81\84" + sCaution + "</FONT></DIV>");
+// oText.WriteLine("<P><a href=\"images/uml2001.gif\" >\82±\82Ì\83Q\81[\83\80\82ÌUML\83N\83\89\83X\90}(\8dX\90V\93ú " + sUmlDate + " )</a><br/>");
+// oText.WriteLine("\82©\82È\82è\82¢\82¢\82©\82°\82ñ\82Å\82·\81B</P>");
+ oText.WriteLine("<P><a href=\"s2001.lzh\" >\82±\82Ì\83Q\81[\83\80\82Ì\83R\83\93\83p\83C\83\8b\8dÏ\82Ý\83o\83C\83i\83\8a(\97vDirectX8\81A\8dX\90V\93ú " + sExeDate + " )</a><br/>");
+ oText.WriteLine("\83_\83E\83\93\83\8d\81[\83h\8cã\81A\89ð\93\80\82µ\82½GENX.EXE\82ð\83_\83u\83\8b\83N\83\8a\83b\83N\82µ\82Ä\8eÀ\8ds\82µ\82Ä\82\82¾\82³\82¢\81B\8fI\97¹\82ÍQ\83L\81[\82Å\82·\81B</P>");
+ oText.WriteLine("<!-- LIST -->");
+ oText.WriteLine("<TABLE WIDTH=\"100%\" border=\"0\" ALIGN=\"CENTER\" style=\"border-collapse:collapse;table-style:fixed;\">");
+ oText.WriteLine("<TR><TH width=\"20%\">\83t\83@\83C\83\8b\96¼</TH><TH width=\"5%\">\8dX\90V\93ú</TH><TH width=\"10%\" >\83T\83C\83Y</TH><TH width=\"15%\">\8fó\91Ô</TH><TH width=\"40%\">\90à\96¾</TH><TH width=\"10%\">\8dì\90¬\8eÒ</TH></TR>");
+
+ var ofolder = ofso.GetFolder(gsFolder);
+ var oFiles = new Enumerator(ofolder.files);
+
+ var dtDate = new Date();
+ var dayMil = (1000 * 60 * 60 * 24);
+ var s = ""
+ var sFiles = new Array();
+ var i = 0;
+ for (; !oFiles.atEnd(); oFiles.moveNext()){
+ sFiles[i++] = oFiles.item();
+ }
+ // \83t\83B\83\8b\83l\81[\83\80\8f\87\82É\83\\81[\83g
+
+ sFiles = sFiles.sort();
+ for (var i = 0;i < sFiles.length; i++)
+ {
+ var oFile = ofso.GetFile(sFiles[i]);
+ var sFileName = oFile.Name;
+
+ if(sFileName.match(grFileType)){
+
+ var sState = " ";
+ var sDescription = " ";
+ var sAuthor = " ";
+
+ if(!sFileName.match(/(.*\.ico)|(.*\.bmp)/i)){
+ var oTxtTemp = oFile.OpenAsTextStream(1,0);
+ var sTemp = oTxtTemp.ReadLine();
+
+ if(sTemp.match(/\/\/@STATE=/i)){
+ sTemp = sTemp.split("=");
+ sState = sTemp[1];
+ var sTemp = oTxtTemp.ReadLine();
+ } else {
+ sState = "\95s\96¾";
+ }
+
+ if(sTemp.match(/\/\/@DESCRIPTION/i)){
+ sTemp = oTxtTemp.ReadLine();
+ while(!sTemp.match(/\/\/@DESCRIPTION_END/i) && !oTxtTemp.AtEndOfStream )
+ {
+ sDescription += sTemp.replace(/\/\//i,"") + "<br/>";
+ sTemp = oTxtTemp.ReadLine();
+ }
+
+ } else {
+ sDescription = " ";
+ }
+
+ //\8dì\90¬\8eÒ\96¼\82ð\8eæ\93¾\82·\82é\81B
+
+ if(!oTxtTemp.AtEndOfStream)
+ sTemp = oTxtTemp.ReadLine();
+ else
+ sTemp = "";
+
+ if(sTemp.match(/\/\/@AUTHOR=/i)){
+ sTemp = sTemp.split("=");
+ sAuthor = sTemp[1];
+ } else {
+ sAuthor = " ";
+ }
+
+ oTxtTemp.Close();
+ oTxtTemp = null;
+ } else {
+ sTemp = sFileName.split(".");
+ sTemp = sTemp[1].toLowerCase();
+ sDescription = gsExt[sTemp];
+ }
+
+ dtFile = new Date(oFile.DateLastModified);
+ sDate = dtFile.getFullYear() + "/" + (dtFile.getMonth() + 1) + "/" + dtFile.getDate() ;
+ var dt = dtDate - oFile.DateLastModified;
+ var dayValue = dt / dayMil;
+
+ if(dayValue <= 7){
+ var sBldS = "<B>";
+ var sBldE = "</B>";
+ var sUpdated = "";
+ //"<font color=\"red\"> Updated!</font>";
+ } else {
+ var sBldS = sBldE = "";
+ var sUpdated = "";
+ }
+
+ s += "<TR><TD>" + sBldS + "<A HREF=\"" + gsFolderURL + "/"
+ + oFile.Name + "\" target=\"_top\" >"
+ + oFile.Name + sUpdated + "</A>" + sBldE + "</TD>";
+
+ s += "<TD>" + sBldS + sDate + sBldE + "</TD>";
+ s += "<TD>" + sBldS + oFile.Size + sBldE + "</TD>";
+ s += "<TD>" + sBldS + sState + sBldE + "</TD>";
+ s += "<TD>" + sBldS + sDescription + sBldE + "</TD>";
+ s += "<TD>" + sBldS + sAuthor + sBldE + "</TD>";
+ s += "</TR>\r\n";
+ }
+ }
+ oText.WriteLine(s);
+ oText.WriteLine("</BODY>");
+}
+
+function WriteTail(oText)
+{
+ oText.WriteLine("</HTML>");
+}
+
+function main()
+{
+ var oFso = new ActiveXObject("Scripting.FileSystemObject");
+ var oText = oFso.CreateTextFile(gsListFilePath,true);
+// try{
+ WriteHead(oText,gsTitle,"");
+ WriteBody(oText,gsTitle,gsCaution);
+ WriteTail(oText);
+ oText.Close();
+ WScript.Echo("\90³\8fí\82É\8fI\97¹\82µ\82Ü\82µ\82½\81B");
+/* } catch(e) {
+ WScript.Echo("\88Ù\8fí\8fI\97¹\82µ\82Ü\82µ\82½\81B");
+ throw e;
+ }
+*/
+}
+
+main();
+</script>
+</job>
+
\ No newline at end of file
--- /dev/null
+//@STATE=\8dì\90¬\92\86
+//@DESCRIPTION ---------------------------------------------------------------
+// Scene.h: Scene \83N\83\89\83X\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X
+// \83V\81[\83\93\82Ì\83C\83\93\83^\81[\83t\83F\81[\83X\82Æ\82È\82é\83N\83\89\83X\82Å\82·\81B
+// \97\9a\97ð\81F
+// 2000/02/05 \83R\83\81\83\93\83g\92Ç\89Á
+// $Log: Scene.h,v $
+// Revision 1.2 2001/11/06 21:27:34 fujiwara
+// \91å\95\9d\8dX\90V\91O\83o\83b\83N\83A\83b\83v
+//
+// Revision 1.1 2001/10/28 21:40:37 fujiwara
+// DLL\82É\95ª\8a\84
+//
+// Revision 1.4 2001/07/09 20:30:09 fujiwara
+// \97á\8aO\8f\88\97\9d\82Ì\91g\82Ý\8d\9e\82Ý
+//
+// Revision 1.3 2001/07/01 01:03:44 fujiwara
+// const \82Ì\8c©\92¼\82µ
+// \94z\92u\83G\83f\83B\83^\82Í\93r\92\86\8co\89ß
+//
+// Revision 1.2 2001/05/12 00:49:09 fujiwara
+// \82b\82u\82r\82ð\93±\93ü\82µ\81A\83\8d\83O\95\\8e¦\82ð\92Ç\89Á
+//
+//@DESCRIPTION_END -----------------------------------------------------------
+//@AUTHOR=S.F.
+// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef SFINTERFACE_H
+#define SFINTERFACE_H
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#define SF_INTERFACE __declspec(novtable)
+
+#endif
\ No newline at end of file
--- /dev/null
+<!--//@STATE=\8a®\90¬
+//@DESCRIPTION
+//\83\\81[\83X\83t\83@\83C\83\8b\82Ì\83\8a\83X\83g\82ð\90¶\90¬\82·\82é\83X\83N\83\8a\83v\83g\82Å\82·\81B
+//@DESCRIPTION_END
+//@AUTHOR=S.F.
+-->
+<job ID="SourceFileList">
+<script language="JScript">
+// var gsFolder = "/source/game";
+// var gsFolder = "/images";
+ var gsFolder = "c:\\inetpub\\wwwroot\\source\\game";
+ var gsFolderURL = "/source/game";
+ var gsExePath = "c:\\inetpub\\wwwroot\\s2001.lzh";
+ var gsUmlPath = "c:\\inetpub\\wwwroot\\images\\uml2001.gif";
+
+ var gsTitle = "\83Q\81[\83\80\83\\81[\83X\83t\83@\83C\83\8b\82¨\82æ\82Ñ\83\8a\83\\81[\83X";
+ var grFileType = /(.*\.bmp)|(.*\.cpp)|(.*\.h)|(.*.wsf)|(MAKEFILE)|(.*\.rc)|(.*\.ico)/i;
+ var gsListFilePath = "c:\\inetpub\\wwwroot\\cpplist.html";
+ var gsCaution = "\8fí\82É\8dì\90¬\92\86\82Ì\82½\82ß\81A\83\\81[\83X\82¨\82æ\82Ñ\83o\83C\83i\83\8a\82É\82Í\95s\8bï\8d\87\82ª\82 \82é\89Â\94\\90«\82ª\82 \82è\82Ü\82·\81B<br/>\81\83\96Æ\90Ó\8e\96\8d\80\81\84<br/>"
+ + "\81E\82±\82ÌHP\82Ì\82·\82×\82Ä\82Ì\83\\81[\83X\82¨\82æ\82Ñ\83o\83C\83i\83\8a\82ð\8eg\97p\82µ\82Ä\8bN\82±\82è\82¤\82é\82 \82ç\82ä\82é\8c»\8fÛ\82É\8aÖ\82µ\82Ä\93¡\8c´\8cå\82Í\90Ó\94C\82ð\82Æ\82è\82Ü\82¹\82ñ\81B<BR/>"
+ + "\81E\82±\82Ì\83z\81[\83\80\83y\81[\83W\82Ì\8dì\8eÒ\82Í\81A\83z\81[\83\80\83y\81[\83W\8fã\82Ì\82·\82×\82Ä\82Ì\83R\83\93\83e\83\93\83c\82ð\97\98\97p\81A\8eg\97p\82µ\82Ä\8bN\82±\82Á\82½\82¢\82©\82È\82é\91¹\8aQ\82ð\94\85\8f\9e\82·\82é\90Ó\94C\82ð\95\89\82¢\82Ü\82¹\82ñ\81B<BR/>"
+ + "\8fã\8bL\82ð\82²\97¹\8f³\82Å\82«\82é\82©\82½\82Ì\82Ý\81A\83_\83E\83\93\83\8d\81[\83h\82µ\82Ä\82\82¾\82³\82¢<br/>";
+ var gsExt = { "ico" : "\83A\83C\83R\83\93\83t\83@\83C\83\8b" ,
+ "bmp" : "\83r\83b\83g\83}\83b\83v\83t\83@\83C\83\8b" ,
+ "rc" : "\83\8a\83\\81[\83X\83t\83@\83C\83\8b"
+ };
+function WriteHead(oText,sTitle,sTagOption)
+{
+ oText.WriteLine("<HTML>");
+ oText.WriteLine("<HEAD>");
+ oText.WriteLine("<META content=\"text/html;CHARSET=x-sjis\" http-equiv=\"Content-Type\" />");
+ oText.WriteLine("<META content=\"\83v\83\8d\83O\83\89\83~\83\93\83O\82Ì\83y\81[\83W\82Å\82·\81B\" name=\"description\" />");
+ oText.WriteLine("<TITLE>" + sTitle + "</TITLE>");
+ oText.WriteLine("<LINK HREF=\"styles.css\" REL=\"stylesheet\" TYPE=\"text/css\" />");
+ if(sTagOption.length > 0)
+ oText.WriteLine(sTagOption);
+ oText.WriteLine("<STYLE>");
+ oText.WriteLine(" TD {border:1px solid black;font-size:8pt;}");
+ oText.WriteLine(" TH {border:1px solid black;font-size:8pt;}");
+ oText.WriteLine("</STYLE>");
+ oText.WriteLine("</HEAD>");
+}
+
+
+function WriteBody(oText,sTitle,sCaution)
+{
+ var ofso = new ActiveXObject("Scripting.FileSystemObject");
+
+ var oFile = ofso.GetFile(gsExePath);
+ var dtFile = new Date(oFile.DateLastModified);
+ var sExeDate = dtFile.getFullYear() + "/" + (dtFile.getMonth() + 1) + "/" + dtFile.getDate() ;
+
+ oFile = ofso.GetFile(gsUmlPath);
+ dtFile = new Date(oFile.DateLastModified);
+ var sUmlDate = dtFile.getFullYear() + "/" + (dtFile.getMonth() + 1) + "/" + dtFile.getDate() ;
+
+ oText.WriteLine("<BODY LINK=BLUE VLINK=DARKRED >");
+ oText.WriteLine("<!-- TITLE -->");
+ oText.WriteLine("<TABLE WIDTH=\"100%\" ><TR><TH CLASS=H2 >" + sTitle + "</TH></TR></TABLE>");
+ oText.WriteLine("<DIV><FONT COLOR=\"RED\">\81\83\92\8d\88Ó\81\84" + sCaution + "</FONT></DIV>");
+// oText.WriteLine("<P><a href=\"images/uml2001.gif\" >\82±\82Ì\83Q\81[\83\80\82ÌUML\83N\83\89\83X\90}(\8dX\90V\93ú " + sUmlDate + " )</a><br/>");
+// oText.WriteLine("\82©\82È\82è\82¢\82¢\82©\82°\82ñ\82Å\82·\81B</P>");
+ oText.WriteLine("<P><a href=\"s2001.lzh\" >\82±\82Ì\83Q\81[\83\80\82Ì\83R\83\93\83p\83C\83\8b\8dÏ\82Ý\83o\83C\83i\83\8a(\97vDirectX8\81A\8dX\90V\93ú " + sExeDate + " )</a><br/>");
+ oText.WriteLine("\83_\83E\83\93\83\8d\81[\83h\8cã\81A\89ð\93\80\82µ\82½GENX.EXE\82ð\83_\83u\83\8b\83N\83\8a\83b\83N\82µ\82Ä\8eÀ\8ds\82µ\82Ä\82\82¾\82³\82¢\81B\8fI\97¹\82ÍQ\83L\81[\82Å\82·\81B</P>");
+ oText.WriteLine("<!-- LIST -->");
+ oText.WriteLine("<TABLE WIDTH=\"100%\" border=\"0\" ALIGN=\"CENTER\" style=\"border-collapse:collapse;table-style:fixed;\">");
+ oText.WriteLine("<TR><TH width=\"20%\">\83t\83@\83C\83\8b\96¼</TH><TH width=\"5%\">\8dX\90V\93ú</TH><TH width=\"10%\" >\83T\83C\83Y</TH><TH width=\"15%\">\8fó\91Ô</TH><TH width=\"40%\">\90à\96¾</TH><TH width=\"10%\">\8dì\90¬\8eÒ</TH></TR>");
+
+ var ofolder = ofso.GetFolder(gsFolder);
+ var oFiles = new Enumerator(ofolder.files);
+
+ var dtDate = new Date();
+ var dayMil = (1000 * 60 * 60 * 24);
+ var s = ""
+ var sFiles = new Array();
+ var i = 0;
+ for (; !oFiles.atEnd(); oFiles.moveNext()){
+ sFiles[i++] = oFiles.item();
+ }
+ // \83t\83B\83\8b\83l\81[\83\80\8f\87\82É\83\\81[\83g
+
+ sFiles = sFiles.sort();
+ for (var i = 0;i < sFiles.length; i++)
+ {
+ var oFile = ofso.GetFile(sFiles[i]);
+ var sFileName = oFile.Name;
+
+ if(sFileName.match(grFileType)){
+
+ var sState = " ";
+ var sDescription = " ";
+ var sAuthor = " ";
+
+ if(!sFileName.match(/(.*\.ico)|(.*\.bmp)/i)){
+ var oTxtTemp = oFile.OpenAsTextStream(1,0);
+ var sTemp = oTxtTemp.ReadLine();
+
+ if(sTemp.match(/\/\/@STATE=/i)){
+ sTemp = sTemp.split("=");
+ sState = sTemp[1];
+ var sTemp = oTxtTemp.ReadLine();
+ } else {
+ sState = "\95s\96¾";
+ }
+
+ if(sTemp.match(/\/\/@DESCRIPTION/i)){
+ sTemp = oTxtTemp.ReadLine();
+ while(!sTemp.match(/\/\/@DESCRIPTION_END/i) && !oTxtTemp.AtEndOfStream )
+ {
+ sDescription += sTemp.replace(/\/\//i,"") + "<br/>";
+ sTemp = oTxtTemp.ReadLine();
+ }
+
+ } else {
+ sDescription = " ";
+ }
+
+ //\8dì\90¬\8eÒ\96¼\82ð\8eæ\93¾\82·\82é\81B
+
+ if(!oTxtTemp.AtEndOfStream)
+ sTemp = oTxtTemp.ReadLine();
+ else
+ sTemp = "";
+
+ if(sTemp.match(/\/\/@AUTHOR=/i)){
+ sTemp = sTemp.split("=");
+ sAuthor = sTemp[1];
+ } else {
+ sAuthor = " ";
+ }
+
+ oTxtTemp.Close();
+ oTxtTemp = null;
+ } else {
+ sTemp = sFileName.split(".");
+ sTemp = sTemp[1].toLowerCase();
+ sDescription = gsExt[sTemp];
+ }
+
+ dtFile = new Date(oFile.DateLastModified);
+ sDate = dtFile.getFullYear() + "/" + (dtFile.getMonth() + 1) + "/" + dtFile.getDate() ;
+ var dt = dtDate - oFile.DateLastModified;
+ var dayValue = dt / dayMil;
+
+ if(dayValue <= 7){
+ var sBldS = "<B>";
+ var sBldE = "</B>";
+ var sUpdated = "";
+ //"<font color=\"red\"> Updated!</font>";
+ } else {
+ var sBldS = sBldE = "";
+ var sUpdated = "";
+ }
+
+ s += "<TR><TD>" + sBldS + "<A HREF=\"" + gsFolderURL + "/"
+ + oFile.Name + "\" target=\"_top\" >"
+ + oFile.Name + sUpdated + "</A>" + sBldE + "</TD>";
+
+ s += "<TD>" + sBldS + sDate + sBldE + "</TD>";
+ s += "<TD>" + sBldS + oFile.Size + sBldE + "</TD>";
+ s += "<TD>" + sBldS + sState + sBldE + "</TD>";
+ s += "<TD>" + sBldS + sDescription + sBldE + "</TD>";
+ s += "<TD>" + sBldS + sAuthor + sBldE + "</TD>";
+ s += "</TR>\r\n";
+ }
+ }
+ oText.WriteLine(s);
+ oText.WriteLine("</BODY>");
+}
+
+function WriteTail(oText)
+{
+ oText.WriteLine("</HTML>");
+}
+
+function main()
+{
+ var oFso = new ActiveXObject("Scripting.FileSystemObject");
+ var oText = oFso.CreateTextFile(gsListFilePath,true);
+// try{
+ WriteHead(oText,gsTitle,"");
+ WriteBody(oText,gsTitle,gsCaution);
+ WriteTail(oText);
+ oText.Close();
+ WScript.Echo("\90³\8fí\82É\8fI\97¹\82µ\82Ü\82µ\82½\81B");
+/* } catch(e) {
+ WScript.Echo("\88Ù\8fí\8fI\97¹\82µ\82Ü\82µ\82½\81B");
+ throw e;
+ }
+*/
+}
+
+main();
+</script>
+</job>
+
\ No newline at end of file
--- /dev/null
+<!--//@STATE=\8a®\90¬
+//@DESCRIPTION
+//\83\\81[\83X\83t\83@\83C\83\8b\82Ì\83\8a\83X\83g\82ð\90¶\90¬\82·\82é\83X\83N\83\8a\83v\83g\82Å\82·\81B
+//@DESCRIPTION_END
+//@AUTHOR=S.F.
+-->
+<job ID="SourceFileList">
+<script language="JScript">
+// var gsFolder = "/source/game";
+// var gsFolder = "/images";
+ var gsFolder = "c:\\inetpub\\wwwroot\\source\\game";
+ var gsFolderURL = "/source/game";
+ var gsExePath = "c:\\inetpub\\wwwroot\\s2001.lzh";
+ var gsUmlPath = "c:\\inetpub\\wwwroot\\images\\uml2001.gif";
+
+ var gsTitle = "\83Q\81[\83\80\83o\83C\83i\83\8a\81A\83\\81[\83X\81A\83\8a\83\\81[\83X\82Ì\83_\83E\83\93\83\8d\81[\83h\82Ì\83y\81[\83W";
+ var grFileType = /(.*\.bmp)|(.*\.cpp)|(.*\.h)|(.*.wsf)|(MAKEFILE)|(.*\.rc)|(.*\.ico)/i;
+ var gsListFilePath = "c:\\inetpub\\wwwroot\\cpplist.html";
+ var gsCaution = "\8fí\82É\8dì\90¬\92\86\82Ì\82½\82ß\81A\83\\81[\83X\82¨\82æ\82Ñ\83o\83C\83i\83\8a\82É\82Í\95s\8bï\8d\87\82ª\82 \82é\89Â\94\\90«\82ª\82 \82è\82Ü\82·\81B<br/>\81\83\96Æ\90Ó\8e\96\8d\80\81\84<br/>"
+ + "\81E\82±\82ÌHP\82Ì\82·\82×\82Ä\82Ì\83\\81[\83X\82¨\82æ\82Ñ\83o\83C\83i\83\8a\82ð\8eg\97p\82µ\82Ä\8bN\82±\82è\82¤\82é\82 \82ç\82ä\82é\8c»\8fÛ\82É\8aÖ\82µ\82Ä\93¡\8c´\8cå\82Í\90Ó\94C\82ð\82Æ\82è\82Ü\82¹\82ñ\81B<BR/>"
+ + "\81E\82±\82Ì\83z\81[\83\80\83y\81[\83W\82Ì\8dì\8eÒ\82Í\81A\83z\81[\83\80\83y\81[\83W\8fã\82Ì\82·\82×\82Ä\82Ì\83R\83\93\83e\83\93\83c\82ð\97\98\97p\81A\8eg\97p\82µ\82Ä\8bN\82±\82Á\82½\82¢\82©\82È\82é\91¹\8aQ\82ð\94\85\8f\9e\82·\82é\90Ó\94C\82ð\95\89\82¢\82Ü\82¹\82ñ\81B<BR/>"
+ + "\8fã\8bL\82ð\82²\97¹\8f³\82Å\82«\82é\82©\82½\82Ì\82Ý\81A\83_\83E\83\93\83\8d\81[\83h\82µ\82Ä\82\82¾\82³\82¢<br/>";
+ var gsExt = { "ico" : "\83A\83C\83R\83\93\83t\83@\83C\83\8b" ,
+ "bmp" : "\83r\83b\83g\83}\83b\83v\83t\83@\83C\83\8b" ,
+ "rc" : "\83\8a\83\\81[\83X\83t\83@\83C\83\8b"
+ };
+function WriteHead(oText,sTitle,sTagOption)
+{
+ oText.WriteLine("<HTML>");
+ oText.WriteLine("<HEAD>");
+ oText.WriteLine("<META content=\"text/html;CHARSET=x-sjis\" http-equiv=\"Content-Type\" />");
+ oText.WriteLine("<META content=\"\83v\83\8d\83O\83\89\83~\83\93\83O\82Ì\83y\81[\83W\82Å\82·\81B\" name=\"description\" />");
+ oText.WriteLine("<TITLE>" + sTitle + "</TITLE>");
+ oText.WriteLine("<LINK HREF=\"styles.css\" REL=\"stylesheet\" TYPE=\"text/css\" />");
+ if(sTagOption.length > 0)
+ oText.WriteLine(sTagOption);
+ oText.WriteLine("<STYLE>");
+ oText.WriteLine(" TD {border:1px solid black;font-size:8pt;}");
+ oText.WriteLine(" TH {border:1px solid black;font-size:8pt;}");
+ oText.WriteLine("</STYLE>");
+ oText.WriteLine("</HEAD>");
+}
+
+
+function WriteBody(oText,sTitle,sCaution)
+{
+ var ofso = new ActiveXObject("Scripting.FileSystemObject");
+
+ var oFile = ofso.GetFile(gsExePath);
+ var dtFile = new Date(oFile.DateLastModified);
+ var sExeDate = dtFile.getFullYear() + "/" + (dtFile.getMonth() + 1) + "/" + dtFile.getDate() ;
+
+ oFile = ofso.GetFile(gsUmlPath);
+ dtFile = new Date(oFile.DateLastModified);
+ var sUmlDate = dtFile.getFullYear() + "/" + (dtFile.getMonth() + 1) + "/" + dtFile.getDate() ;
+
+ oText.WriteLine("<BODY LINK=BLUE VLINK=DARKRED >");
+ oText.WriteLine("<!-- TITLE -->");
+ oText.WriteLine("<TABLE WIDTH=\"100%\" ><TR><TD CLASS=H2 >" + sTitle + "</TD></TR></TABLE>");
+ oText.WriteLine("<DIV><FONT COLOR=\"RED\">\81\83\92\8d\88Ó\81\84" + sCaution + "</FONT></DIV>");
+// oText.WriteLine("<P><a href=\"images/uml2001.gif\" >\82±\82Ì\83Q\81[\83\80\82ÌUML\83N\83\89\83X\90}(\8dX\90V\93ú " + sUmlDate + " )</a><br/>");
+// oText.WriteLine("\82©\82È\82è\82¢\82¢\82©\82°\82ñ\82Å\82·\81B</P>");
+ oText.WriteLine("<P><a href=\"s2001.lzh\" >\82±\82Ì\83Q\81[\83\80\82Ì\83R\83\93\83p\83C\83\8b\8dÏ\82Ý\83o\83C\83i\83\8a\82¨\82æ\82Ñ\83\\81[\83X(\97vDirectX8\81A\8dX\90V\93ú " + sExeDate + " )</a><br/>");
+ oText.WriteLine("\83_\83E\83\93\83\8d\81[\83h\8cã\81A\89ð\93\80\82µ\82½GENX.EXE\82ð\83_\83u\83\8b\83N\83\8a\83b\83N\82µ\82Ä\8eÀ\8ds\82µ\82Ä\82\82¾\82³\82¢\81B\8fI\97¹\82ÍQ\83L\81[\82Å\82·\81B</P>");
+ oText.WriteLine("<!-- \83r\83\8b\83h\95û\96@ -->");
+ var oBuildMethod = ofso.OpenTextFile("BuildMethod.html");
+ var str_ = oBuildMethod.ReadAll();
+ oText.WriteLine(str_)
+ oBuildMethod.Close();
+ oText.WriteLine("</BODY>");
+}
+
+function WriteTail(oText)
+{
+ oText.WriteLine("</HTML>");
+}
+
+function main()
+{
+ var oFso = new ActiveXObject("Scripting.FileSystemObject");
+ var oText = oFso.CreateTextFile(gsListFilePath,true);
+// try{
+ WriteHead(oText,gsTitle,"");
+ WriteBody(oText,gsTitle,gsCaution);
+ WriteTail(oText);
+ oText.Close();
+ WScript.Echo("\90³\8fí\82É\8fI\97¹\82µ\82Ü\82µ\82½\81B");
+/* } catch(e) {
+ WScript.Echo("\88Ù\8fí\8fI\97¹\82µ\82Ü\82µ\82½\81B");
+ throw e;
+ }
+*/
+}
+
+main();
+</script>
+</job>
+
\ No newline at end of file
--- /dev/null
+xof 0302txt 0064
+template Header {
+ <3D82AB43-62DA-11cf-AB39-0020AF71E433>
+ WORD major;
+ WORD minor;
+ DWORD flags;
+}
+
+template Vector {
+ <3D82AB5E-62DA-11cf-AB39-0020AF71E433>
+ FLOAT x;
+ FLOAT y;
+ FLOAT z;
+}
+
+template Coords2d {
+ <F6F23F44-7686-11cf-8F52-0040333594A3>
+ FLOAT u;
+ FLOAT v;
+}
+
+template Matrix4x4 {
+ <F6F23F45-7686-11cf-8F52-0040333594A3>
+ array FLOAT matrix[16];
+}
+
+template ColorRGBA {
+ <35FF44E0-6C7C-11cf-8F52-0040333594A3>
+ FLOAT red;
+ FLOAT green;
+ FLOAT blue;
+ FLOAT alpha;
+}
+
+template ColorRGB {
+ <D3E16E81-7835-11cf-8F52-0040333594A3>
+ FLOAT red;
+ FLOAT green;
+ FLOAT blue;
+}
+
+template IndexedColor {
+ <1630B820-7842-11cf-8F52-0040333594A3>
+ DWORD index;
+ ColorRGBA indexColor;
+}
+
+template Boolean {
+ <4885AE61-78E8-11cf-8F52-0040333594A3>
+ WORD truefalse;
+}
+
+template Boolean2d {
+ <4885AE63-78E8-11cf-8F52-0040333594A3>
+ Boolean u;
+ Boolean v;
+}
+
+template MaterialWrap {
+ <4885AE60-78E8-11cf-8F52-0040333594A3>
+ Boolean u;
+ Boolean v;
+}
+
+template TextureFilename {
+ <A42790E1-7810-11cf-8F52-0040333594A3>
+ STRING filename;
+}
+
+template Material {
+ <3D82AB4D-62DA-11cf-AB39-0020AF71E433>
+ ColorRGBA faceColor;
+ FLOAT power;
+ ColorRGB specularColor;
+ ColorRGB emissiveColor;
+ [...]
+}
+
+template MeshFace {
+ <3D82AB5F-62DA-11cf-AB39-0020AF71E433>
+ DWORD nFaceVertexIndices;
+ array DWORD faceVertexIndices[nFaceVertexIndices];
+}
+
+template MeshFaceWraps {
+ <4885AE62-78E8-11cf-8F52-0040333594A3>
+ DWORD nFaceWrapValues;
+ Boolean2d faceWrapValues;
+}
+
+template MeshTextureCoords {
+ <F6F23F40-7686-11cf-8F52-0040333594A3>
+ DWORD nTextureCoords;
+ array Coords2d textureCoords[nTextureCoords];
+}
+
+template MeshMaterialList {
+ <F6F23F42-7686-11cf-8F52-0040333594A3>
+ DWORD nMaterials;
+ DWORD nFaceIndexes;
+ array DWORD faceIndexes[nFaceIndexes];
+ [Material]
+}
+
+template MeshNormals {
+ <F6F23F43-7686-11cf-8F52-0040333594A3>
+ DWORD nNormals;
+ array Vector normals[nNormals];
+ DWORD nFaceNormals;
+ array MeshFace faceNormals[nFaceNormals];
+}
+
+template MeshVertexColors {
+ <1630B821-7842-11cf-8F52-0040333594A3>
+ DWORD nVertexColors;
+ array IndexedColor vertexColors[nVertexColors];
+}
+
+template Mesh {
+ <3D82AB44-62DA-11cf-AB39-0020AF71E433>
+ DWORD nVertices;
+ array Vector vertices[nVertices];
+ DWORD nFaces;
+ array MeshFace faces[nFaces];
+ [...]
+}
+
+template FrameTransformMatrix {
+ <F6F23F41-7686-11cf-8F52-0040333594A3>
+ Matrix4x4 frameMatrix;
+}
+
+template Frame {
+ <3D82AB46-62DA-11cf-AB39-0020AF71E433>
+ [...]
+}
+
+Header {
+ 1;
+ 0;
+ 1;
+}
+
+Mesh Body {
+ 208;
+ -0.131707;0.010976;0.487805;,
+ -0.159756;-0.014634;0.487805;,
+ -0.291463;-0.053659;0.487805;,
+ -0.324390;-0.043902;0.487805;,
+ -0.346341;-0.020732;0.487805;,
+ -0.357317;0.013415;0.487805;,
+ -0.346341;0.046341;0.487805;,
+ -0.324390;0.068293;0.487805;,
+ -0.230488;0.112195;0.487805;,
+ -0.196341;0.123171;0.487805;,
+ -0.157317;0.112195;0.487805;,
+ -0.131707;0.086585;0.487805;,
+ -0.123171;0.047561;0.487805;,
+ 0.324390;-0.043902;0.487805;,
+ 0.291463;-0.053659;0.487805;,
+ 0.159756;-0.014634;0.487805;,
+ 0.131707;0.010976;0.487805;,
+ 0.123171;0.047561;0.487805;,
+ 0.131707;0.086585;0.487805;,
+ 0.157317;0.112195;0.487805;,
+ 0.196341;0.123171;0.487805;,
+ 0.230488;0.112195;0.487805;,
+ 0.324390;0.068293;0.487805;,
+ 0.346341;0.046341;0.487805;,
+ 0.357317;0.013415;0.487805;,
+ 0.346341;-0.020732;0.487805;,
+ -0.342683;-0.062195;0.378049;,
+ -0.371951;-0.032927;0.378049;,
+ -0.346341;-0.020732;0.541463;,
+ -0.324390;-0.043902;0.541463;,
+ -0.357317;0.013415;0.541463;,
+ -0.346341;-0.020732;0.541463;,
+ -0.371951;-0.032927;0.378049;,
+ -0.384146;0.009756;0.378049;,
+ -0.371951;0.050000;0.378049;,
+ -0.346341;0.046341;0.541463;,
+ -0.342683;0.079268;0.378049;,
+ -0.371951;0.050000;0.378049;,
+ -0.346341;0.046341;0.541463;,
+ -0.324390;0.068293;0.541463;,
+ -0.230488;0.112195;0.541463;,
+ -0.226829;0.134146;0.378049;,
+ -0.302439;-0.073171;0.378049;,
+ -0.291463;-0.053659;0.541463;,
+ -0.159756;-0.014634;0.541463;,
+ -0.137805;-0.025610;0.378049;,
+ -0.131707;0.010976;0.541463;,
+ -0.102439;0.007317;0.378049;,
+ -0.131707;0.010976;0.541463;,
+ -0.123171;0.047561;0.541463;,
+ -0.091463;0.053659;0.378049;,
+ -0.102439;0.007317;0.378049;,
+ -0.131707;0.086585;0.541463;,
+ -0.102439;0.101220;0.378049;,
+ -0.157317;0.112195;0.541463;,
+ -0.131707;0.086585;0.541463;,
+ -0.102439;0.101220;0.378049;,
+ -0.135366;0.134146;0.378049;,
+ -0.182927;0.146341;0.378049;,
+ -0.196341;0.123171;0.541463;,
+ -0.054878;0.135366;0.378049;,
+ -0.073171;0.000000;0.378049;,
+ -0.219512;-0.073171;0.378049;,
+ -0.342683;-0.073171;0.378049;,
+ -0.439024;0.036585;0.378049;,
+ -0.182927;0.164634;0.378049;,
+ -0.073171;0.000000;0.378049;,
+ -0.073171;-0.036585;0.268293;,
+ -0.219512;-0.109756;0.268293;,
+ -0.219512;-0.073171;0.378049;,
+ -0.402439;-0.109756;0.268293;,
+ -0.342683;-0.073171;0.378049;,
+ -0.342683;-0.073171;0.378049;,
+ -0.402439;-0.109756;0.268293;,
+ -0.530488;0.036585;0.268293;,
+ -0.439024;0.036585;0.378049;,
+ -0.182927;0.164634;0.378049;,
+ -0.182927;0.212195;0.268293;,
+ -0.054878;0.182927;0.268293;,
+ -0.054878;0.135366;0.378049;,
+ -0.439024;0.036585;0.378049;,
+ -0.530488;0.036585;0.268293;,
+ -0.182927;0.212195;0.268293;,
+ -0.146341;0.262195;0.268293;,
+ -0.054878;0.182927;0.268293;,
+ -0.046341;0.292683;0.926829;,
+ -0.146341;0.262195;0.268293;,
+ -0.073171;0.329268;1.000000;,
+ 0.342683;-0.062195;0.378049;,
+ 0.371951;-0.032927;0.378049;,
+ 0.346341;-0.020732;0.541463;,
+ 0.324390;-0.043902;0.541463;,
+ 0.384146;0.009756;0.378049;,
+ 0.371951;-0.032927;0.378049;,
+ 0.346341;-0.020732;0.541463;,
+ 0.357317;0.013415;0.541463;,
+ 0.371951;0.050000;0.378049;,
+ 0.346341;0.046341;0.541463;,
+ 0.342683;0.079268;0.378049;,
+ 0.371951;0.050000;0.378049;,
+ 0.346341;0.046341;0.541463;,
+ 0.324390;0.068293;0.541463;,
+ 0.230488;0.112195;0.541463;,
+ 0.226829;0.134146;0.378049;,
+ 0.302439;-0.073171;0.378049;,
+ 0.291463;-0.053659;0.541463;,
+ 0.159756;-0.014634;0.541463;,
+ 0.137805;-0.025610;0.378049;,
+ 0.131707;0.010976;0.541463;,
+ 0.102439;0.007317;0.378049;,
+ 0.131707;0.010976;0.541463;,
+ 0.123171;0.047561;0.541463;,
+ 0.091463;0.053659;0.378049;,
+ 0.102439;0.007317;0.378049;,
+ 0.131707;0.086585;0.541463;,
+ 0.102439;0.101220;0.378049;,
+ 0.157317;0.112195;0.541463;,
+ 0.131707;0.086585;0.541463;,
+ 0.102439;0.101220;0.378049;,
+ 0.135366;0.134146;0.378049;,
+ 0.196341;0.123171;0.541463;,
+ 0.182927;0.146341;0.378049;,
+ 0.182927;0.164634;0.378049;,
+ 0.439024;0.036585;0.378049;,
+ 0.342683;-0.073171;0.378049;,
+ 0.219512;-0.073171;0.378049;,
+ 0.073171;0.000000;0.378049;,
+ 0.054878;0.135366;0.378049;,
+ 0.073171;-0.036585;0.268293;,
+ 0.073171;0.000000;0.378049;,
+ 0.219512;-0.073171;0.378049;,
+ 0.219512;-0.109756;0.268293;,
+ 0.342683;-0.073171;0.378049;,
+ 0.402439;-0.109756;0.268293;,
+ 0.439024;0.036585;0.378049;,
+ 0.530488;0.036585;0.268293;,
+ 0.402439;-0.109756;0.268293;,
+ 0.342683;-0.073171;0.378049;,
+ 0.054878;0.135366;0.378049;,
+ 0.054878;0.182927;0.268293;,
+ 0.182927;0.212195;0.268293;,
+ 0.182927;0.164634;0.378049;,
+ 0.530488;0.036585;0.268293;,
+ 0.439024;0.036585;0.378049;,
+ 0.054878;0.182927;0.268293;,
+ 0.146341;0.262195;0.268293;,
+ 0.182927;0.212195;0.268293;,
+ 0.046341;0.292683;0.926829;,
+ 0.073171;0.329268;1.000000;,
+ 0.146341;0.262195;0.268293;,
+ -0.025610;0.402439;0.926829;,
+ 0.025610;0.402439;0.926829;,
+ -0.182927;0.212195;0.268293;,
+ -0.182927;0.223171;0.487805;,
+ -0.146341;0.262195;0.268293;,
+ -0.548780;0.036585;0.487805;,
+ -0.182927;0.223171;0.487805;,
+ -0.658537;0.000000;0.268293;,
+ -0.073171;-0.068293;-0.170732;,
+ -0.285366;-0.054878;-0.317073;,
+ -0.073171;0.000000;-0.792683;,
+ -0.182927;0.047561;-0.682927;,
+ -0.108537;-0.036585;-0.682927;,
+ -0.384146;0.057317;-0.317073;,
+ -0.285366;-0.054878;-0.317073;,
+ -0.073171;0.000000;-0.792683;,
+ -0.146341;0.000000;-0.902439;,
+ -0.182927;0.047561;-0.682927;,
+ -0.219512;0.000000;-0.902439;,
+ -0.585366;0.000000;-0.317073;,
+ -0.384146;0.057317;-0.317073;,
+ 0.182927;0.212195;0.268293;,
+ 0.182927;0.223171;0.487805;,
+ 0.146341;0.262195;0.268293;,
+ 0.182927;0.223171;0.487805;,
+ 0.548780;0.036585;0.487805;,
+ 0.658537;0.000000;0.268293;,
+ -0.108537;-0.036585;-0.682927;,
+ 0.108537;-0.036585;-0.682927;,
+ 0.073171;0.000000;-0.792683;,
+ 0.285366;-0.054878;-0.317073;,
+ 0.073171;-0.068293;-0.170732;,
+ 0.108537;-0.036585;-0.682927;,
+ 0.182927;0.047561;-0.682927;,
+ 0.073171;0.000000;-0.792683;,
+ 0.285366;-0.054878;-0.317073;,
+ 0.384146;0.057317;-0.317073;,
+ 0.182927;0.047561;-0.682927;,
+ 0.146341;0.000000;-0.902439;,
+ 0.219512;0.000000;-0.902439;,
+ 0.384146;0.057317;-0.317073;,
+ 0.585366;0.000000;-0.317073;,
+ -0.219512;0.182927;-0.390244;,
+ 0.219512;0.182927;-0.390244;,
+ -0.025610;0.402439;0.926829;,
+ -0.073171;0.329268;1.000000;,
+ -0.073171;0.365854;0.341463;,
+ -0.073171;0.365854;0.341463;,
+ 0.073171;0.365854;0.341463;,
+ 0.073171;0.365854;0.341463;,
+ 0.073171;0.329268;1.000000;,
+ 0.025610;0.402439;0.926829;,
+ 0.073171;0.365854;0.341463;,
+ -0.073171;0.365854;0.341463;,
+ -0.324390;-0.043902;0.541463;,
+ -0.342683;-0.062195;0.378049;,
+ 0.324390;-0.043902;0.541463;,
+ 0.342683;-0.062195;0.378049;;
+
+ 236;
+ 3;0,12,11,
+ 3;0,11,10,
+ 3;0,10,9,
+ 3;0,9,8,
+ 3;0,8,7,
+ 3;0,7,6,
+ 3;0,6,5,
+ 3;0,5,4,
+ 3;0,4,3,
+ 3;0,3,2,
+ 3;0,2,1,
+ 3;13,25,24,
+ 3;13,24,23,
+ 3;13,23,22,
+ 3;13,22,21,
+ 3;13,21,20,
+ 3;13,20,19,
+ 3;13,19,18,
+ 3;13,18,17,
+ 3;13,17,16,
+ 3;13,16,15,
+ 3;13,15,14,
+ 3;26,29,28,
+ 3;26,28,27,
+ 3;30,33,32,
+ 3;30,32,31,
+ 3;34,35,30,
+ 3;34,30,33,
+ 3;36,39,38,
+ 3;36,38,37,
+ 3;39,36,41,
+ 3;39,41,40,
+ 3;26,29,43,
+ 3;26,43,42,
+ 3;43,42,45,
+ 3;43,45,44,
+ 3;44,45,47,
+ 3;44,47,46,
+ 3;48,51,50,
+ 3;48,50,49,
+ 3;49,50,53,
+ 3;49,53,52,
+ 3;54,57,56,
+ 3;54,56,55,
+ 3;58,59,54,
+ 3;58,54,57,
+ 3;59,58,41,
+ 3;59,41,40,
+ 3;60,65,64,
+ 3;60,64,63,
+ 3;60,63,62,
+ 3;60,62,61,
+ 3;66,69,68,
+ 3;66,68,67,
+ 3;69,71,70,
+ 3;69,70,68,
+ 3;72,75,74,
+ 3;72,74,73,
+ 3;76,79,78,
+ 3;76,78,77,
+ 3;80,76,77,
+ 3;80,77,81,
+ 3;82,84,83,
+ 3;85,87,86,
+ 3;85,86,78,
+ 3;88,91,90,
+ 3;88,90,89,
+ 3;92,95,94,
+ 3;92,94,93,
+ 3;96,97,95,
+ 3;96,95,92,
+ 3;98,101,100,
+ 3;98,100,99,
+ 3;101,98,103,
+ 3;101,103,102,
+ 3;88,91,105,
+ 3;88,105,104,
+ 3;105,104,107,
+ 3;105,107,106,
+ 3;106,107,109,
+ 3;106,109,108,
+ 3;110,113,112,
+ 3;110,112,111,
+ 3;111,112,115,
+ 3;111,115,114,
+ 3;116,119,118,
+ 3;116,118,117,
+ 3;120,121,119,
+ 3;120,119,116,
+ 3;121,120,102,
+ 3;121,102,103,
+ 3;122,127,126,
+ 3;122,126,125,
+ 3;122,125,124,
+ 3;122,124,123,
+ 3;60,61,126,
+ 3;60,126,127,
+ 3;128,129,66,
+ 3;128,66,67,
+ 3;130,129,128,
+ 3;130,128,131,
+ 3;132,130,131,
+ 3;132,131,133,
+ 3;134,137,136,
+ 3;134,136,135,
+ 3;138,139,78,
+ 3;138,78,79,
+ 3;138,141,140,
+ 3;138,140,139,
+ 3;141,143,142,
+ 3;141,142,140,
+ 3;144,146,145,
+ 3;139,147,85,
+ 3;139,85,78,
+ 3;147,148,87,
+ 3;147,87,85,
+ 3;148,147,139,
+ 3;148,139,149,
+ 3;148,151,150,
+ 3;148,150,87,
+ 3;152,154,153,
+ 3;77,156,155,
+ 3;77,155,81,
+ 3;81,155,157,
+ 3;67,68,158,
+ 3;158,68,70,
+ 3;158,70,159,
+ 3;160,162,161,
+ 3;162,164,163,
+ 3;162,163,161,
+ 3;164,73,74,
+ 3;164,74,163,
+ 3;165,167,166,
+ 3;166,167,168,
+ 3;168,167,170,
+ 3;168,170,169,
+ 3;169,170,81,
+ 3;169,81,157,
+ 3;171,173,172,
+ 3;174,140,142,
+ 3;174,142,175,
+ 3;175,142,176,
+ 3;177,165,179,
+ 3;177,179,178,
+ 3;159,177,178,
+ 3;159,178,180,
+ 3;131,128,181,
+ 3;67,158,181,
+ 3;67,181,128,
+ 3;181,158,159,
+ 3;181,159,180,
+ 3;131,181,180,
+ 3;131,180,133,
+ 3;182,184,183,
+ 3;185,182,183,
+ 3;185,183,186,
+ 3;136,185,186,
+ 3;136,186,135,
+ 3;187,179,188,
+ 3;187,188,189,
+ 3;187,189,191,
+ 3;187,191,190,
+ 3;190,191,176,
+ 3;190,176,142,
+ 3;192,166,168,
+ 3;165,166,192,
+ 3;193,179,165,
+ 3;193,165,192,
+ 3;188,179,193,
+ 3;188,193,189,
+ 3;156,86,157,
+ 3;156,157,155,
+ 3;194,196,154,
+ 3;194,154,195,
+ 3;86,192,169,
+ 3;86,169,157,
+ 3;169,192,168,
+ 3;149,174,175,
+ 3;149,175,176,
+ 3;151,198,197,
+ 3;151,197,150,
+ 3;199,201,200,
+ 3;199,200,173,
+ 3;83,203,202,
+ 3;83,202,145,
+ 3;86,149,193,
+ 3;86,193,192,
+ 3;193,149,176,
+ 3;193,176,191,
+ 3;193,191,189,
+ 3;204,205,32,
+ 3;204,32,31,
+ 3;35,34,33,
+ 3;35,33,30,
+ 3;39,36,37,
+ 3;39,37,38,
+ 3;36,39,40,
+ 3;36,40,41,
+ 3;29,26,42,
+ 3;29,42,43,
+ 3;42,43,44,
+ 3;42,44,45,
+ 3;45,44,46,
+ 3;45,46,47,
+ 3;51,48,49,
+ 3;51,49,50,
+ 3;50,49,52,
+ 3;50,52,53,
+ 3;57,54,55,
+ 3;57,55,56,
+ 3;206,207,93,
+ 3;206,93,94,
+ 3;97,96,92,
+ 3;97,92,95,
+ 3;101,98,99,
+ 3;101,99,100,
+ 3;98,101,102,
+ 3;98,102,103,
+ 3;91,88,104,
+ 3;91,104,105,
+ 3;104,105,106,
+ 3;104,106,107,
+ 3;107,106,108,
+ 3;107,108,109,
+ 3;113,110,111,
+ 3;113,111,112,
+ 3;112,111,114,
+ 3;112,114,115,
+ 3;119,116,117,
+ 3;119,117,118,
+ 3;154,152,153,
+ 3;155,81,157,
+ 3;173,171,172,
+ 3;140,174,175,
+ 3;140,175,142,
+ 3;179,187,188,
+
+ MeshMaterialList {
+ 4;
+ 236;
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 3,
+ 3,
+ 3,
+ 3,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 2,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3;
+
+ Material {
+ 0.000000;0.000000;0.000000;1.0;;
+ 100.000000;;
+ 0.000000;0.000000;0.000000;;
+ 0.049988;0.099976;0.199982;;
+ }
+ Material {
+ 0.599976;0.649994;0.699982;1.0;;
+ 8.000000;;
+ 0.699982;0.699982;0.699982;;
+ 0.000000;0.000000;0.000000;;
+ TextureFilename {
+ "media\\mecha1.bmp";
+ }
+ }
+ Material {
+ 0.349976;0.349976;0.349976;1.0;;
+ 8.000000;;
+ 0.699982;0.699982;0.699982;;
+ 0.000000;0.000000;0.000000;;
+ TextureFilename {
+ "media\\mecha1.bmp";
+ }
+ }
+ Material {
+ 0.899994;0.949982;1.000000;1.0;;
+ 8.000000;;
+ 0.699982;0.699982;0.699982;;
+ 0.000000;0.000000;0.000000;;
+ TextureFilename {
+ "media\\mecha1.bmp";
+ }
+ }
+ }
+
+ MeshNormals {
+ 116;
+ 0.000000;0.000000;1.000000;,
+ -0.706250;-0.689826;0.159219;,
+ -0.944234;-0.284769;0.165314;,
+ 0.942381;-0.298421;-0.151203;,
+ 0.701503;-0.701503;-0.125642;,
+ 0.423486;-0.899253;-0.109558;,
+ 0.270127;0.953388;-0.134470;,
+ 0.279092;-0.955202;0.098477;,
+ 0.671803;-0.727786;0.137870;,
+ 0.958038;-0.225421;0.177056;,
+ 0.957331;0.215736;0.192291;,
+ -0.694683;-0.694683;-0.186631;,
+ 0.255209;0.953676;0.159280;,
+ -0.282654;0.952099;0.116681;,
+ 0.210105;-0.930465;0.300150;,
+ 0.000000;-0.996815;0.079745;,
+ 0.230682;-0.962845;0.140415;,
+ -0.389475;-0.908774;0.149798;,
+ -0.350088;-0.810203;0.470118;,
+ -0.740370;-0.650325;0.170085;,
+ -0.638692;-0.558856;0.528917;,
+ 0.205261;0.898018;0.389141;,
+ -0.419960;0.834860;0.355869;,
+ -0.650124;-0.748034;0.133354;,
+ -0.706250;0.689826;-0.159219;,
+ 0.944234;-0.284769;0.165314;,
+ 0.942381;0.298421;0.151203;,
+ 0.701503;0.701503;0.125642;,
+ 0.423486;0.899253;0.109558;,
+ 0.270127;-0.953388;0.134470;,
+ 0.279092;0.955202;-0.098477;,
+ 0.671803;0.727786;-0.137870;,
+ 0.958038;0.225421;-0.177056;,
+ 0.957331;-0.215736;-0.192291;,
+ -0.694683;0.694683;0.186631;,
+ -0.255209;0.953676;0.159280;,
+ 0.282654;0.952099;0.116681;,
+ -0.210105;-0.930465;0.300150;,
+ -0.230682;-0.962845;0.140415;,
+ 0.350088;-0.810203;0.470118;,
+ 0.389475;-0.908774;0.149798;,
+ 0.638692;-0.558856;0.528917;,
+ 0.740370;-0.650325;0.170085;,
+ 0.000000;0.917556;0.397607;,
+ -0.205261;0.898018;0.389141;,
+ 0.419960;0.834860;0.355869;,
+ 0.000000;-0.986394;0.164399;,
+ 0.000000;-0.894427;0.447214;,
+ 0.650124;-0.748034;0.133354;,
+ 0.000000;0.707107;0.707107;,
+ 0.806679;-0.590253;0.029513;,
+ 0.452309;-0.890913;0.041119;,
+ 0.274649;-0.961272;0.022887;,
+ 0.110409;-0.993683;-0.020074;,
+ -0.522303;-0.823632;-0.220974;,
+ -0.359246;-0.848221;-0.389184;,
+ -0.680374;-0.620341;-0.390215;,
+ -0.379299;-0.868395;-0.319410;,
+ -0.710782;-0.640705;-0.290320;,
+ -0.248166;-0.954485;0.165444;,
+ 0.000000;-0.977323;0.211753;,
+ 0.264392;-0.949783;0.167360;,
+ 0.274089;-0.961090;0.034372;,
+ 0.806679;0.590253;-0.029513;,
+ -0.452309;-0.890913;0.041119;,
+ -0.274649;-0.961272;0.022887;,
+ 0.379299;-0.868395;-0.319410;,
+ 0.359246;-0.848221;-0.389184;,
+ 0.320610;-0.931772;-0.170324;,
+ -0.975668;0.219027;-0.009956;,
+ 0.975668;-0.219027;0.009956;,
+ 0.680374;-0.620341;-0.390215;,
+ 0.710782;-0.640705;-0.290320;,
+ 0.248166;-0.954485;0.165444;,
+ -0.264392;-0.949783;0.167360;,
+ -0.274089;-0.961090;0.034372;,
+ 0.000000;0.941742;-0.336336;,
+ 0.389775;0.883489;-0.259850;,
+ 0.000000;0.910366;-0.413803;,
+ -0.389775;0.883489;-0.259850;,
+ -0.453633;0.887542;0.080536;,
+ -0.825461;0.563590;0.031311;,
+ -0.455186;0.888594;-0.056626;,
+ -0.473879;0.829288;-0.296174;,
+ 0.453633;0.887542;0.080536;,
+ 0.000000;0.998053;-0.062378;,
+ 0.825461;0.563590;0.031311;,
+ 0.000000;0.576683;-0.816968;,
+ 0.000000;0.992833;-0.119508;,
+ 0.455186;0.888594;-0.056626;,
+ 0.473879;0.829288;-0.296174;,
+ 0.706250;0.689826;-0.159219;,
+ -0.942381;0.298421;0.151203;,
+ -0.701503;0.701503;0.125642;,
+ -0.423486;0.899253;0.109558;,
+ -0.270127;-0.953388;0.134470;,
+ -0.279092;0.955202;-0.098477;,
+ -0.671803;0.727786;-0.137870;,
+ -0.958038;0.225421;-0.177056;,
+ -0.957331;-0.215736;-0.192291;,
+ 0.694683;0.694683;0.186631;,
+ 0.706250;-0.689826;0.159219;,
+ -0.942381;-0.298421;-0.151203;,
+ -0.701503;-0.701503;-0.125642;,
+ -0.423486;-0.899253;-0.109558;,
+ -0.270127;0.953388;-0.134470;,
+ -0.279092;-0.955202;0.098477;,
+ -0.671803;-0.727786;0.137870;,
+ -0.958038;-0.225421;0.177056;,
+ -0.957331;0.215736;0.192291;,
+ 0.694683;-0.694683;-0.186631;,
+ -0.806679;0.590253;-0.029513;,
+ -0.274649;0.961272;-0.022887;,
+ -0.806679;-0.590253;0.029513;,
+ 0.452309;0.890913;-0.041119;,
+ -0.248166;0.954485;-0.165444;;
+
+ 236;
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;1,1,1;,
+ 3;1,1,1;,
+ 3;2,2,2;,
+ 3;2,2,2;,
+ 3;3,3,3;,
+ 3;3,3,3;,
+ 3;4,4,4;,
+ 3;4,4,4;,
+ 3;5,5,5;,
+ 3;5,5,5;,
+ 3;6,6,6;,
+ 3;6,6,6;,
+ 3;7,7,7;,
+ 3;7,7,7;,
+ 3;8,8,8;,
+ 3;8,8,8;,
+ 3;9,9,9;,
+ 3;9,9,9;,
+ 3;10,10,10;,
+ 3;10,10,10;,
+ 3;11,11,11;,
+ 3;11,11,11;,
+ 3;12,12,12;,
+ 3;12,12,12;,
+ 3;13,13,13;,
+ 3;13,13,13;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;14,14,16,
+ 3;14,16,15,
+ 3;14,18,17,
+ 3;14,17,16,
+ 3;18,20,19,
+ 3;18,19,17,
+ 3;21,21,21;,
+ 3;21,21,21;,
+ 3;22,22,22;,
+ 3;22,22,22;,
+ 3;0,0,0;,
+ 3;23,23,23;,
+ 3;23,23,23;,
+ 3;24,24,24;,
+ 3;24,24,24;,
+ 3;25,25,25;,
+ 3;25,25,25;,
+ 3;26,26,26;,
+ 3;26,26,26;,
+ 3;27,27,27;,
+ 3;27,27,27;,
+ 3;28,28,28;,
+ 3;28,28,28;,
+ 3;29,29,29;,
+ 3;29,29,29;,
+ 3;30,30,30;,
+ 3;30,30,30;,
+ 3;31,31,31;,
+ 3;31,31,31;,
+ 3;32,32,32;,
+ 3;32,32,32;,
+ 3;33,33,33;,
+ 3;33,33,33;,
+ 3;34,34,34;,
+ 3;34,34,34;,
+ 3;35,35,35;,
+ 3;35,35,35;,
+ 3;36,36,36;,
+ 3;36,36,36;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;15,37,14,
+ 3;15,14,15,
+ 3;37,37,15,
+ 3;37,15,38,
+ 3;39,37,38,
+ 3;39,38,40,
+ 3;41,39,40,
+ 3;41,40,42,
+ 3;43,43,43;,
+ 3;43,43,43;,
+ 3;44,44,44;,
+ 3;44,44,44;,
+ 3;45,45,45;,
+ 3;45,45,45;,
+ 3;0,0,0;,
+ 3;46,46,46;,
+ 3;46,46,46;,
+ 3;47,47,47;,
+ 3;47,47,47;,
+ 3;48,48,48;,
+ 3;48,48,48;,
+ 3;49,49,49;,
+ 3;49,49,49;,
+ 3;50,50,50;,
+ 3;51,51,51;,
+ 3;51,51,51;,
+ 3;52,52,52;,
+ 3;15,16,53,
+ 3;53,16,17,
+ 3;53,17,54,
+ 3;55,57,56,
+ 3;57,54,58,
+ 3;57,58,56,
+ 3;54,17,19,
+ 3;54,19,58,
+ 3;59,59,59;,
+ 3;60,60,60;,
+ 3;61,61,61;,
+ 3;61,61,61;,
+ 3;62,62,62;,
+ 3;62,62,62;,
+ 3;63,63,63;,
+ 3;64,64,64;,
+ 3;64,64,64;,
+ 3;65,65,65;,
+ 3;57,55,67,
+ 3;57,67,66,
+ 3;54,57,66,
+ 3;54,66,68,
+ 3;38,15,69,
+ 3;15,53,70,
+ 3;15,70,15,
+ 3;70,53,54,
+ 3;70,54,68,
+ 3;38,70,68,
+ 3;38,68,40,
+ 3;66,67,71,
+ 3;68,66,71,
+ 3;68,71,72,
+ 3;40,68,72,
+ 3;40,72,42,
+ 3;73,73,73;,
+ 3;60,60,60;,
+ 3;74,74,74;,
+ 3;74,74,74;,
+ 3;75,75,75;,
+ 3;75,75,75;,
+ 3;76,76,76;,
+ 3;77,77,77;,
+ 3;78,78,78;,
+ 3;78,78,78;,
+ 3;79,79,79;,
+ 3;76,76,76;,
+ 3;80,80,80;,
+ 3;80,80,80;,
+ 3;81,81,81;,
+ 3;81,81,81;,
+ 3;82,82,82;,
+ 3;82,82,82;,
+ 3;83,83,83;,
+ 3;84,84,84;,
+ 3;84,84,84;,
+ 3;85,85,85;,
+ 3;85,85,85;,
+ 3;86,86,86;,
+ 3;86,86,86;,
+ 3;87,87,87;,
+ 3;87,87,87;,
+ 3;88,88,88;,
+ 3;88,88,88;,
+ 3;89,89,89;,
+ 3;89,89,89;,
+ 3;90,90,90;,
+ 3;91,91,91;,
+ 3;91,91,91;,
+ 3;92,92,92;,
+ 3;92,92,92;,
+ 3;93,93,93;,
+ 3;93,93,93;,
+ 3;94,94,94;,
+ 3;94,94,94;,
+ 3;95,95,95;,
+ 3;95,95,95;,
+ 3;96,96,96;,
+ 3;96,96,96;,
+ 3;97,97,97;,
+ 3;97,97,97;,
+ 3;98,98,98;,
+ 3;98,98,98;,
+ 3;99,99,99;,
+ 3;99,99,99;,
+ 3;100,100,100;,
+ 3;100,100,100;,
+ 3;101,101,101;,
+ 3;101,101,101;,
+ 3;102,102,102;,
+ 3;102,102,102;,
+ 3;103,103,103;,
+ 3;103,103,103;,
+ 3;104,104,104;,
+ 3;104,104,104;,
+ 3;105,105,105;,
+ 3;105,105,105;,
+ 3;106,106,106;,
+ 3;106,106,106;,
+ 3;107,107,107;,
+ 3;107,107,107;,
+ 3;108,108,108;,
+ 3;108,108,108;,
+ 3;109,109,109;,
+ 3;109,109,109;,
+ 3;110,110,110;,
+ 3;110,110,110;,
+ 3;111,111,111;,
+ 3;112,112,112;,
+ 3;113,113,113;,
+ 3;114,114,114;,
+ 3;114,114,114;,
+ 3;115,115,115;,
+ }
+
+ MeshTextureCoords {
+ 208;
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.756863;0.670588;,
+ 0.780392;0.670588;,
+ 0.760784;0.756863;,
+ 0.745098;0.756863;,
+ 0.756863;0.756863;,
+ 0.756863;0.823529;,
+ 0.670588;0.847059;,
+ 0.670588;0.764706;,
+ 0.670588;0.686275;,
+ 0.756863;0.694118;,
+ 0.756863;0.670588;,
+ 0.780392;0.670588;,
+ 0.760784;0.756863;,
+ 0.745098;0.756863;,
+ 0.674510;0.756863;,
+ 0.670588;0.670588;,
+ 0.729412;0.670588;,
+ 0.717647;0.756863;,
+ 0.619608;0.756863;,
+ 0.603922;0.670588;,
+ 0.600000;0.756863;,
+ 0.576471;0.670588;,
+ 0.756863;0.760784;,
+ 0.756863;0.690196;,
+ 0.670588;0.678431;,
+ 0.670588;0.768627;,
+ 0.756863;0.615686;,
+ 0.670588;0.584314;,
+ 0.615686;0.756863;,
+ 0.600000;0.756863;,
+ 0.576471;0.670588;,
+ 0.600000;0.670588;,
+ 0.635294;0.670588;,
+ 0.647059;0.756863;,
+ 0.454902;0.517647;,
+ 0.443137;0.784314;,
+ 0.333333;0.925490;,
+ 0.239216;0.925490;,
+ 0.164706;0.713725;,
+ 0.360784;0.462745;,
+ 0.552941;0.670588;,
+ 0.552941;0.611765;,
+ 0.666667;0.611765;,
+ 0.666667;0.670588;,
+ 0.803922;0.611765;,
+ 0.756863;0.670588;,
+ 0.670588;0.925490;,
+ 0.611765;1.000000;,
+ 0.611765;0.713725;,
+ 0.670588;0.713725;,
+ 0.635294;0.670588;,
+ 0.635294;0.611765;,
+ 0.541176;0.611765;,
+ 0.541176;0.670588;,
+ 0.831373;0.670588;,
+ 0.901961;0.611765;,
+ 0.360784;0.368627;,
+ 0.388235;0.270588;,
+ 0.454902;0.427451;,
+ 0.533333;0.960784;,
+ 0.607843;0.611765;,
+ 0.552941;1.000000;,
+ 0.239216;0.670588;,
+ 0.215686;0.670588;,
+ 0.235294;0.756863;,
+ 0.250980;0.756863;,
+ 0.670588;0.764706;,
+ 0.670588;0.847059;,
+ 0.756863;0.823529;,
+ 0.756863;0.756863;,
+ 0.670588;0.686275;,
+ 0.756863;0.694118;,
+ 0.239216;0.670588;,
+ 0.215686;0.670588;,
+ 0.235294;0.756863;,
+ 0.250980;0.756863;,
+ 0.321569;0.756863;,
+ 0.325490;0.670588;,
+ 0.266667;0.670588;,
+ 0.278431;0.756863;,
+ 0.376471;0.756863;,
+ 0.392157;0.670588;,
+ 0.400000;0.756863;,
+ 0.419608;0.670588;,
+ 0.756863;0.760784;,
+ 0.756863;0.690196;,
+ 0.670588;0.678431;,
+ 0.670588;0.768627;,
+ 0.756863;0.615686;,
+ 0.670588;0.584314;,
+ 0.380392;0.756863;,
+ 0.400000;0.756863;,
+ 0.419608;0.670588;,
+ 0.396078;0.670588;,
+ 0.349020;0.756863;,
+ 0.360784;0.670588;,
+ 0.635294;0.462745;,
+ 0.831373;0.713725;,
+ 0.756863;0.925490;,
+ 0.666667;0.925490;,
+ 0.552941;0.784314;,
+ 0.541176;0.517647;,
+ 0.443137;0.611765;,
+ 0.443137;0.670588;,
+ 0.333333;0.670588;,
+ 0.333333;0.611765;,
+ 0.239216;0.670588;,
+ 0.192157;0.611765;,
+ 0.670588;0.713725;,
+ 0.611765;0.713725;,
+ 0.611765;1.000000;,
+ 0.670588;0.925490;,
+ 0.454902;0.670588;,
+ 0.454902;0.611765;,
+ 0.360784;0.611765;,
+ 0.360784;0.670588;,
+ 0.094118;0.611765;,
+ 0.164706;0.670588;,
+ 0.541176;0.427451;,
+ 0.607843;0.270588;,
+ 0.635294;0.368627;,
+ 0.462745;0.960784;,
+ 0.443137;1.000000;,
+ 0.388235;0.611765;,
+ 0.517647;0.960784;,
+ 0.478431;0.960784;,
+ 0.611765;0.368627;,
+ 0.729412;0.349020;,
+ 0.611765;0.270588;,
+ 0.913725;0.729412;,
+ 0.635294;0.729412;,
+ 1.000000;0.611765;,
+ 0.552941;0.384314;,
+ 0.713725;0.305882;,
+ 0.054902;0.784314;,
+ 0.113725;0.690196;,
+ 0.113725;0.854902;,
+ 0.305882;0.670588;,
+ 0.305882;0.890196;,
+ 0.552941;0.054902;,
+ 0.607843;0.000000;,
+ 0.635294;0.113725;,
+ 0.666667;0.000000;,
+ 0.941176;0.305882;,
+ 0.788235;0.305882;,
+ 0.611765;0.368627;,
+ 0.729412;0.349020;,
+ 0.611765;0.270588;,
+ 0.360784;0.729412;,
+ 0.082353;0.729412;,
+ 0.000000;0.611765;,
+ 0.580392;0.113725;,
+ 0.415686;0.113725;,
+ 0.443137;0.054902;,
+ 0.282353;0.305882;,
+ 0.443137;0.384314;,
+ 0.113725;0.854902;,
+ 0.113725;0.690196;,
+ 0.054902;0.784314;,
+ 0.305882;0.890196;,
+ 0.305882;0.670588;,
+ 0.360784;0.113725;,
+ 0.388235;0.000000;,
+ 0.333333;0.000000;,
+ 0.207843;0.305882;,
+ 0.054902;0.305882;,
+ 0.666667;0.266667;,
+ 0.333333;0.266667;,
+ 0.960784;0.000000;,
+ 1.000000;0.141176;,
+ 0.650980;0.070588;,
+ 0.552941;0.650980;,
+ 0.443137;0.650980;,
+ 0.650980;0.070588;,
+ 1.000000;0.141176;,
+ 0.960784;0.000000;,
+ 0.552941;0.070588;,
+ 0.443137;0.070588;,
+ 0.756863;0.870588;,
+ 0.670588;0.905882;,
+ 0.756863;0.870588;,
+ 0.670588;0.905882;;
+ }
+}
--- /dev/null
+0 Reset
+0 SetRestartPosition
+0 SetScrollSpeed 1
+56 SetEnemy 0 0 166 -28 0.5
+80 SetEnemy 0 0 166 -28 0.5
+104 SetEnemy 0 0 166 -28 0.5
+144 SetEnemy 0 0 481 -25 0.5
+168 SetEnemy 0 0 481 -25 0.5
+192 SetEnemy 0 0 481 -25 0.5
+216 SetEnemy 0 0 481 -25 0.5
+240 SetEnemy 0 0 481 -25 0.5
+280 SetEnemy 0 0 316 -26 0.5
+304 SetEnemy 0 0 316 -26 0.5
+328 SetEnemy 0 0 316 -26 0.5
+328 SetArmy 0 0 257 -22 0.5
+352 SetEnemy 0 0 316 -26 0.5
+376 SetEnemy 0 0 316 -26 0.5
+392 SetEnemy 0 0 483 -25 0.5
+408 SetEnemy 0 0 483 -25 0.5
+424 SetEnemy 0 0 483 -25 0.5
+440 SetEnemy 0 0 483 -25 0.5
+456 SetEnemy 0 0 483 -25 0.5
+472 SetEnemy 0 0 483 -25 0.5
+488 SetEnemy 0 0 482 -27 0.5
+496 SetEnemy 0 0 482 -27 0.5
+544 SetEnemy 0 0 147 -29 0.5
+560 SetEnemy 0 0 147 -29 0.5
+592 SetEnemy 0 0 479 -27 0.5
+608 SetEnemy 0 0 479 -27 0.5
+632 SetEnemy 0 0 155 -26 0.5
+648 SetEnemy 0 0 477 -26 0.5
+664 SetEnemy 0 0 154 -27 0.5
+680 SetEnemy 0 0 154 -29 0.5
+696 SetEnemy 0 0 312 -27 0.5
+712 SetEnemy 0 0 312 -27 0.5
+728 SetEnemy 0 0 312 -27 0.5
+800 SetEnemy 0 1 157 -27 0.5
+800 SetEnemy 0 1 206 -27 0.5
+800 SetEnemy 0 1 257 -26 0.5
+824 SetEnemy 0 1 389 -25 0.3
+824 SetEnemy 0 1 442 -24 0.3
+824 SetEnemy 0 1 491 -25 0.3
+872 SetEnemy 0 1 259 -27 0.3
+872 SetEnemy 0 1 310 -28 0.3
+872 SetEnemy 0 1 359 -28 0.3
+928 SetEnemy 0 1 147 -27 0.3
+928 SetEnemy 0 1 199 -27 0.3
+928 SetEnemy 0 1 254 -27 0.3
+928 SetEnemy 0 1 495 -32 0.3
+976 SetEnemy 0 0 451 -28 0.3
+976 SetEnemy 0 0 498 -28 0.3
+976 SetEnemy 0 1 149 -31 0.3
+976 SetEnemy 0 1 201 -33 0.3
+1157 SetArmy 0 0 176 -52 0.8
+1157 SetArmy 0 0 224 -51 0.8
+1157 SetEnemy 0 1 477 -32 0.3
+1181 SetEnemy 0 1 476 -31 0.3
+1205 SetEnemy 0 1 476 -31 0.3
+1229 SetEnemy 0 1 476 -31 0.3
+1253 SetEnemy 0 1 476 -31 0.3
+1253 SetEnemy 0 0 152 -32 0.3
+1269 SetEnemy 0 0 152 -32 0.3
+1285 SetEnemy 0 0 152 -32 0.3
+1301 SetEnemy 0 0 152 -32 0.3
+1317 SetEnemy 0 0 152 -32 0.3
+1347 SetEnemy 0 0 341 -26 0.3
+1363 SetEnemy 0 0 341 -26 0.3
+1379 SetEnemy 0 0 341 -26 0.3
+1395 SetEnemy 0 0 341 -26 0.3
+1411 SetEnemy 0 0 341 -26 0.3
+1622 SetArmy 0 0 504 -38 0.8
+1928 SetArmy 0 0 398 -33 0.8
+1928 SetArmy 0 0 149 -32 0.8
+1928 SetArmy 0 0 212 -33 0.8
+2024 SetArmy 0 0 251 -34 0.8
\ No newline at end of file
--- /dev/null
+8
+media\\stage0.png
+64 64 0 0 0xff000000
+media\\stage1.png
+64 64 0 0 0xff000000
+media\\stage2.png
+64 64 0 0 0xff000000
+media\\stage3.png
+64 64 0 0 0xff000000
+media\\stage4.png
+64 64 0 0 0xff000000
+media\\stage5.png
+64 64 0 0 0xff000000
+media\\stage6.png
+64 64 0 0 0xff000000
+media\\stage7.png
+64 64 0 0 0xff000000
+8 128
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x4
+0x1 0x1 0x1 0x9 0xa 0xb 0xc 0x3
+0x1 0x1 0x1 0x5 0x6 0x7 0x8 0x2
+0x1 0x1 0x1 0x1 0xd 0xe 0xf 0x10
+0x1 0x1 0x1 0x1 0x1 0x70003 0x70004 0x70007
+0x1 0x1 0x1 0x1 0x1000d 0x1000e 0x1000f 0x10010
+0x1 0x1 0x20005 0x20006 0x10009 0x1000a 0x1000b 0x1000c
+0x1 0x1 0x20001 0x20002 0x10005 0x10006 0x10007 0x10008
+0x1 0x1 0x1 0x1 0x1 0x1 0x20007 0x10004
+0x1 0x1 0x1 0x1 0x1 0x1 0x20003 0x20004
+0x1 0x1 0x1 0x1 0x1 0x1 0x20009 0x2000a
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x4
+0x1 0x2000f 0x20010 0x1 0x1 0x1 0x1 0x4
+0x1 0x2000b 0x2000c 0x2000e 0x1 0x1 0x1 0x4
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x4
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x4
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x4
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x4
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x4
+0x1 0x1 0x1 0x1 0x1 0x1 0x2000f 0x20010
+0x1 0x1 0x1 0x1 0x1 0x1 0x2000b 0x2000c
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x5
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x5
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x5
+0x3000d 0x3000e 0x3000f 0x30010 0x30005 0x30006 0x30007 0x5
+0x30009 0x3000a 0x3000b 0x3000c 0x30001 0x30002 0x30003 0x30004
+0x4000d 0x4000e 0x4000f 0x40010 0x40005 0x40006 0x40007 0x40008
+0x40009 0x4000a 0x4000b 0x4000c 0x1 0x40002 0x40003 0x1
+0x5000d 0x5000e 0x5000f 0x50010 0x1 0x1 0x1 0x1
+0x50009 0x5000a 0x5000b 0x5000c 0x6000d 0x6000e 0x6000f 0x60010
+0x50005 0x50006 0x50007 0x50008 0x60009 0x6000a 0x6000b 0x6000c
+0x50001 0x50002 0x1 0x60005 0x60006 0x60007 0x60008 0x1
+0x50003 0x1 0x1 0x1 0x60001 0x60002 0x60003 0x60004
+0x50004 0x1 0x7000e 0x7000f 0x70010 0x70005 0x70006 0x1
+0x1 0x70009 0x7000a 0x7000b 0x7000c 0x70001 0x70002 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x30005 0x30006 0x30007 0x1 0x1 0x1 0x1 0x1
+0x30001 0x30002 0x30003 0x30004 0x1 0x1 0x1 0x1
+0x40005 0x40006 0x40007 0x40008 0x1 0x1 0x1 0x1
+0x1 0x40002 0x40003 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x9
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x9
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x9
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x4 0x1 0x1 0x9
+0x9 0xa 0xb 0xc 0x3 0x3000d 0x3000e 0x3000f
+0x5 0x6 0x7 0x8 0x2 0x30009 0x3000a 0x3000b
+0x1 0xd 0xe 0xf 0x10 0x4000d 0x4000e 0x4000f
+0x1 0x1 0x70003 0x70004 0x70007 0x40009 0x4000a 0x4000b
+0x1 0x1000d 0x1000e 0x1000f 0x10010 0x5000d 0x5000e 0x5000f
+0x20006 0x10009 0x1000a 0x1000b 0x1000c 0x50009 0x5000a 0x5000b
+0x20002 0x10005 0x10006 0x10007 0x10008 0x50005 0x50006 0x50007
+0x1 0x1 0x1 0x10003 0x10004 0x50001 0x50002 0x1
+0x1 0x1 0x1 0x20003 0x20004 0x50003 0x1 0x1
+0x1 0x1 0x1 0x20009 0x2000a 0x50004 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x6000d 0x6000e 0x6000f 0x60010 0x1 0x1 0x1 0xc
+0x60009 0x6000a 0x6000b 0x6000c 0x1 0x1 0x1 0xc
+0x60006 0x60007 0x60008 0x1 0x1 0x1 0x1 0xc
+0x60001 0x60002 0x60003 0x60004 0x1 0x1 0x1 0xd
+0x70010 0x70005 0x70006 0x1 0x1 0x1 0x1 0xd
+0x7000c 0x70001 0x70002 0x1 0x1 0x1 0x1 0xd
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0xd
+0x1 0x1 0x4 0x1 0x1 0x1 0x1 0xd
+0xb 0xc 0x3 0x3000d 0x3000e 0x3000f 0x30010 0xd
+0x8 0x8 0x2 0x30009 0x3000a 0x3000b 0x3000c 0x30001
+0xe 0xf 0x10 0x4000d 0x4000e 0x4000f 0x40010 0x40005
+0x70003 0x70004 0x70007 0x40009 0x4000a 0x4000b 0x4000c 0x1
+0x1000e 0x1000f 0x10010 0x5000d 0x5000e 0x5000f 0x50010 0x1
+0x1000a 0x1000b 0x1000c 0x50009 0x5000a 0x5000b 0x5000c 0x6000d
+0x10006 0x10007 0x10008 0x50005 0x50006 0x50007 0x50008 0x60009
+0x1 0x20007 0x20008 0x50001 0x50002 0x1 0x60005 0x60006
+0x1 0x20003 0x20004 0x50003 0x1 0x1 0x1 0x1
+0x1 0x20009 0x2000a 0x50004 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1
+0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
--- /dev/null
+0 Reset
+0 SetRestartPosition
+0 SetScrollSpeed 1
\ No newline at end of file
--- /dev/null
+<?xml version='1.0' encoding='ISO-8859-1' standalone='yes'?>
+<doxygen>
+ <compounddef id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite" kind="class">
+ <compoundname>sf::system::console::sprite::AbstractSprite</compoundname>
+ <basecompoundref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite" prot="public" virt="non-virtual"/>
+ <derivedcompoundref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite2D" prot="public" virt="non-virtual"/>
+ <derivedcompoundref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite3D" prot="public" virt="non-virtual"/>
+ <derivedcompoundref idref="classsf_1_1system_1_1console_1_1sprite_1_1SpriteMesh" prot="public" virt="non-virtual"/>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>AbstractSprite</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="47" bodystart="71" bodyend="87"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1a1" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~AbstractSprite</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="48" bodystart="89" bodyend="92"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1a2" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>initialize</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="50"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1a3" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>initialize</name>
+ <param>
+ <type>LPDIRECT3DDEVICE8</type>
+ <declname>pD3DDevice</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="51"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1a4" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>uninitialize</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="52"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1a5" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>load</name>
+ <param>
+ <type>const <ref idref="structsf_1_1system_1_1console_1_1sprite_1_1Info">sprite::Info</ref> *</type>
+ <declname>pInfo</declname>
+ </param>
+ <param>
+ <type>const D3DFORMAT</type>
+ <declname>textureFormat</declname>
+ </param>
+ <param>
+ <type>const COLOR</type>
+ <declname>color</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="55"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1a6" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>setRenderState</name>
+ <param>
+ <type>const <ref idref="namespacesf_1_1system_1_1console_1a12">DrawMode</ref></type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="58" bodystart="95" bodyend="125"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1a7" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const bool</type>
+ <name>use</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="62" bodystart="62" bodyend="62"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1a8" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>use</name>
+ <param>
+ <type>const bool</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="63" bodystart="63" bodyend="63"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1a9" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>width</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="65" bodystart="65" bodyend="65"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1a10" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>width</name>
+ <param>
+ <type>const</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="66" bodystart="66" bodyend="66"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1a11" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>height</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="68" bodystart="68" bodyend="68"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1a12" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>height</name>
+ <param>
+ <type>const</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="69" bodystart="69" bodyend="69"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1a13" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>centerX</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="71" bodystart="71" bodyend="71"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1a14" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>centerX</name>
+ <param>
+ <type>const</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="72" bodystart="72" bodyend="72"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1a15" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>centerY</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="74" bodystart="74" bodyend="74"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1a16" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>centerY</name>
+ <param>
+ <type>const</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="75" bodystart="75" bodyend="75"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1a17" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const bool</type>
+ <name>isUsed</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="79" bodystart="79" bodyend="79"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="protected-attrib">
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1n0" virt="normal" prot="protected">
+ <type>bool</type>
+ <name>mbUse</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="82" bodystart="82" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1n1" virt="normal" prot="protected">
+ <type>LPDIRECT3DDEVICE8</type>
+ <name>mpD3DDevice</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="83" bodystart="83" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1n2" virt="normal" prot="protected">
+ <type>float</type>
+ <name>mWidth</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="85" bodystart="85" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1n3" virt="normal" prot="protected">
+ <type>float</type>
+ <name>mHeight</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="86" bodystart="86" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1n4" virt="normal" prot="protected">
+ <type>float</type>
+ <name>mCenterX</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="87" bodystart="87" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1n5" virt="normal" prot="protected">
+ <type>float</type>
+ <name>mCenterY</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="88" bodystart="88" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite_1n6" virt="normal" prot="protected">
+ <type><ref idref="namespacesf_1_1system_1_1console_1_1sprite_1a6">TYPE</ref></type>
+ <name>mType</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="90" bodystart="90" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inheritancegraph>
+ <node id="97">
+ <label>sf::system::console::sprite::Sprite2D</label>
+ <childnode id="95" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="98">
+ <label>sf::system::console::sprite::Sprite3D</label>
+ <childnode id="95" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="96">
+ <label>sf::system::console::sprite::Sprite</label>
+ <link id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite"/>
+ </node>
+ <node id="99">
+ <label>sf::system::console::sprite::SpriteMesh</label>
+ <childnode id="95" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="95">
+ <label>sf::system::console::sprite::AbstractSprite</label>
+ <childnode id="96" relation="public-inheritance">
+ </childnode>
+ </node>
+ </inheritancegraph>
+ <collaborationgraph>
+ <node id="101">
+ <label>sf::system::console::sprite::Sprite</label>
+ <link id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite"/>
+ </node>
+ <node id="100">
+ <label>sf::system::console::sprite::AbstractSprite</label>
+ <childnode id="101" relation="public-inheritance">
+ </childnode>
+ </node>
+ </collaborationgraph>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="45" bodystart="44" bodyend="92"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1console_1_1Background" kind="class">
+ <compoundname>sf::system::console::Background</compoundname>
+ <basecompoundref idref="classsf_1_1system_1_1console_1_1ObjRectangle" prot="public" virt="non-virtual"/>
+ <innerclass refid="classsf_1_1system_1_1console_1_1Background_1_1Map">sf::system::console::Background::Map</innerclass>
+ <sectiondef kind="public-type">
+ <memberdef kind="typedef" id="classsf_1_1system_1_1console_1_1Background_1s0" virt="normal" prot="public">
+ <type>std::vector< <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite">sprite::Sprite</ref> *></type>
+ <name>TextureList</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="43" bodystart="43" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="typedef" id="classsf_1_1system_1_1console_1_1Background_1s1" virt="normal" prot="public">
+ <type>std::vector< <ref idref="structsf_1_1system_1_1console_1_1sprite_1_1Info">sprite::Info</ref> ></type>
+ <name>TextureInfoList</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="44" bodystart="44" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="typedef" id="classsf_1_1system_1_1console_1_1Background_1s2" virt="normal" prot="public">
+ <type>std::vector< int ></type>
+ <name>MapData</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="45" bodystart="45" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Background_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>Background</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="47" bodystart="92" bodyend="127"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Background_1a1" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~Background</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="48" bodystart="129" bodyend="133"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Background_1a2" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>draw</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="50" bodystart="220" bodyend="332"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Background_1a3" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>offsetX</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="53" bodystart="53" bodyend="53"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Background_1a4" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>offsetX</name>
+ <param>
+ <type>const float</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="54" bodystart="54" bodyend="54"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Background_1a5" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>offsetY</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="56" bodystart="56" bodyend="56"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Background_1a6" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>offsetY</name>
+ <param>
+ <type>const float</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="58" bodystart="57" bodyend="60"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Background_1a7" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>unload</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="62" bodystart="136" bodyend="147"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Background_1a8" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>load</name>
+ <param>
+ <type>const char *const</type>
+ <declname>pMapFileName</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="63" bodystart="150" bodyend="217"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Background_1a9" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>setData</name>
+ <param>
+ <type>float</type>
+ <declname>screenX</declname>
+ </param>
+ <param>
+ <type>float</type>
+ <declname>screenY</declname>
+ </param>
+ <param>
+ <type><ref idref="namespacesf_1a0">DWORD</ref></type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="66" bodystart="419" bodyend="424"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Background_1a10" virt="normal" prot="public" const="no" volatile="no">
+ <type>bool</type>
+ <name>save</name>
+ <param>
+ <type>const char *</type>
+ <declname>pFileName</declname>
+ <defname>pMapFileName</defname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="67" bodystart="335" bodyend="416"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Background_1a11" virt="normal" prot="public" const="no" volatile="no">
+ <type>TextureList *</type>
+ <name>textureList</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="69" bodystart="69" bodyend="69"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Background_1a12" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>startOffsetX</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="85" bodystart="85" bodyend="85"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Background_1a13" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>startOffsetX</name>
+ <param>
+ <type>const float</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="86" bodystart="86" bodyend="86"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Background_1a14" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>startOffsetY</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="88" bodystart="88" bodyend="88"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Background_1a15" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>startOffsetY</name>
+ <param>
+ <type>const float</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="89" bodystart="89" bodyend="89"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Background_1a16" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const bool</type>
+ <name>edit</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="91" bodystart="91" bodyend="91"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Background_1a17" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>edit</name>
+ <param>
+ <type>const bool</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="92" bodystart="92" bodyend="92"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-attrib">
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1o0" virt="normal" prot="private">
+ <type>int</type>
+ <name>mMapWidth</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="95" bodystart="95" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1o1" virt="normal" prot="private">
+ <type>int</type>
+ <name>mMapHeight</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="95" bodystart="95" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1o2" virt="normal" prot="private">
+ <type>float</type>
+ <name>mOffsetYLimit</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="96" bodystart="96" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1o3" virt="normal" prot="private">
+ <type>float</type>
+ <name>mOffsetX</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="97" bodystart="97" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1o4" virt="normal" prot="private">
+ <type>float</type>
+ <name>mOffsetY</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="97" bodystart="97" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1o5" virt="normal" prot="private">
+ <type>float</type>
+ <name>mStartOffsetX</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="99" bodystart="99" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1o6" virt="normal" prot="private">
+ <type>float</type>
+ <name>mStartOffsetY</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="99" bodystart="99" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1o7" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbEdit</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="100" bodystart="100" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1o8" virt="normal" prot="private">
+ <type>int *</type>
+ <name>mpMap</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="101" bodystart="101" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1o9" virt="normal" prot="private">
+ <type>MapData</type>
+ <name>mMapData</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="102" bodystart="102" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1o10" virt="normal" prot="private">
+ <type>TextureList</type>
+ <name>mTextureList</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="103" bodystart="103" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1o11" virt="normal" prot="private">
+ <type>TextureInfoList</type>
+ <name>mTextureInfoList</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="104" bodystart="104" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1o12" virt="normal" prot="private">
+ <type><ref idref="classsf_1_1system_1_1console_1_1Console">Console</ref> *</type>
+ <name>mpConsole</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="105" bodystart="105" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1o13" virt="normal" prot="private">
+ <type>std::string</type>
+ <name>mFileName</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="106" bodystart="106" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1o14" virt="normal" prot="private">
+ <type><ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite">sf::system::console::sprite::Sprite</ref> *</type>
+ <name>mpBlankSprite</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="107" bodystart="107" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1o15" virt="normal" prot="private">
+ <type>sf::system::console::ObjQuadrangle</type>
+ <name>mObj</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="108" bodystart="108" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inheritancegraph>
+ <node id="105">
+ <label>sf::system::console::Obj</label>
+ </node>
+ <node id="102">
+ <label>sf::system::console::Background</label>
+ <childnode id="103" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="103">
+ <label>sf::system::console::ObjRectangle</label>
+ <childnode id="104" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="104">
+ <label>sf::system::console::Obj2D</label>
+ <childnode id="105" relation="public-inheritance">
+ </childnode>
+ </node>
+ </inheritancegraph>
+ <collaborationgraph>
+ <node id="109">
+ <label>sf::system::console::Obj</label>
+ </node>
+ <node id="111">
+ <label>sf::system::console::Console</label>
+ <link id="classsf_1_1system_1_1console_1_1Console"/>
+ </node>
+ <node id="110">
+ <label>sf::system::console::sprite::Sprite</label>
+ <link id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite"/>
+ </node>
+ <node id="113">
+ <label>sf::system::console::Vertex</label>
+ <link id="structsf_1_1system_1_1console_1_1Vertex"/>
+ </node>
+ <node id="112">
+ <label>sf::system::console::ObjQuadrangle</label>
+ <childnode id="108" relation="public-inheritance">
+ </childnode>
+ <childnode id="113" relation="usage">
+ <edgelabel>mVertex</edgelabel>
+ </childnode>
+ </node>
+ <node id="106">
+ <label>sf::system::console::Background</label>
+ <childnode id="107" relation="public-inheritance">
+ </childnode>
+ <childnode id="111" relation="usage">
+ <edgelabel>mpConsole</edgelabel>
+ </childnode>
+ <childnode id="112" relation="usage">
+ <edgelabel>mObj</edgelabel>
+ </childnode>
+ <childnode id="110" relation="usage">
+ <edgelabel>mpBlankSprite</edgelabel>
+ </childnode>
+ </node>
+ <node id="107">
+ <label>sf::system::console::ObjRectangle</label>
+ <childnode id="108" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="108">
+ <label>sf::system::console::Obj2D</label>
+ <childnode id="109" relation="public-inheritance">
+ </childnode>
+ <childnode id="109" relation="usage">
+ <edgelabel>mpNext</edgelabel>
+ <edgelabel>mpPrevious</edgelabel>
+ </childnode>
+ <childnode id="110" relation="usage">
+ <edgelabel>mpSprite</edgelabel>
+ </childnode>
+ </node>
+ </collaborationgraph>
+ <location file="J:/project/sfglib/BackGround.h" line="41" bodystart="40" bodyend="110"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1console_1_1Background_1_1Map" kind="class">
+ <compoundname>sf::system::console::Background::Map</compoundname>
+ <sectiondef kind="public-static-attrib">
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1_1Map_1p0" virt="normal" prot="public">
+ <type>const int</type>
+ <name>WIDTH</name>
+ <initializer> 8</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="73" bodystart="77" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1_1Map_1p1" virt="normal" prot="public">
+ <type>const int</type>
+ <name>HEIGHT_MAX</name>
+ <initializer> 64</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="74" bodystart="75" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1_1Map_1p2" virt="normal" prot="public">
+ <type>const int</type>
+ <name>CELL_SIZE</name>
+ <initializer> 64</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="75" bodystart="76" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1_1Map_1p3" virt="normal" prot="public">
+ <type>const int</type>
+ <name>CELL_TEX_COUNT_W</name>
+ <initializer> 4</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="76" bodystart="84" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1_1Map_1p4" virt="normal" prot="public">
+ <type>const int</type>
+ <name>CELL_TEX_COUNT_H</name>
+ <initializer> 4</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="77" bodystart="85" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1_1Map_1p5" virt="normal" prot="public">
+ <type>const int</type>
+ <name>DRAW_HEIGHT</name>
+ <initializer> 9</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="79" bodystart="79" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1_1Map_1p6" virt="normal" prot="public">
+ <type>const float</type>
+ <name>DRAW_START_X</name>
+ <initializer> 96.0f</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="80" bodystart="80" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1_1Map_1p7" virt="normal" prot="public">
+ <type>const float</type>
+ <name>DRAW_START_Y</name>
+ <initializer> 448.0f</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="81" bodystart="81" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Background_1_1Map_1p8" virt="normal" prot="public">
+ <type>const float</type>
+ <name>DRAW_CENTER_Y</name>
+ <initializer> 256.0f</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="82" bodystart="82" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="71" bodystart="71" bodyend="83"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1console_1_1Color" kind="class">
+ <compoundname>sf::system::console::Color</compoundname>
+ <innerclass refid="unionsf_1_1system_1_1console_1_1Color_1_1@0">sf::system::console::Color::@0</innerclass>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Color_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>Color</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="49" bodystart="49" bodyend="49"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Color_1a1" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>Color</name>
+ <param>
+ <type>COLOR</type>
+ <declname>color</declname>
+ </param>
+ <briefdescription>
+<para>
+\3\o\1\E\e\\81P\????I\81\922 *. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>xolor</parametername><parameterdescription><para>
+COLOR \81E??IAI </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="52" bodystart="52" bodyend="52"/>
+ <references id="Console_8h_1a1">COLOR</references>
+ <references id="classsf_1_1system_1_1console_1_1Color_1o6">mColor</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Color_1a2" virt="normal" prot="public" const="yes" volatile="no">
+ <type>COLOR</type>
+ <name>value</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+COLOR?IAI?o?e?e?D?1. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+COLOR\81E??IAI </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="55" bodystart="55" bodyend="55"/>
+ <references id="Console_8h_1a1">COLOR</references>
+ <references id="classsf_1_1system_1_1console_1_1Color_1o6">mColor</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Color_1a3" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>value</name>
+ <param>
+ <type>COLOR</type>
+ <declname>color</declname>
+ </param>
+ <briefdescription>
+<para>
+COLOR?o\\81â\A\E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>color</parametername><parameterdescription><para>
+COLOR\81E??IAI </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="58" bodystart="58" bodyend="58"/>
+ <references id="Console_8h_1a1">COLOR</references>
+ <references id="classsf_1_1system_1_1console_1_1Color_1o6">mColor</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Color_1a4" virt="normal" prot="public" const="yes" volatile="no">
+ <type>unsigned char</type>
+ <name>red</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+AO?IARE\81Ê?o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+AOARE\81Ê(0-255) </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="62" bodystart="62" bodyend="62"/>
+ <references id="classsf_1_1system_1_1console_1_1Color_1o6">mColor</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Color_1a5" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>red</name>
+ <param>
+ <type>unsigned char</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+<para>
+AO?IARE\81Ê?o\\81â\A\E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>value</parametername><parameterdescription><para>
+AOARE\81Ê(0-255) </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="65" bodystart="65" bodyend="65"/>
+ <references id="classsf_1_1system_1_1console_1_1Color_1o6">mColor</references>
+ <references id="classsf_1_1system_1_1console_1_1Color_1o5">value</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Color_1a6" virt="normal" prot="public" const="yes" volatile="no">
+ <type>unsigned char</type>
+ <name>blue</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+AA?IARE\81Ê?o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+AAARE\81Ê(0-255) </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="69" bodystart="69" bodyend="69"/>
+ <references id="classsf_1_1system_1_1console_1_1Color_1o6">mColor</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Color_1a7" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>blue</name>
+ <param>
+ <type>unsigned char</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+<para>
+AA?IARE\81Ê?o\\81â\A\E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>value</parametername><parameterdescription><para>
+AAARE\81Ê(0-255) </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="72" bodystart="72" bodyend="72"/>
+ <references id="classsf_1_1system_1_1console_1_1Color_1o6">mColor</references>
+ <references id="classsf_1_1system_1_1console_1_1Color_1o5">value</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Color_1a8" virt="normal" prot="public" const="yes" volatile="no">
+ <type>unsigned char</type>
+ <name>green</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+ID?IARE\81Ê?o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+IDARE\81Ê(0-255) </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="76" bodystart="76" bodyend="76"/>
+ <references id="classsf_1_1system_1_1console_1_1Color_1o6">mColor</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Color_1a9" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>green</name>
+ <param>
+ <type>unsigned char</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+<para>
+ID?IARE\81Ê?o\\81â\A\E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>value</parametername><parameterdescription><para>
+IDARE\81Ê(0-255) </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="79" bodystart="79" bodyend="79"/>
+ <references id="classsf_1_1system_1_1console_1_1Color_1o6">mColor</references>
+ <references id="classsf_1_1system_1_1console_1_1Color_1o5">value</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Color_1a10" virt="normal" prot="public" const="yes" volatile="no">
+ <type>unsigned char</type>
+ <name>alpha</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+ALPHA?IARE\81Ê?o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+ALPHAARE\81Ê(0-255) </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="83" bodystart="83" bodyend="83"/>
+ <references id="classsf_1_1system_1_1console_1_1Color_1o6">mColor</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Color_1a11" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>alpha</name>
+ <param>
+ <type>unsigned char</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+<para>
+ALPHA?IARE\81Ê?o\\81â\A\E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>value</parametername><parameterdescription><para>
+ALPHAARE\81Ê(0-255) </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="86" bodystart="86" bodyend="86"/>
+ <references id="classsf_1_1system_1_1console_1_1Color_1o6">mColor</references>
+ <references id="classsf_1_1system_1_1console_1_1Color_1o5">value</references>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-attrib">
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Color_1o0" virt="normal" prot="private">
+ <type>COLOR</type>
+ <name>value32</name>
+ <briefdescription>
+<para>
+ARGB?IAI(32bit). </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="92" bodystart="91" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Color_1o1" virt="normal" prot="private">
+ <type>unsigned char</type>
+ <name>blue</name>
+ <briefdescription>
+<para>
+AAARE\81Ê. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="95" bodystart="94" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Color_1o2" virt="normal" prot="private">
+ <type>unsigned char</type>
+ <name>green</name>
+ <briefdescription>
+<para>
+IDARE\81Ê. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="96" bodystart="95" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Color_1o3" virt="normal" prot="private">
+ <type>unsigned char</type>
+ <name>red</name>
+ <briefdescription>
+<para>
+AOARE\81Ê. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="97" bodystart="96" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Color_1o4" virt="normal" prot="private">
+ <type>unsigned char</type>
+ <name>alpha</name>
+ <briefdescription>
+<para>
+ALPHAARE\81Ê. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="98" bodystart="97" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Color_1o5" virt="normal" prot="private">
+ <type>sf::system::console::Color::@0::@1</type>
+ <name>value</name>
+ <briefdescription>
+<para>
+I\83ÊI?1?A?AI. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="98"/>
+ <referencedby id="Console_8h_1a11">alpha</referencedby>
+ <referencedby id="Console_8h_1a7">blue</referencedby>
+ <referencedby id="Console_8h_1a9">green</referencedby>
+ <referencedby id="Console_8h_1a5">red</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Color_1o6" virt="normal" prot="private">
+ <type>sf::system::console::Color::@0</type>
+ <name>mColor</name>
+ <briefdescription>
+<para>
+!!I\83ÊI?\81÷|INAI. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="100"/>
+ <referencedby id="Console_8h_1a10">alpha</referencedby>
+ <referencedby id="Console_8h_1a6">blue</referencedby>
+ <referencedby id="Console_8h_1a1">Color</referencedby>
+ <referencedby id="Console_8h_1a8">green</referencedby>
+ <referencedby id="Console_8h_1a4">red</referencedby>
+ <referencedby id="Console_8h_1a2">value</referencedby>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+RGB\\81á\e!??oAc\81Ca?1?e\\81P\e\1. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+32bit\\81á\e!??IAI?\81á?e!\81\913A?\81\98ARE\81Ê?o?e?e?D?\81E???e!\81\913A?\81\98ARE\81Ê?oAEIc?\81E?AAaoi?1?e???a?EoiAR?\83Ê?i??\\81P\e\1?C?1?\81Ê!\81\91?\81\91?T?e\81âE?i?i?A???T?\81â?o!\81\92 </para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="47" bodystart="47" bodyend="101"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1console_1_1Console" kind="class">
+ <compoundname>sf::system::console::Console</compoundname>
+ <derivedcompoundref idref="classsf_1_1system_1_1console_1_1ConsoleImpl" prot="public" virt="non-virtual"/>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Console_1a0" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~Console</name>
+ <briefdescription>
+<para>
+\C\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="237" bodystart="237" bodyend="237"/>
+ <references id="Console_8h_1a1">COLOR</references>
+ <references id="namespacesf_1_1system_1_1console_1a12a4">sf::system::console::DRAW_ADD</references>
+ <references id="namespacesf_1_1system_1_1console_1a12a5">sf::system::console::DRAW_ADD1</references>
+ <references id="namespacesf_1_1system_1_1console_1a12a7">sf::system::console::DRAW_INV</references>
+ <references id="namespacesf_1_1system_1_1console_1a12a8">sf::system::console::DRAW_MUL</references>
+ <references id="namespacesf_1_1system_1_1console_1a12a6">sf::system::console::DRAW_SHADOW</references>
+ <references id="namespacesf_1_1system_1_1console_1a12a3">sf::system::console::DRAW_TRANS</references>
+ <references id="Console_8h_1a12">sf::system::console::DrawMode</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Console_1a1" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>initialize</name>
+ <reimplementedby id="classsf_1_1system_1_1console_1_1ConsoleImpl_1a3">initialize</reimplementedby> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1console_1_1Console">Console</ref>p.\?\o\?!?\O\\81\98!?\1?I?e\81Lu2??o1O?| <ref idref="classsf_1_1system_1_1console_1_1Console">Console</ref>p. \?\o\?!?\O\\81\98!?\1?I?AAo\\81P\e\1?I?e\81Lu2??o1O?|???a?I2?AU\81LO?o?C!\81\91AI?i\\81\91\\81~\e\\81}!?\\81E\c\o?\81á?e\81CA?O?D?\83Ê?i?e?3?E?I?\81\91?e?T?\81â?o!\81\92. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="244"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Console_1a2" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>clearScreen</name>
+ <reimplementedby id="classsf_1_1system_1_1console_1_1ConsoleImpl_1a6">clearScreen</reimplementedby> <param>
+ <type>COLOR</type>
+ <declname>value</declname>
+ <defval>0x00000000</defval>
+ </param>
+ <briefdescription>
+<para>
+2eII?A\83Êi?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\1\\81P\e!?\o?o?A\83Êi?\81E?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>value</parametername><parameterdescription><para>
+AE?e?A?O?1?\81\98 </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="249"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Console_1a3" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>fillScreen</name>
+ <reimplementedby id="classsf_1_1system_1_1console_1_1ConsoleImpl_1a7">fillScreen</reimplementedby> <param>
+ <type>COLOR</type>
+ <declname>value</declname>
+ <defval>0x00000000</defval>
+ </param>
+ <briefdescription>
+<para>
+2eII?A\83Êi?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\1\\81P\e!?\o?o\81âOAe?\81\98?CAE?e?A?O?\81E?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>value</parametername><parameterdescription><para>
+AE?e?A?O?1?\81\98 </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="254"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Console_1a4" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>update</name>
+ <reimplementedby id="classsf_1_1system_1_1console_1_1ConsoleImpl_1a8">update</reimplementedby> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+2eII11?\81E?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+2eII11?\81E?o1O???T?1!\81\92 Windows?C?I!\81\91\D\A\\81P\D\A\O\!?\81á?e\\81~\e\?\T\e\\83Ê!?\O\\81\98!?\1?O?IA?A\81\80?o1O???T?1!\81\92 ?T??!\81\91\1\\81~\e\?\E?IEA2e!\81\91\A\-\1\E\D\A\O\!?EAsAN?\83Ê?i??E\81C\81âuIo?IEA2e?a?\81\91?i?\81â?A1O???T?1!\81\92 </para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="261"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Console_1a5" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>print</name>
+ <reimplementedby id="classsf_1_1system_1_1console_1_1ConsoleImpl_1a9">print</reimplementedby> <param>
+ <type>const int</type>
+ <declname>textureNo</declname>
+ </param>
+ <param>
+ <type>const float</type>
+ <declname>x</declname>
+ </param>
+ <param>
+ <type>const float</type>
+ <declname>y</declname>
+ </param>
+ <param>
+ <type>const float</type>
+ <declname>angleRad</declname>
+ </param>
+ <param>
+ <type>const float</type>
+ <declname>scale</declname>
+ </param>
+ <param>
+ <type>const COLOR</type>
+ <declname>color</declname>
+ </param>
+ <param>
+ <type>const char *</type>
+ <declname>format</declname>
+ </param>
+ <param>
+ <type>...</type>
+ </param>
+ <briefdescription>
+<para>
+\D\A\\81P\D\A\O\!?EAsciiE\81C\81âuIo?o\81âOAe?\81E??\A\\81P\1\A\a!?EO1a?CE??\81N?1?e!\81\92. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>textureNo</parametername><parameterdescription><para>
+\O\c\o\EIN\A\\81P\1\A\a?IEO1a <ref idref="namespacesf_1_1system_1_1console_1_1font_1a5">sf::system::console::font::FILE_PATH</ref>p. ?o\81â2?E </para>
+</parameterdescription><parametername>x</parametername><parameterdescription><para>
+E??\81N3\81á\81âIXoAE\81C </para>
+</parameterdescription><parametername>y</parametername><parameterdescription><para>
+E??\81N3\81á\81âIYoAE\81C </para>
+</parameterdescription><parametername>angleRad</parametername><parameterdescription><para>
+E??\81N3NAU?o\e\\81C\\81\91\o?C\81âOAe </para>
+</parameterdescription><parametername>scale</parametername><parameterdescription><para>
+3EAc?I?RI\81N </para>
+</parameterdescription><parametername>color</parametername><parameterdescription><para>
+E??\81N?\81\98 </para>
+</parameterdescription><parametername>format</parametername><parameterdescription><para>
+printf?I\O\c!?\T\A\EE\81C\81âuIo </para>
+</parameterdescription><parametername>...</parametername><parameterdescription><para>
+E??\81N?\81E????EN?oIo </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="273"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Console_1a6" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite">sprite::Sprite</ref> *const</type>
+ <name>createSprite</name>
+ <reimplementedby id="classsf_1_1system_1_1console_1_1ConsoleImpl_1a10">createSprite</reimplementedby> <param>
+ <type>const <ref idref="structsf_1_1system_1_1console_1_1sprite_1_1Info">sprite::Info</ref> *const</type>
+ <declname>pInfo</declname>
+ </param>
+ <briefdescription>
+<para>
+\1\\81~\e\?\E\C!?\??o\i!?\E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<ref idref="structsf_1_1system_1_1console_1_1sprite_1_1Info">sprite::Info</ref>p.?I?dEo?E???A?A\1\\81~\e\?\E\C!?\??o\i!?\E?\81E!\81\91Sprite\?\o\?!?\O\\81\98!?\1?I\Y\?\o\??oEO?\81E?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>pInfo</parametername><parameterdescription><para>
+<ref idref="structsf_1_1system_1_1console_1_1sprite_1_1Info">sprite::Info</ref>p. 1?A?AI?I\Y\?\o\? </para>
+</parameterdescription></parameterlist></para>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+Sprite\?\o\?!?\O\\81\98!?\1?O?I\Y\?\o\? </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="279"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Console_1a7" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const bool</type>
+ <name>isEnabled</name>
+ <reimplementedby id="classsf_1_1system_1_1console_1_1ConsoleImpl_1a11">isEnabled</reimplementedby> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\3\o\?!?\e?\81Ê\81âEIN2A?\81áEY?\81á?oEO?1. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\81âEIN2A </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\81âEINEO2A </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="286"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+2eII?IEA2eAc\81Ca?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+2eII?IEA2eAc\81Ca?o1O?|\?\o\?!?\O\\81\98!?\1?C?1!\81\92 </para>
+<simplesect kind="note"><title>3D?\81N?n?-: </title><para>
+<ref idref="classsf_1_1system_1_1console_1_1Console">Console</ref>p.\\81P\e\1?I!\81\91OS\81CCI-?I2eIIEA2e?t?e?I?AAo?oAe?Y2??1?eIUAa?\81Ê?\81\91?e?T?1!\81\92<linebreak/>Ae?Y2??o1O?|oY?E?I!\81\91OS?E\81\8bIA\81C?\81E?E???e?e\81\8biEI2??\81E??\81CAIO?C\83Ê-?O?1?U?-?C?1?\81Ê!\81\91 oi?O?\81ÊDirectX?\81E?\81áAI?e?E?????a!\81\91?AAo?a?e?O2oAa?EOS\81CCI-?IE?\81C??\81Ê?\81\91?e2AC?A-?\81Ê?\81\91?e?T?1!\81\92 </para>
+</simplesect> </detaileddescription>
+ <inheritancegraph>
+ <node id="118">
+ <label>sf::system::console::Console</label>
+ <link id="classsf_1_1system_1_1console_1_1Console"/>
+ </node>
+ <node id="119">
+ <label>sf::system::console::ConsoleImpl</label>
+ <link id="classsf_1_1system_1_1console_1_1ConsoleImpl"/>
+ <childnode id="118" relation="public-inheritance">
+ </childnode>
+ </node>
+ </inheritancegraph>
+ <location file="J:/project/sfglib/Console.h" line="233" bodystart="232" bodyend="287"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1console_1_1ConsoleImpl" kind="class">
+ <compoundname>sf::system::console::ConsoleImpl</compoundname>
+ <basecompoundref idref="classsf_1_1system_1_1console_1_1Console" prot="public" virt="non-virtual"/>
+ <innerclass refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData">sf::system::console::ConsoleImpl::TextQueueData</innerclass>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>ConsoleImpl</name>
+ <briefdescription>
+<para>
+\3\o\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="49" bodystart="80" bodyend="86"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1a1" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>ConsoleImpl</name>
+ <param>
+ <type>const HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <param>
+ <type>const bool</type>
+ <declname>bWindow</declname>
+ </param>
+ <briefdescription>
+<para>
+\3\o\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>hwnd</parametername><parameterdescription><para>
+\|\\81\92\o\E\|\I\o\E\e </para>
+</parameterdescription><parametername>bWindow</parametername><parameterdescription><para>
+\|\\81\92\o\E\|E??\81N?\81á\O\e\1\\81P\e!?\oE??\81N?\81á </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="53" bodystart="88" bodyend="94"/>
+ <references id="ConsoleImpl_8h_1o2">mbWindowed</references>
+ <references id="ConsoleImpl_8h_1o0">mhWndMain</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1a2" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~ConsoleImpl</name>
+ <briefdescription>
+<para>
+\C\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="55" bodystart="96" bodyend="99"/>
+ <references id="ConsoleImpl_8cpp_1a5">uninitialize</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1a3" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>initialize</name>
+ <reimplements id="classsf_1_1system_1_1console_1_1Console_1a1">initialize</reimplements> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1console_1_1Console">Console</ref>p.\?\o\?!?\O\\81\98!?\1?I?e\81Lu2??o1O?| <ref idref="classsf_1_1system_1_1console_1_1Console">Console</ref>p. \?\o\?!?\O\\81\98!?\1?I?AAo\\81P\e\1?I?e\81Lu2??o1O?|???a?I2?AU\81LO?o?C!\81\91AI?i\\81\91\\81~\e\\81}!?\\81E\c\o?\81á?e\81CA?O?D?\83Ê?i?e?3?E?I?\81\91?e?T?\81â?o!\81\92. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="58" bodystart="101" bodyend="104"/>
+ <references id="ConsoleImpl_8h_1o2">mbWindowed</references>
+ <references id="ConsoleImpl_8h_1o0">mhWndMain</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1a4" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>initialize</name>
+ <param>
+ <type>const HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <param>
+ <type>const bool</type>
+ <declname>bWindow</declname>
+ </param>
+ <briefdescription>
+<para>
+?e\81Lu2??o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>hwnd</parametername><parameterdescription><para>
+\|\\81\92\o\E\|\I\o\E\e </para>
+</parameterdescription><parametername>bWindow</parametername><parameterdescription><para>
+true \|\\81\92\o\E\|E??\81N false \O\e\1\\81P\e!?\oE??\81N </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="62" bodystart="106" bodyend="209"/>
+ <references id="ConsoleImpl_8cpp_1c0">checkAndSetDevice</references>
+ <references id="ConsoleImpl_8cpp_1c6">initConsoleViewStyle</references>
+ <references id="ConsoleImpl_8cpp_1c5">initDeviceStates</references>
+ <references id="ConsoleImpl_8cpp_1c9">initNotManagedObjects</references>
+ <references id="ConsoleImpl_8cpp_1c11">loadFont</references>
+ <references id="ConsoleImpl_8h_1o1">mbD3DReady</references>
+ <references id="ConsoleImpl_8h_1o2">mbWindowed</references>
+ <references id="ConsoleImpl_8h_1o4">mD3DDeviceType</references>
+ <references id="ConsoleImpl_8h_1o7">mD3DFormat</references>
+ <references id="ConsoleImpl_8h_1o10">mD3Dpp</references>
+ <references id="ConsoleImpl_8h_1o9">mDepthFormat</references>
+ <references id="ConsoleImpl_8h_1o0">mhWndMain</references>
+ <references id="ConsoleImpl_8h_1o3">mpD3D</references>
+ <references id="ConsoleImpl_8h_1o5">mpD3DDevice</references>
+ <references id="ConsoleImpl_8h_1o6">mpD3DXSprite</references>
+ <references id="ConsoleImpl_8h_1o11">mpFontTexture</references>
+ <references id="ConsoleImpl_8h_1o12">mpSprite</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1a5" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>uninitialize</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+?aI\81â?eIy?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+?aI\81â\81ât?E3\81áEu?\81E?E?\81P?A?I???\81}?E???a?I?I?3?3?C3\81áEu?1?e </para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="66" bodystart="581" bodyend="624"/>
+ <references id="ConsoleImpl_8h_1o3">mpD3D</references>
+ <references id="ConsoleImpl_8h_1o5">mpD3DDevice</references>
+ <references id="ConsoleImpl_8h_1o11">mpFontTexture</references>
+ <references id="ConsoleImpl_8h_1o12">mpSprite</references>
+ <references id="ConsoleImpl_8h_1o13">mTextQueue</references>
+ <references id="ConsoleImpl_8cpp_1c10">releaseNotManagedObjects</references>
+ <referencedby id="ConsoleImpl_8cpp_1a2">~ConsoleImpl</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1a6" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>clearScreen</name>
+ <reimplements id="classsf_1_1system_1_1console_1_1Console_1a2">clearScreen</reimplements> <param>
+ <type>COLOR</type>
+ <declname>value</declname>
+ <defval>0x00000000</defval>
+ </param>
+ <briefdescription>
+<para>
+2eII?A\83Êi?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\1\\81P\e!?\o?o?A\83Êi?\81E?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>value</parametername><parameterdescription><para>
+AE?e?A?O?1?\81\98 </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="68" bodystart="804" bodyend="807"/>
+ <references id="ConsoleImpl_8h_1o5">mpD3DDevice</references>
+ <referencedby id="ConsoleImpl_8cpp_1c6">initConsoleViewStyle</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1a8">update</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1a7" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>fillScreen</name>
+ <reimplements id="classsf_1_1system_1_1console_1_1Console_1a3">fillScreen</reimplements> <param>
+ <type>COLOR</type>
+ <declname>value</declname>
+ <defval>0x00000000</defval>
+ </param>
+ <briefdescription>
+<para>
+2eII?A\83Êi?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\1\\81P\e!?\o?o\81âOAe?\81\98?CAE?e?A?O?\81E?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>value</parametername><parameterdescription><para>
+AE?e?A?O?1?\81\98 </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="69" bodystart="809" bodyend="812"/>
+ <references id="ConsoleImpl_8h_1o5">mpD3DDevice</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1a8" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>update</name>
+ <reimplements id="classsf_1_1system_1_1console_1_1Console_1a4">update</reimplements> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+2eII11?\81E?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+2eII11?\81E?o1O???T?1!\81\92 Windows?C?I!\81\91\D\A\\81P\D\A\O\!?\81á?e\\81~\e\?\T\e\\83Ê!?\O\\81\98!?\1?O?IA?A\81\80?o1O???T?1!\81\92 ?T??!\81\91\1\\81~\e\?\E?IEA2e!\81\91\A\-\1\E\D\A\O\!?EAsAN?\83Ê?i??E\81C\81âuIo?IEA2e?a?\81\91?i?\81â?A1O???T?1!\81\92 </para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="70" bodystart="776" bodyend="801"/>
+ <references id="ConsoleImpl_8cpp_1a6">clearScreen</references>
+ <references id="ConsoleImpl_8cpp_1c13">endFrame</references>
+ <references id="ConsoleImpl_8h_1a11">isEnabled</references>
+ <references id="ConsoleImpl_8h_1o5">mpD3DDevice</references>
+ <references id="ConsoleImpl_8cpp_1c12">startFrame</references>
+ <references id="ConsoleImpl_8cpp_1c15">textOut</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1a9" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>print</name>
+ <reimplements id="classsf_1_1system_1_1console_1_1Console_1a5">print</reimplements> <param>
+ <type>const int</type>
+ <declname>textureNo</declname>
+ </param>
+ <param>
+ <type>const float</type>
+ <declname>x</declname>
+ </param>
+ <param>
+ <type>const float</type>
+ <declname>y</declname>
+ </param>
+ <param>
+ <type>const float</type>
+ <declname>angleRad</declname>
+ </param>
+ <param>
+ <type>const float</type>
+ <declname>scale</declname>
+ </param>
+ <param>
+ <type>const COLOR</type>
+ <declname>color</declname>
+ </param>
+ <param>
+ <type>const char *</type>
+ <declname>format</declname>
+ </param>
+ <param>
+ <type>...</type>
+ </param>
+ <briefdescription>
+<para>
+\D\A\\81P\D\A\O\!?EAsciiE\81C\81âuIo?o\81âOAe?\81E??\A\\81P\1\A\a!?EO1a?CE??\81N?1?e!\81\92. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>textureNo</parametername><parameterdescription><para>
+\O\c\o\EIN\A\\81P\1\A\a?IEO1a <ref idref="namespacesf_1_1system_1_1console_1_1font_1a5">sf::system::console::font::FILE_PATH</ref>p. ?o\81â2?E </para>
+</parameterdescription><parametername>x</parametername><parameterdescription><para>
+E??\81N3\81á\81âIXoAE\81C </para>
+</parameterdescription><parametername>y</parametername><parameterdescription><para>
+E??\81N3\81á\81âIYoAE\81C </para>
+</parameterdescription><parametername>angleRad</parametername><parameterdescription><para>
+E??\81N3NAU?o\e\\81C\\81\91\o?C\81âOAe </para>
+</parameterdescription><parametername>scale</parametername><parameterdescription><para>
+3EAc?I?RI\81N </para>
+</parameterdescription><parametername>color</parametername><parameterdescription><para>
+E??\81N?\81\98 </para>
+</parameterdescription><parametername>format</parametername><parameterdescription><para>
+printf?I\O\c!?\T\A\EE\81C\81âuIo </para>
+</parameterdescription><parametername>...</parametername><parameterdescription><para>
+E??\81N?\81E????EN?oIo </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="74" bodystart="751" bodyend="773"/>
+ <references id="ConsoleImpl_8h_1o13">mTextQueue</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1a10" virt="normal" prot="public" const="no" volatile="no">
+ <type><ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite">sprite::Sprite</ref> *const</type>
+ <name>createSprite</name>
+ <reimplements id="classsf_1_1system_1_1console_1_1Console_1a6">createSprite</reimplements> <param>
+ <type>const <ref idref="structsf_1_1system_1_1console_1_1sprite_1_1Info">sprite::Info</ref> *const</type>
+ <declname>pInfo</declname>
+ </param>
+ <briefdescription>
+<para>
+\1\\81~\e\?\E\C!?\??o\i!?\E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<ref idref="structsf_1_1system_1_1console_1_1sprite_1_1Info">sprite::Info</ref>p.?I?dEo?E???A?A\1\\81~\e\?\E\C!?\??o\i!?\E?\81E!\81\91Sprite\?\o\?!?\O\\81\98!?\1?I\Y\?\o\??oEO?\81E?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>pInfo</parametername><parameterdescription><para>
+<ref idref="structsf_1_1system_1_1console_1_1sprite_1_1Info">sprite::Info</ref>p. 1?A?AI?I\Y\?\o\? </para>
+</parameterdescription></parameterlist></para>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+Sprite\?\o\?!?\O\\81\98!?\1?O?I\Y\?\o\? </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="76" bodystart="863" bodyend="887"/>
+ <references id="namespacesf_1_1system_1_1console_1_1sprite_1a6a5">sf::system::console::sprite::MESH</references>
+ <references id="ConsoleImpl_8h_1o5">mpD3DDevice</references>
+ <references id="ConsoleImpl_8h_1o8">mTextureFormat</references>
+ <references id="namespacesf_1_1system_1_1console_1_1sprite_1a6a3">sf::system::console::sprite::SPRITE2D</references>
+ <references id="namespacesf_1_1system_1_1console_1_1sprite_1a6a4">sf::system::console::sprite::SPRITE3D</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1a11" virt="virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const bool</type>
+ <name>isEnabled</name>
+ <reimplements id="classsf_1_1system_1_1console_1_1Console_1a7">isEnabled</reimplements> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\3\o\?!?\e?\81Ê\81âEIN2A?\81áEY?\81á?oEO?1. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\81âEIN2A </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\81âEINEO2A </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="81" bodystart="81" bodyend="81"/>
+ <references id="ConsoleImpl_8h_1o1">mbD3DReady</references>
+ <referencedby id="ConsoleImpl_8cpp_1a8">update</referencedby>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1c0" virt="normal" prot="private" const="no" volatile="no">
+ <type>void</type>
+ <name>checkAndSetDevice</name>
+ <param>
+ <type>const D3DDEVTYPE</type>
+ <declname>devtype</declname>
+ <defval>D3DDEVTYPE_HAL</defval>
+ </param>
+ <briefdescription>
+<para>
+D3D\C\D\?\1?o\A\\81\98\A\\81P?\81E!\81\91AaAo?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\81C?os?I\I!?\E\|\\81\98\\81\91?ID3D\C\D\?\1?o\A\\81\98\A\\81P?\81E!\81\91<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl">ConsoleImpl</ref>p.?\81ÊE\81ÊI\81~?E?1?eI\81~\83Êa?EAD\81}t?\81E!\81\91?a?A?E?aC?II?I1a???a?I?oAaAo?\81E?T?1!\81\92 </para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="86" bodystart="212" bodyend="233"/>
+ <references id="ConsoleImpl_8cpp_1c1">checkAndSetDeviceType</references>
+ <references id="classsf_1_1system_1_1Exception_1s4s1">sf::system::Exception::DEVICE_NOT_FOUND</references>
+ <referencedby id="ConsoleImpl_8cpp_1a4">initialize</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1c1" virt="normal" prot="private" const="no" volatile="no">
+ <type>void</type>
+ <name>checkAndSetDeviceType</name>
+ <param>
+ <type>const D3DDEVTYPE</type>
+ <declname>devtype</declname>
+ </param>
+ <briefdescription>
+<para>
+\C\D\?\1\?\?\\81~?o\A\\81\98\A\\81P?\81E!\81\91AsAe?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="89" bodystart="236" bodyend="269"/>
+ <references id="ConsoleImpl_8cpp_1c2">checkAndSetBackBufferFormat</references>
+ <references id="ConsoleImpl_8cpp_1c4">checkAndSetDepthFormat</references>
+ <references id="ConsoleImpl_8cpp_1c3">checkAndSetTextureFormat</references>
+ <references id="classsf_1_1system_1_1Exception_1s4s1">sf::system::Exception::DEVICE_NOT_FOUND</references>
+ <references id="ConsoleImpl_8h_1o4">mD3DDeviceType</references>
+ <references id="ConsoleImpl_8h_1o3">mpD3D</references>
+ <referencedby id="ConsoleImpl_8cpp_1c0">checkAndSetDevice</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1c2" virt="normal" prot="private" const="no" volatile="no">
+ <type>void</type>
+ <name>checkAndSetBackBufferFormat</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\81C?os?I\I!?\E\|\\81\98\\81\91?I\D\A\\81P\D\A\O\!\O\c!?\T\A\E?o\A\\81\98\A\\81P?\81E!\81\91AsAe?1?e \\81E\1\A\a?\81ÊI\81~\83Êa?1?e\D\A\\81P\D\A\O\!\O\c!?\T\A\E?\81Ê?\81\91?e?\81á?E?|?\81á\A\\81\98\A\\81P?\81E!\81\91?\81\91?i?DAsAe?\81E?T?1!\81\92<linebreak/> ?E?\81}?i?D!\81\91I\81~\83Êa?1?e?a?I?EoC?a\81÷a??\D\A\\81P\D\A\O\!?I\O\c!?\T\A\E?oAaAo?\81E?T?1. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="94" bodystart="272" bodyend="297"/>
+ <references id="classsf_1_1system_1_1Exception_1s4s1">sf::system::Exception::DEVICE_NOT_FOUND</references>
+ <references id="ConsoleImpl_8h_1o4">mD3DDeviceType</references>
+ <references id="ConsoleImpl_8h_1o7">mD3DFormat</references>
+ <references id="ConsoleImpl_8h_1o3">mpD3D</references>
+ <referencedby id="ConsoleImpl_8cpp_1c1">checkAndSetDeviceType</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1c3" virt="normal" prot="private" const="no" volatile="no">
+ <type>void</type>
+ <name>checkAndSetTextureFormat</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\81C?os?I\I!?\E\|\\81\98\\81\91?I\A\\81P\1\A\a\O\c!?\T\A\E?o\A\\81\98\A\\81P?\81E!\81\91AsAe?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="96" bodystart="300" bodyend="316"/>
+ <references id="classsf_1_1system_1_1Exception_1s4s1">sf::system::Exception::DEVICE_NOT_FOUND</references>
+ <references id="ConsoleImpl_8h_1o4">mD3DDeviceType</references>
+ <references id="ConsoleImpl_8h_1o7">mD3DFormat</references>
+ <references id="ConsoleImpl_8h_1o3">mpD3D</references>
+ <references id="ConsoleImpl_8h_1o8">mTextureFormat</references>
+ <referencedby id="ConsoleImpl_8cpp_1c1">checkAndSetDeviceType</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1c4" virt="normal" prot="private" const="no" volatile="no">
+ <type>void</type>
+ <name>checkAndSetDepthFormat</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\81C?os?I\I!?\E\|\\81\98\\81\91?I\O\A\E??AU?oA\81L?U?A!\81\91AsAe?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="98" bodystart="319" bodyend="330"/>
+ <references id="classsf_1_1system_1_1Exception_1s4s1">sf::system::Exception::DEVICE_NOT_FOUND</references>
+ <references id="ConsoleImpl_8h_1o4">mD3DDeviceType</references>
+ <references id="ConsoleImpl_8h_1o7">mD3DFormat</references>
+ <references id="ConsoleImpl_8h_1o9">mDepthFormat</references>
+ <references id="ConsoleImpl_8h_1o3">mpD3D</references>
+ <referencedby id="ConsoleImpl_8cpp_1c1">checkAndSetDeviceType</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1c5" virt="normal" prot="private" const="no" volatile="no">
+ <type>void</type>
+ <name>initDeviceStates</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\i\o\A\e\o\\81\8b\1\A!?\E!\81\91\A\\81P\1\A\a\1\A!?\\81C\1\A!?\E?I?e\81Lu2??o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="101" bodystart="333" bodyend="451"/>
+ <references id="ConsoleImpl_8h_1o5">mpD3DDevice</references>
+ <referencedby id="ConsoleImpl_8cpp_1a4">initialize</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c12">startFrame</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1c6" virt="normal" prot="private" const="no" volatile="no">
+ <type>void</type>
+ <name>initConsoleViewStyle</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+2eII?I?e\81Lu2?!|\O\a!?\Y!?\E?IAsAe?E?E?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="104" bodystart="454" bodyend="497"/>
+ <references id="ConsoleImpl_8cpp_1a6">clearScreen</references>
+ <references id="ConsoleImpl_8cpp_1c7">initLight</references>
+ <references id="ConsoleImpl_8cpp_1c8">initMatrix</references>
+ <references id="ConsoleImpl_8h_1o5">mpD3DDevice</references>
+ <referencedby id="ConsoleImpl_8cpp_1a4">initialize</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c12">startFrame</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1c7" virt="normal" prot="private" const="no" volatile="no">
+ <type>void</type>
+ <name>initLight</name>
+ <briefdescription>
+<para>
+\e\?\E?I?e\81Lu2??o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="107" bodystart="500" bodyend="515"/>
+ <references id="ConsoleImpl_8h_1o5">mpD3DDevice</references>
+ <referencedby id="ConsoleImpl_8cpp_1c6">initConsoleViewStyle</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1c8" virt="normal" prot="private" const="no" volatile="no">
+ <type>void</type>
+ <name>initMatrix</name>
+ <briefdescription>
+<para>
+EN\81L11OIo?I?e\81Lu2??o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="110" bodystart="518" bodyend="553"/>
+ <references id="ConsoleImpl_8h_1o5">mpD3DDevice</references>
+ <referencedby id="ConsoleImpl_8cpp_1c6">initConsoleViewStyle</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1c9" virt="normal" prot="private" const="no" volatile="no">
+ <type>void</type>
+ <name>initNotManagedObjects</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+Reset\81ât?EoAoiAR?\81E?E?\81P?A?I???\81}?E???eIy?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="114" bodystart="556" bodyend="567"/>
+ <references id="ConsoleImpl_8h_1o5">mpD3DDevice</references>
+ <references id="ConsoleImpl_8h_1o6">mpD3DXSprite</references>
+ <referencedby id="ConsoleImpl_8cpp_1a4">initialize</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c12">startFrame</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1c10" virt="normal" prot="private" const="no" volatile="no">
+ <type>void</type>
+ <name>releaseNotManagedObjects</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+D3DDevice?C\81LEIy?\83Ê?i?E??\a\O\\81C\\81\98\\81P\E?o3\81áEu?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="117" bodystart="569" bodyend="578"/>
+ <references id="ConsoleImpl_8h_1o6">mpD3DXSprite</references>
+ <referencedby id="ConsoleImpl_8cpp_1c12">startFrame</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1a5">uninitialize</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1c11" virt="normal" prot="private" const="no" volatile="no">
+ <type>void</type>
+ <name>loadFont</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\O\c\o\E\O\!\?\e?oAE?s1t?a. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="120" bodystart="629" bodyend="656"/>
+ <references id="ConsoleImpl_8h_1o5">mpD3DDevice</references>
+ <references id="ConsoleImpl_8h_1o11">mpFontTexture</references>
+ <references id="ConsoleImpl_8h_1o8">mTextureFormat</references>
+ <referencedby id="ConsoleImpl_8cpp_1a4">initialize</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1c12" virt="normal" prot="private" const="no" volatile="no">
+ <type>void</type>
+ <name>startFrame</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\O\i!?\a3\81á\81âI?oAe\81CA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="123" bodystart="815" bodyend="852"/>
+ <references id="ConsoleImpl_8cpp_1c6">initConsoleViewStyle</references>
+ <references id="ConsoleImpl_8cpp_1c5">initDeviceStates</references>
+ <references id="ConsoleImpl_8cpp_1c9">initNotManagedObjects</references>
+ <references id="ConsoleImpl_8h_1o1">mbD3DReady</references>
+ <references id="ConsoleImpl_8h_1o10">mD3Dpp</references>
+ <references id="ConsoleImpl_8h_1o5">mpD3DDevice</references>
+ <references id="ConsoleImpl_8cpp_1c10">releaseNotManagedObjects</references>
+ <referencedby id="ConsoleImpl_8cpp_1a8">update</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1c13" virt="normal" prot="private" const="no" volatile="no">
+ <type>void</type>
+ <name>endFrame</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\O\i!?\a?aI\81â?oAe\81CA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="126" bodystart="855" bodyend="858"/>
+ <references id="ConsoleImpl_8h_1o5">mpD3DDevice</references>
+ <referencedby id="ConsoleImpl_8cpp_1a8">update</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1c14" virt="normal" prot="private" const="no" volatile="no">
+ <type>void</type>
+ <name>textDraw</name>
+ <param>
+ <type>int</type>
+ <declname>textureNo</declname>
+ </param>
+ <param>
+ <type>float</type>
+ <declname>x</declname>
+ </param>
+ <param>
+ <type>float</type>
+ <declname>y</declname>
+ </param>
+ <param>
+ <type>float</type>
+ <declname>angleRad</declname>
+ </param>
+ <param>
+ <type>float</type>
+ <declname>scale</declname>
+ </param>
+ <param>
+ <type>COLOR</type>
+ <declname>color</declname>
+ </param>
+ <param>
+ <type>char *</type>
+ <declname>pBuf</declname>
+ </param>
+ <briefdescription>
+<para>
+\A\-\1\E?IEA2e?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="129" bodystart="659" bodyend="733"/>
+ <references id="ConsoleImpl_8h_1o5">mpD3DDevice</references>
+ <references id="ConsoleImpl_8h_1o6">mpD3DXSprite</references>
+ <references id="ConsoleImpl_8h_1o11">mpFontTexture</references>
+ <referencedby id="ConsoleImpl_8cpp_1c15">textOut</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1c15" virt="normal" prot="private" const="no" volatile="no">
+ <type>void</type>
+ <name>textOut</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\A\-\1\E\-\a!??IAaIA?o?DII?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="132" bodystart="736" bodyend="748"/>
+ <references id="ConsoleImpl_8h_1o6">mpD3DXSprite</references>
+ <references id="ConsoleImpl_8h_1o13">mTextQueue</references>
+ <references id="ConsoleImpl_8cpp_1c14">textDraw</references>
+ <referencedby id="ConsoleImpl_8cpp_1a8">update</referencedby>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-attrib">
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1o0" virt="normal" prot="private">
+ <type>HWND</type>
+ <name>mhWndMain</name>
+ <briefdescription>
+<para>
+Window\I\o\E\e. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="135" bodystart="134" bodyend="-1"/>
+ <referencedby id="ConsoleImpl_8cpp_1a1">ConsoleImpl</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1a3">initialize</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1o1" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbD3DReady</name>
+ <briefdescription>
+<para>
+?1?U?A?I?e\81Lu2??\81Ê\81L\81\8bI\81â?\81E!\81\91\81âEIN2AC?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="137" bodystart="136" bodyend="-1"/>
+ <referencedby id="ConsoleImpl_8cpp_1a4">initialize</referencedby>
+ <referencedby id="ConsoleImpl_8h_1a11">isEnabled</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c12">startFrame</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1o2" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbWindowed</name>
+ <briefdescription>
+<para>
+\|\\81\92\o\E\|\a!?\E?\81á?E?|?\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="138" bodystart="137" bodyend="-1"/>
+ <referencedby id="ConsoleImpl_8cpp_1a1">ConsoleImpl</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1a3">initialize</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1o3" virt="normal" prot="private">
+ <type>LPDIRECT3D8</type>
+ <name>mpD3D</name>
+ <briefdescription>
+<para>
+D3D. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="140" bodystart="139" bodyend="-1"/>
+ <referencedby id="ConsoleImpl_8cpp_1c2">checkAndSetBackBufferFormat</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c4">checkAndSetDepthFormat</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c1">checkAndSetDeviceType</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c3">checkAndSetTextureFormat</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1a4">initialize</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1a5">uninitialize</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1o4" virt="normal" prot="private">
+ <type>D3DDEVTYPE</type>
+ <name>mD3DDeviceType</name>
+ <briefdescription>
+<para>
+D3D\C\D\?\1\?\?\\81~. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="141" bodystart="140" bodyend="-1"/>
+ <referencedby id="ConsoleImpl_8cpp_1c2">checkAndSetBackBufferFormat</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c4">checkAndSetDepthFormat</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c1">checkAndSetDeviceType</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c3">checkAndSetTextureFormat</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1a4">initialize</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5" virt="normal" prot="private">
+ <type>LPDIRECT3DDEVICE8</type>
+ <name>mpD3DDevice</name>
+ <briefdescription>
+<para>
+D3DDevice. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="143" bodystart="142" bodyend="-1"/>
+ <referencedby id="ConsoleImpl_8cpp_1a6">clearScreen</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1a10">createSprite</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c13">endFrame</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1a7">fillScreen</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c6">initConsoleViewStyle</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c5">initDeviceStates</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1a4">initialize</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c7">initLight</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c8">initMatrix</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c9">initNotManagedObjects</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c11">loadFont</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c12">startFrame</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c14">textDraw</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1a5">uninitialize</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1a8">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1o6" virt="normal" prot="private">
+ <type>LPD3DXSPRITE</type>
+ <name>mpD3DXSprite</name>
+ <briefdescription>
+<para>
+D3DXSprite. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="144" bodystart="143" bodyend="-1"/>
+ <referencedby id="ConsoleImpl_8cpp_1a4">initialize</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c9">initNotManagedObjects</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c10">releaseNotManagedObjects</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c14">textDraw</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c15">textOut</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1o7" virt="normal" prot="private">
+ <type>D3DFORMAT</type>
+ <name>mD3DFormat</name>
+ <briefdescription>
+<para>
+\\81~\e\?\T\e!|\D\A\\81P\D\A\O\!?I\O\c!?\T\A\E. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="146" bodystart="145" bodyend="-1"/>
+ <referencedby id="ConsoleImpl_8cpp_1c2">checkAndSetBackBufferFormat</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c4">checkAndSetDepthFormat</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c3">checkAndSetTextureFormat</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1a4">initialize</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1o8" virt="normal" prot="private">
+ <type>D3DFORMAT</type>
+ <name>mTextureFormat</name>
+ <briefdescription>
+<para>
+Ac2a\A\\81P\1\A\aIN\O\c!?\T\A\E. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="147" bodystart="146" bodyend="-1"/>
+ <referencedby id="ConsoleImpl_8cpp_1c3">checkAndSetTextureFormat</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1a10">createSprite</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c11">loadFont</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1o9" virt="normal" prot="private">
+ <type>D3DFORMAT</type>
+ <name>mDepthFormat</name>
+ <briefdescription>
+<para>
+!!??AU\D\A\O\!IN\O\c!?\T\A\E. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="148" bodystart="147" bodyend="-1"/>
+ <referencedby id="ConsoleImpl_8cpp_1c4">checkAndSetDepthFormat</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1a4">initialize</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1o10" virt="normal" prot="private">
+ <type>D3DPRESENT_PARAMETERS</type>
+ <name>mD3Dpp</name>
+ <briefdescription>
+<para>
+D3DPRESENT_PARAMETERS. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="149" bodystart="148" bodyend="-1"/>
+ <referencedby id="ConsoleImpl_8cpp_1a4">initialize</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c12">startFrame</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1o11" virt="normal" prot="private">
+ <type>IDirect3DTexture8 *</type>
+ <name>mpFontTexture</name>
+ <briefdescription>
+<para>
+\O\c\o\E\A\\81P\1\A\aCUIo. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="151" bodystart="150" bodyend="-1"/>
+ <referencedby id="ConsoleImpl_8cpp_1a4">initialize</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c11">loadFont</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c14">textDraw</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1a5">uninitialize</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1o12" virt="normal" prot="private">
+ <type>sprite::AbstractSprite *</type>
+ <name>mpSprite</name>
+ <briefdescription>
+<para>
+\1\\81~\e\?\E\A\\81P\1\A\aCUIo. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="152" bodystart="151" bodyend="-1"/>
+ <referencedby id="ConsoleImpl_8cpp_1a4">initialize</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1a5">uninitialize</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1o13" virt="normal" prot="private">
+ <type>std::queue< <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData">TextQueueData</ref> *></type>
+ <name>mTextQueue</name>
+ <briefdescription>
+<para>
+\A\-\1\EE??\81NIN\-\a!?\D\A\O\!. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="206" bodystart="206" bodyend="-1"/>
+ <referencedby id="ConsoleImpl_8cpp_1a9">print</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1c15">textOut</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1a5">uninitialize</referencedby>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1console_1_1Console">Console</ref>p.\?\o\?!?\O\\81\98!?\1?I?AAo. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inheritancegraph>
+ <node id="122">
+ <label>sf::system::console::Console</label>
+ <link id="classsf_1_1system_1_1console_1_1Console"/>
+ </node>
+ <node id="121">
+ <label>sf::system::console::ConsoleImpl</label>
+ <link id="classsf_1_1system_1_1console_1_1ConsoleImpl"/>
+ <childnode id="122" relation="public-inheritance">
+ </childnode>
+ </node>
+ </inheritancegraph>
+ <collaborationgraph>
+ <node id="124">
+ <label>sf::system::console::Console</label>
+ <link id="classsf_1_1system_1_1console_1_1Console"/>
+ </node>
+ <node id="126">
+ <label>sf::system::console::sprite::Sprite</label>
+ <link id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite"/>
+ </node>
+ <node id="123">
+ <label>sf::system::console::ConsoleImpl</label>
+ <link id="classsf_1_1system_1_1console_1_1ConsoleImpl"/>
+ <childnode id="124" relation="public-inheritance">
+ </childnode>
+ <childnode id="125" relation="usage">
+ <edgelabel>mpSprite</edgelabel>
+ </childnode>
+ </node>
+ <node id="125">
+ <label>sf::system::console::sprite::AbstractSprite</label>
+ <childnode id="126" relation="public-inheritance">
+ </childnode>
+ </node>
+ </collaborationgraph>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="45" bodystart="44" bodyend="208"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData" kind="class">
+ <compoundname>sf::system::console::ConsoleImpl::TextQueueData</compoundname>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>TextQueueData</name>
+ <param>
+ <type>const int</type>
+ <declname>textureNo</declname>
+ </param>
+ <param>
+ <type>const float</type>
+ <declname>x</declname>
+ </param>
+ <param>
+ <type>const float</type>
+ <declname>y</declname>
+ </param>
+ <param>
+ <type>const float</type>
+ <declname>angleRad</declname>
+ </param>
+ <param>
+ <type>const float</type>
+ <declname>scale</declname>
+ </param>
+ <param>
+ <type>const COLOR</type>
+ <declname>color</declname>
+ </param>
+ <param>
+ <type>const char *</type>
+ <declname>pBuffer</declname>
+ <defval>NULL</defval>
+ </param>
+ <briefdescription>
+<para>
+!!\3\o\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>param</parametername><parameterdescription><para>
+x E??\81NxoAE\81C </para>
+</parameterdescription><parametername>y</parametername><parameterdescription><para>
+E??\81NyoAE\81C </para>
+</parameterdescription><parametername>angleRad</parametername><parameterdescription><para>
+E??\81N3NAU(\e\\81C\\81\91\o) </para>
+</parameterdescription><parametername>scale</parametername><parameterdescription><para>
+3EAc?I?RI\81N </para>
+</parameterdescription><parametername>color</parametername><parameterdescription><para>
+E??\81N?\81\98 </para>
+</parameterdescription><parametername>pBuffer</parametername><parameterdescription><para>
+\A\-\1\EE\81C\81âuIo?I\Y\?\o\? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="164" bodystart="893" bodyend="904"/>
+ <references id="ConsoleImpl_8h_1a8">color</references>
+ <references id="ConsoleImpl_8h_1o3">mAngleRad</references>
+ <references id="ConsoleImpl_8h_1o5">mColor</references>
+ <references id="ConsoleImpl_8h_1o6">mpBuf</references>
+ <references id="ConsoleImpl_8h_1o4">mScale</references>
+ <references id="ConsoleImpl_8h_1o0">mTextureNo</references>
+ <references id="ConsoleImpl_8h_1o1">mX</references>
+ <references id="ConsoleImpl_8h_1o2">mY</references>
+ <references id="ConsoleImpl_8h_1a7">scale</references>
+ <references id="ConsoleImpl_8h_1a3">textureNo</references>
+ <references id="ConsoleImpl_8h_1a4">x</references>
+ <references id="ConsoleImpl_8h_1a5">y</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a1" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>~TextQueueData</name>
+ <briefdescription>
+<para>
+\C\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="166" bodystart="906" bodyend="909"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a2" virt="normal" prot="public" const="no" volatile="no">
+ <type>char *const</type>
+ <name>buffer</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\A\-\1\EE\81C\81âuIo?I\Y\?\o\??o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+\A\-\1\EE\81C\81âuIo?IAeA\81Ê\\81\91\E\i\1 </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="170" bodystart="170" bodyend="170"/>
+ <references id="ConsoleImpl_8h_1o6">mpBuf</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a3" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const int</type>
+ <name>textureNo</name>
+ <briefdescription>
+<para>
+\O\c\o\E\A\\81P\1\A\aEO1a?o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+\O\c\o\E\A\\81P\1\A\aEO1a </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="174" bodystart="174" bodyend="174"/>
+ <references id="ConsoleImpl_8h_1o0">mTextureNo</references>
+ <referencedby id="ConsoleImpl_8cpp_1a0">TextQueueData</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a4" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>x</name>
+ <briefdescription>
+<para>
+E??\81N3\81á\81âIXoAE\81C?o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+E??\81N3\81á\81âIXoAE\81C </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="178" bodystart="178" bodyend="178"/>
+ <references id="ConsoleImpl_8h_1o1">mX</references>
+ <referencedby id="ConsoleImpl_8cpp_1a0">TextQueueData</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a5" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>y</name>
+ <briefdescription>
+<para>
+E??\81N3\81á\81âIYoAE\81C?o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+E??\81N3\81á\81âIYoAE\81C </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="182" bodystart="182" bodyend="182"/>
+ <references id="ConsoleImpl_8h_1o2">mY</references>
+ <referencedby id="ConsoleImpl_8cpp_1a0">TextQueueData</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a6" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>angeleRad</name>
+ <briefdescription>
+<para>
+E??\81N3NAU?o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+E??\81N3\81á\81âIXoAE\81C </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="186" bodystart="186" bodyend="186"/>
+ <references id="ConsoleImpl_8h_1o3">mAngleRad</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a7" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>scale</name>
+ <briefdescription>
+<para>
+3EAc?I?RI\81N?o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+3EAc?I?RI\81N </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="190" bodystart="190" bodyend="190"/>
+ <references id="ConsoleImpl_8h_1o4">mScale</references>
+ <referencedby id="ConsoleImpl_8cpp_1a0">TextQueueData</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a8" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const COLOR</type>
+ <name>color</name>
+ <briefdescription>
+<para>
+E??\81N?\81\98?o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+E??\81N?\81\98 </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="194" bodystart="194" bodyend="194"/>
+ <references id="ConsoleImpl_8h_1o5">mColor</references>
+ <referencedby id="ConsoleImpl_8cpp_1a0">TextQueueData</referencedby>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-attrib">
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o0" virt="normal" prot="private">
+ <type>int</type>
+ <name>mTextureNo</name>
+ <briefdescription>
+<para>
+\O\c\o\E\A\\81P\1\A\aEO1a. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="197" bodystart="196" bodyend="-1"/>
+ <referencedby id="ConsoleImpl_8cpp_1a0">TextQueueData</referencedby>
+ <referencedby id="ConsoleImpl_8h_1a3">textureNo</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o1" virt="normal" prot="private">
+ <type>float</type>
+ <name>mX</name>
+ <briefdescription>
+<para>
+E??\81N3\81á\81âIXoAE\81C. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="198" bodystart="197" bodyend="-1"/>
+ <referencedby id="ConsoleImpl_8cpp_1a0">TextQueueData</referencedby>
+ <referencedby id="ConsoleImpl_8h_1a4">x</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o2" virt="normal" prot="private">
+ <type>float</type>
+ <name>mY</name>
+ <briefdescription>
+<para>
+E??\81N3\81á\81âIYoAE\81C. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="199" bodystart="198" bodyend="-1"/>
+ <referencedby id="ConsoleImpl_8cpp_1a0">TextQueueData</referencedby>
+ <referencedby id="ConsoleImpl_8h_1a5">y</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o3" virt="normal" prot="private">
+ <type>float</type>
+ <name>mAngleRad</name>
+ <briefdescription>
+<para>
+E??\81N3NAU!E\e\\81C\\81\91\o!E. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="200" bodystart="199" bodyend="-1"/>
+ <referencedby id="ConsoleImpl_8h_1a6">angeleRad</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1a0">TextQueueData</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o4" virt="normal" prot="private">
+ <type>float</type>
+ <name>mScale</name>
+ <briefdescription>
+<para>
+3EAc?I?RI\81N. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="201" bodystart="200" bodyend="-1"/>
+ <referencedby id="ConsoleImpl_8h_1a7">scale</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1a0">TextQueueData</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o5" virt="normal" prot="private">
+ <type>COLOR</type>
+ <name>mColor</name>
+ <briefdescription>
+<para>
+E??\81N?\81\98. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="202" bodystart="201" bodyend="-1"/>
+ <referencedby id="ConsoleImpl_8h_1a8">color</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1a0">TextQueueData</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o6" virt="normal" prot="private">
+ <type>char</type>
+ <name>mpBuf</name>
+ <briefdescription>
+<para>
+E??\81NE\81C\81âuIo. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="203" bodystart="202" bodyend="-1"/>
+ <referencedby id="ConsoleImpl_8h_1a2">buffer</referencedby>
+ <referencedby id="ConsoleImpl_8cpp_1a0">TextQueueData</referencedby>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+!!\A\-\1\EE\81C\81âuIoEY\81ây\\81P\e\1. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="154" bodystart="154" bodyend="203"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1Exception" kind="class">
+ <compoundname>sf::system::Exception</compoundname>
+ <derivedcompoundref idref="classsf_1_1system_1_1FatalErrorException" prot="public" virt="non-virtual"/>
+ <derivedcompoundref idref="classsf_1_1system_1_1RecoverbleErrorException" prot="public" virt="non-virtual"/>
+ <sectiondef kind="public-type">
+ <memberdef kind="enum" id="classsf_1_1system_1_1Exception_1s4" virt="normal" prot="public">
+ <name>ERROR_TYPE</name>
+ <enumvalue>
+ <name>DEFAULT</name>
+ </enumvalue>
+ <enumvalue>
+ <name>DEVICE_NOT_FOUND</name>
+ </enumvalue>
+ <enumvalue>
+ <name>BUFFER_IS_FULL</name>
+ </enumvalue>
+ <enumvalue>
+ <name>SCENE_IS_EMPTY</name>
+ </enumvalue>
+ <briefdescription>
+<para>
+\\81N\e!??I?iIa. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="27" bodystart="27" bodyend="32"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1Exception_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>Exception::Exception</name>
+ <briefdescription>
+<para>
+\3\o\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="36" bodystart="35" bodyend="38"/>
+ <references id="classsf_1_1system_1_1Exception_1s4s0">DEFAULT</references>
+ <references id="Exception_8h_1a0">Exception::Exception</references>
+ <references id="Exception_8h_1o4">mErrID</references>
+ <referencedby id="Exception_8h_1a0">Exception::Exception</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1Exception_1a1" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>Exception</name>
+ <param>
+ <type>const char *const</type>
+ <declname>pValue</declname>
+ </param>
+ <param>
+ <type>const char *const</type>
+ <declname>fileName</declname>
+ </param>
+ <param>
+ <type>const int</type>
+ <declname>line</declname>
+ </param>
+ <param>
+ <type>const <ref idref="classsf_1_1system_1_1Exception_1s4">ERROR_TYPE</ref></type>
+ <declname>err</declname>
+ <defval>DEFAULT</defval>
+ </param>
+ <briefdescription>
+<para>
+\3\o\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>pValue</parametername><parameterdescription><para>
+\\81N\e!?E\81C\81âuIo </para>
+</parameterdescription><parametername>fileName</parametername><parameterdescription><para>
+\O\!\?\e\I!?\a </para>
+</parameterdescription><parametername>line</parametername><parameterdescription><para>
+1OEO1a </para>
+</parameterdescription><parametername>err</parametername><parameterdescription><para>
+ERROR_TYPE </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="46" bodystart="45" bodyend="46"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1Exception_1a2" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>Exception</name>
+ <param>
+ <type>std::string &</type>
+ <declname>value</declname>
+ </param>
+ <param>
+ <type>const char *const</type>
+ <declname>fileName</declname>
+ </param>
+ <param>
+ <type>const int</type>
+ <declname>line</declname>
+ </param>
+ <param>
+ <type>const <ref idref="classsf_1_1system_1_1Exception_1s4">ERROR_TYPE</ref></type>
+ <declname>err</declname>
+ <defval>DEFAULT</defval>
+ </param>
+ <briefdescription>
+<para>
+\3\o\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>value</parametername><parameterdescription><para>
+\\81N\e!?E\81C\81âuIo </para>
+</parameterdescription><parametername>fileName</parametername><parameterdescription><para>
+\O\!\?\e\I!?\a </para>
+</parameterdescription><parametername>line</parametername><parameterdescription><para>
+1OEO1a </para>
+</parameterdescription><parametername>err</parametername><parameterdescription><para>
+ERROR_TYPE </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="53" bodystart="52" bodyend="53"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1Exception_1a3" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~Exception</name>
+ <briefdescription>
+<para>
+\C\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="55" bodystart="55" bodyend="55"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1Exception_1a4" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual std::string &</type>
+ <name>reason</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\\81N\e!?E\81C\81âuIo?o\81â2?E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+\\81N\e!?E\81C\81âuIo?ostd::string?I\81â2?E?CEO?\81E?T?1 </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="60" bodystart="59" bodyend="60"/>
+ <referencedby id="Exception_8h_1a13">Exception::getDefaultMessage</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1Exception_1a5" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>reason</name>
+ <param>
+ <type>const std::string &</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+<para>
+\\81N\e!?E\81C\81âuIo?o\\81â\A\E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>value</parametername><parameterdescription><para>
+\\81N\e!?E\81C\81âuIo(std::string) </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="64" bodystart="64" bodyend="64"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1Exception_1a6" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>reason</name>
+ <param>
+ <type>const char *const</type>
+ <declname>pValue</declname>
+ </param>
+ <briefdescription>
+<para>
+\\81N\e!?E\81C\81âuIo?o\\81â\A\E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>value</parametername><parameterdescription><para>
+\\81N\e!?E\81C\81âuIo(const char *) </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="68" bodystart="68" bodyend="68"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1Exception_1a7" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>sourceFileName</name>
+ <param>
+ <type>const char *const</type>
+ <declname>pValue</declname>
+ </param>
+ <briefdescription>
+<para>
+\\81N\e!??o\83Ê\81P?3?\81E??\O\!\?\e\I!?\a?o\\81â\A\E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>pValue</parametername><parameterdescription><para>
+\\81N\e!??o\83Ê\81P?3?\81E??\O\!\?\e\I!?\a </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="72" bodystart="72" bodyend="72"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1Exception_1a8" virt="virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const std::string</type>
+ <name>sourceFileName</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\\81N\e!??o\83Ê\81P?3?\81E??\O\!\?\e\I!?\a?o\81â2?E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+\\81N\e!??o\83Ê\81P?3?\81E??\O\!\?\e\I!?\a </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="76" bodystart="76" bodyend="76"/>
+ <referencedby id="Exception_8h_1a13">Exception::getDefaultMessage</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1Exception_1a9" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>lineNumber</name>
+ <param>
+ <type>const int</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+<para>
+\\81N\e!??o\83Ê\81P?3?\81E??1OEO1a?o\\81â\A\E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>value</parametername><parameterdescription><para>
+\\81N\e!??o\83Ê\81P?3?\81E??1OEO1a </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="80" bodystart="80" bodyend="80"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1Exception_1a10" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual const int</type>
+ <name>lineNumber</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\\81N\e!??o\83Ê\81P?3?\81E??1OEO1a?o\\81â\A\E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>value</parametername><parameterdescription><para>
+\\81N\e!??o\83Ê\81P?3?\81E??1OEO1a </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="84" bodystart="84" bodyend="84"/>
+ <referencedby id="Exception_8h_1a13">Exception::getDefaultMessage</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1Exception_1a11" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>errorType</name>
+ <param>
+ <type>const <ref idref="classsf_1_1system_1_1Exception_1s4">ERROR_TYPE</ref></type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+<para>
+ERROR_TYPE?o\\81â\A\E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>value</parametername><parameterdescription><para>
+ERROR_TYPE(Ia3\81\8b?I?iIa) </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="88" bodystart="88" bodyend="88"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1Exception_1a12" virt="virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const <ref idref="classsf_1_1system_1_1Exception_1s4">ERROR_TYPE</ref></type>
+ <name>errorType</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+ERROR_TYPE?o\81â2?E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+ERROR_TYPE(Ia3\81\8b?I?iIa) </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="92" bodystart="92" bodyend="92"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1Exception_1a13" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual const char *const</type>
+ <name>Exception::getDefaultMessage</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\C\O\c\e\E\\81N\e!?E??\81N\a\A\\81â!?\\81C?o\81â2?E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+\\81N\e!?E\81C\81âuIo </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="96" bodystart="96" bodyend="102"/>
+ <references id="Exception_8h_1a10">lineNumber</references>
+ <references id="Exception_8h_1o2">mDefaultMessage</references>
+ <references id="Exception_8h_1a4">reason</references>
+ <references id="Exception_8h_1a8">sourceFileName</references>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-attrib">
+ <memberdef kind="variable" id="classsf_1_1system_1_1Exception_1o0" virt="normal" prot="private">
+ <type>std::string</type>
+ <name>mErrString</name>
+ <briefdescription>
+<para>
+\\81N\e!?E\81C\81âuIo. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="106" bodystart="105" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1Exception_1o1" virt="normal" prot="private">
+ <type>std::string</type>
+ <name>mFileName</name>
+ <briefdescription>
+<para>
+\\81N\e!??o\83Ê\81P?3?\81E??\O\!\?\eI?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="107" bodystart="106" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1Exception_1o2" virt="normal" prot="private">
+ <type>std::string</type>
+ <name>mDefaultMessage</name>
+ <briefdescription>
+<para>
+\C\O\c\e\E?I\a\A\\81â!?\\81C. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="108" bodystart="107" bodyend="-1"/>
+ <referencedby id="Exception_8h_1a13">Exception::getDefaultMessage</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1Exception_1o3" virt="normal" prot="private">
+ <type>int</type>
+ <name>mLineNumber</name>
+ <briefdescription>
+<para>
+1OEO1a. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="109" bodystart="108" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1Exception_1o4" virt="normal" prot="private">
+ <type><ref idref="classsf_1_1system_1_1Exception_1s4">ERROR_TYPE</ref></type>
+ <name>mErrID</name>
+ <briefdescription>
+<para>
+\\81N\e!?ID. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="110" bodystart="109" bodyend="-1"/>
+ <referencedby id="Exception_8h_1a0">Exception::Exception</referencedby>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+Ia3\81\8b. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inheritancegraph>
+ <node id="130">
+ <label>sf::system::FatalErrorException</label>
+ <link id="classsf_1_1system_1_1FatalErrorException"/>
+ <childnode id="129" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="131">
+ <label>sf::system::RecoverbleErrorException</label>
+ <link id="classsf_1_1system_1_1RecoverbleErrorException"/>
+ <childnode id="129" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="129">
+ <label>sf::system::Exception</label>
+ <link id="classsf_1_1system_1_1Exception"/>
+ </node>
+ </inheritancegraph>
+ <location file="J:/project/sfglib/Exception.h" line="24" bodystart="24" bodyend="110"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1FatalErrorException" kind="class">
+ <compoundname>sf::system::FatalErrorException</compoundname>
+ <basecompoundref idref="classsf_1_1system_1_1Exception" prot="public" virt="non-virtual"/>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1FatalErrorException_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>FatalErrorException</name>
+ <param>
+ <type>const char *const</type>
+ <declname>pValue</declname>
+ </param>
+ <param>
+ <type>const char *const</type>
+ <declname>fileName</declname>
+ </param>
+ <param>
+ <type>const int</type>
+ <declname>line</declname>
+ </param>
+ <param>
+ <type>const <ref idref="classsf_1_1system_1_1Exception_1s4">ERROR_TYPE</ref></type>
+ <declname>err</declname>
+ <defval>DEFAULT</defval>
+ </param>
+ <briefdescription>
+<para>
+\3\o\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>pValue</parametername><parameterdescription><para>
+\\81N\e!?E\81C\81âuIo </para>
+</parameterdescription><parametername>fileName</parametername><parameterdescription><para>
+\O\!\?\e\I!?\a </para>
+</parameterdescription><parametername>line</parametername><parameterdescription><para>
+1OEO1a </para>
+</parameterdescription><parametername>err</parametername><parameterdescription><para>
+ERROR_TYPE </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="122" bodystart="120" bodyend="122"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1FatalErrorException_1a1" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>FatalErrorException</name>
+ <param>
+ <type>std::string &</type>
+ <declname>value</declname>
+ </param>
+ <param>
+ <type>const char *const</type>
+ <declname>fileName</declname>
+ </param>
+ <param>
+ <type>const int</type>
+ <declname>line</declname>
+ </param>
+ <param>
+ <type>const <ref idref="classsf_1_1system_1_1Exception_1s4">ERROR_TYPE</ref></type>
+ <declname>err</declname>
+ <defval>DEFAULT</defval>
+ </param>
+ <briefdescription>
+<para>
+\3\o\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>pValue</parametername><parameterdescription><para>
+\\81N\e!?E\81C\81âuIo </para>
+</parameterdescription><parametername>fileName</parametername><parameterdescription><para>
+\O\!\?\e\I!?\a </para>
+</parameterdescription><parametername>line</parametername><parameterdescription><para>
+1OEO1a </para>
+</parameterdescription><parametername>err</parametername><parameterdescription><para>
+ERROR_TYPE </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="130" bodystart="128" bodyend="130"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+A\81~I?Aa?EIa3\81\8b. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inheritancegraph>
+ <node id="133">
+ <label>sf::system::FatalErrorException</label>
+ <link id="classsf_1_1system_1_1FatalErrorException"/>
+ <childnode id="134" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="134">
+ <label>sf::system::Exception</label>
+ <link id="classsf_1_1system_1_1Exception"/>
+ </node>
+ </inheritancegraph>
+ <collaborationgraph>
+ <node id="135">
+ <label>sf::system::FatalErrorException</label>
+ <link id="classsf_1_1system_1_1FatalErrorException"/>
+ <childnode id="136" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="136">
+ <label>sf::system::Exception</label>
+ <link id="classsf_1_1system_1_1Exception"/>
+ </node>
+ </collaborationgraph>
+ <location file="J:/project/sfglib/Exception.h" line="113" bodystart="113" bodyend="131"/>
+ </compounddef>
+ <compounddef id="structsf_1_1system_1_1console_1_1sprite_1_1Info" kind="struct">
+ <compoundname>sf::system::console::sprite::Info</compoundname>
+ <sectiondef kind="public-attrib">
+ <memberdef kind="variable" id="structsf_1_1system_1_1console_1_1sprite_1_1Info_1m0" virt="normal" prot="public">
+ <type>char</type>
+ <name>fileName</name>
+ <briefdescription>
+<para>
+\O\A\E\T\A\\81~\O\!\?\e\I!?\a. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="147" bodystart="146" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="structsf_1_1system_1_1console_1_1sprite_1_1Info_1m1" virt="normal" prot="public">
+ <type>float</type>
+ <name>centerX</name>
+ <briefdescription>
+<para>
+Aa?\81L?IXoAE\81C. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="148" bodystart="147" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="structsf_1_1system_1_1console_1_1sprite_1_1Info_1m2" virt="normal" prot="public">
+ <type>float</type>
+ <name>centerY</name>
+ <briefdescription>
+<para>
+Aa?\81L?IYoAE\81C. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="149" bodystart="148" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="structsf_1_1system_1_1console_1_1sprite_1_1Info_1m3" virt="normal" prot="public">
+ <type>float</type>
+ <name>cellWidth</name>
+ <briefdescription>
+<para>
+Ey. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="150" bodystart="149" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="structsf_1_1system_1_1console_1_1sprite_1_1Info_1m4" virt="normal" prot="public">
+ <type>float</type>
+ <name>cellHeight</name>
+ <briefdescription>
+<para>
+1a?\83Ê. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="151" bodystart="150" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="structsf_1_1system_1_1console_1_1sprite_1_1Info_1m5" virt="normal" prot="public">
+ <type>COLOR</type>
+ <name>transparentColor</name>
+ <briefdescription>
+<para>
+Ac2a?\81\98. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="152" bodystart="151" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="structsf_1_1system_1_1console_1_1sprite_1_1Info_1m6" virt="normal" prot="public">
+ <type><ref idref="namespacesf_1_1system_1_1console_1_1sprite_1a6">TYPE</ref></type>
+ <name>type</name>
+ <briefdescription>
+<para>
+\1\\81~\e\?\E?I\?\?\\81~. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="153" bodystart="152" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+\1\\81~\e\?\EAe\83ÊA?dEo1?A?AI. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\1\\81~\e\?\E?oAe\83ÊA?1?e???a?I1?A?AI?C?1!\81\92 \1\\81~\e\?\E?IA\81CAR?I!\81\91<ref idref="classsf_1_1system_1_1console_1_1Console">Console</ref>p. \?\o\?!?\O\\81\98!?\1?I<ref idref="classsf_1_1system_1_1console_1_1Console_1a6">Console::createSprite</ref>()p.?I\81\8bu?o?E?\81E?A?3?I1?A?AI?oAI?\81E1O???T?1!\81\92 </para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="145" bodystart="145" bodyend="153"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1input_1_1Input" kind="class">
+ <compoundname>sf::system::input::Input</compoundname>
+ <derivedcompoundref idref="classsf_1_1system_1_1input_1_1InputImpl" prot="public" virt="non-virtual"/>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1Input_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>Input</name>
+ <briefdescription>
+<para>
+\3\o\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="185" bodystart="185" bodyend="185"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1Input_1a1" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~Input</name>
+ <briefdescription>
+<para>
+\C\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="187" bodystart="187" bodyend="187"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1Input_1a2" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>initialize</name>
+ <reimplementedby id="classsf_1_1system_1_1input_1_1InputImpl_1a35">initialize</reimplementedby> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1input_1_1Input">Input</ref>p.\?\o\?!?\O\\81\98!?\1?I?e\81Lu2?. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<ref idref="classsf_1_1system_1_1input_1_1Input">Input</ref>p.\?\o\?!?\O\\81\98!?\1?I?AAo\\81P\e\1?o?e\81Lu2??1?e???a?EIN\81\8bO?\83Ê?i?A???T?1!\81\92<linebreak/> AI?i\e\?\O\e\e?oIoIN?1?eA|?\81á?e?3?I\a\?\A\E?o\81CA?O?D?1?3?E?I?\81\91?e?T?\81â?o!\81\92 <parameterlist kind="exception"><title>Ia3\81\8b: </title><parametername><ref idref="classsf_1_1system_1_1FatalErrorException">FatalErrorException</ref>p.</parametername><parameterdescription><para>
+ ?e\81Lu2??E?oCO?\81E???i1c?a?\81E?\81P?IAtII\C\D\?\1?\81Ê2??a\81C\81á?A?\81á?e?E?\81á?A???i1c </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="194"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1Input_1a3" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>update</name>
+ <reimplementedby id="classsf_1_1system_1_1input_1_1InputImpl_1a3">update</reimplementedby> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+AtII\C\D\?\1?I?oAO?I11?\81E. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+AtII\C\D\?\1?I?oAO?oAE?s?e?e!\81\91\81LOI\81\91?1?eEN?o?o11?\81E?\81E?T?1!\81\92 </para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="198"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1Input_1a4" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>addMouseListener</name>
+ <param>
+ <type><ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">mouse::Listener</ref> *const</type>
+ <declname>pListener</declname>
+ </param>
+ <briefdescription>
+<para>
+\T\|\1\e\1\E!??IADI?. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">mouse::Listener</ref>p. ?oADI??\81E?T?1!\81\92<linebreak/> \T\|\1\?\U\o\E?o?o?\81}?e?e????\\81P\e\1?I<ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">mouse::Listener</ref>p.\?\o\?!?\O\\81\98!?\1?o?AAo?\81E!\81\91 ?3?I\a\?\A\E?CADI??1?e?3?E?E?e?e\T\|\1\?\U\o\E?o?o?\81}?e?e?3?E?\81Ê?C?-?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>pListener</parametername><parameterdescription><para>
+<ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">mouse::Listener</ref>p. \?\o\?!?\O\\81\98!?\1?I\Y\?\o\? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="205"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1Input_1a5" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>removeMouseListener</name>
+ <param>
+ <type><ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">mouse::Listener</ref> *const</type>
+ <declname>pListener</declname>
+ </param>
+ <briefdescription>
+<para>
+\T\|\1\e\1\E!??Ioi?u. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">mouse::Listener</ref>p. ?ooi?u?\81E?T?1!\81\92<linebreak/> <ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">mouse::Listener</ref>p. ?\81á?E?\81Êoi?u?\83Ê?i?e?E?-!\81\91?3?I\a\?\A\E?o\81CA?O?D?\81E?A!\81\91Talker?E?\81á?E?Ioi?u?oAIAI?\81E?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>pListener</parametername><parameterdescription><para>
+<ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">mouse::Listener</ref>p. \?\o\?!?\O\\81\98!?\1?I\Y\?\o\? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="211"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1Input_1a6" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>addKeyboardListener</name>
+ <param>
+ <type><ref idref="classsf_1_1system_1_1input_1_1keyboard_1_1Listener">keyboard::Listener</ref> *const</type>
+ <declname>pListener</declname>
+ </param>
+ <briefdescription>
+<para>
+\-!?\U!?\E\e\1\E!??IADI?. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<ref idref="classsf_1_1system_1_1input_1_1keyboard_1_1Listener">keyboard::Listener</ref>p. ?oADI??\81E?T?1!\81\92<linebreak/> \-!?\U!?\E\?\U\o\E?o?o?\81}?e?e????\\81P\e\1?I<ref idref="classsf_1_1system_1_1input_1_1keyboard_1_1Listener">keyboard::Listener</ref>p.\?\o\?!?\O\\81\98!?\1?o?AAo?\81E!\81\91 ?3?I\a\?\A\E?CADI??1?e?3?E?E?e?e\-!?\U!?\E\?\U\o\E?o?o?\81}?e?e?3?E?\81Ê?C?-?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>pListener</parametername><parameterdescription><para>
+<ref idref="classsf_1_1system_1_1input_1_1keyboard_1_1Listener">keyboard::Listener</ref>p. \?\o\?!?\O\\81\98!?\1?I\Y\?\o\? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="218"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1Input_1a7" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>removeKeyboardListener</name>
+ <param>
+ <type><ref idref="classsf_1_1system_1_1input_1_1keyboard_1_1Listener">keyboard::Listener</ref> *const</type>
+ <declname>pListener</declname>
+ </param>
+ <briefdescription>
+<para>
+\-!?\U!?\E\e\1\E!??Ioi?u. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<ref idref="classsf_1_1system_1_1input_1_1keyboard_1_1Listener">keyboard::Listener</ref>p. ?ooi?u?\81E?T?1!\81\92<linebreak/> <ref idref="classsf_1_1system_1_1input_1_1keyboard_1_1Listener">keyboard::Listener</ref>p. ?\81á?E?\81Êoi?u?\83Ê?i?e?E?-!\81\91?3?I\a\?\A\E?o\81CA?O?D?\81E?A!\81\91Talker?E?\81á?E?Ioi?u?oAIAI?\81E?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>pListener</parametername><parameterdescription><para>
+<ref idref="classsf_1_1system_1_1input_1_1keyboard_1_1Listener">keyboard::Listener</ref>p. \?\o\?!?\O\\81\98!?\1?I\Y\?\o\? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="224"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1Input_1a8" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const bool</type>
+ <name>left</name>
+ <reimplementedby id="classsf_1_1system_1_1input_1_1InputImpl_1a21">left</reimplementedby> <param>
+ <type>const bool</type>
+ <declname>bTrig</declname>
+ <defval>false</defval>
+ </param>
+ <briefdescription>
+<para>
+o\81C\U\?\o?\81Ê2!?\83Ê?i???\81á?E?|?\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+o\81C\U\?\o(\\81C\c\?\1\A\\81\92\A\\81P!|\\81á!?\?\e\-!?!E?\81Ê2!?\83Ê?i???i1c?Etrue?oEO?\81E?T?1!\81\92<linebreak/> <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>bTrig</parametername><parameterdescription><para>
+false ?I\81ât?I!\81\912!?\81E?A?N?E?\81E?I?i1c?C?atrue?oEO\83ÊN?\81E?T?1!\81\92<linebreak/> true?I?i1c?I!\81\91?AoY?E\U\?\o?\81Ê2!?\83Ê?i???E?-?I?s!\81\91true?oEO\83ÊN?\81E?T?1!\81\92 </para>
+</parameterdescription></parameterlist><parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???E??!! </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="234"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1Input_1a9" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const bool</type>
+ <name>right</name>
+ <reimplementedby id="classsf_1_1system_1_1input_1_1InputImpl_1a22">right</reimplementedby> <param>
+ <type>const bool</type>
+ <declname>bTrig</declname>
+ <defval>false</defval>
+ </param>
+ <briefdescription>
+<para>
+\81}|\U\?\o?\81Ê2!?\83Ê?i???\81á?E?|?\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\81}|\U\?\o(\\81C\c\?\1\A\\81\92\A\\81P!|\\81á!?\?\e\-!?!E?\81Ê2!?\83Ê?i???i1c?Etrue?oEO?\81E?T?1!\81\92<linebreak/> <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>bTrig</parametername><parameterdescription><para>
+false ?I\81ât?I!\81\912!?\81E?A?N?E?\81E?I?i1c?C?atrue?oEO\83ÊN?\81E?T?1!\81\92<linebreak/> true?I?i1c?I!\81\91?AoY?E\U\?\o?\81Ê2!?\83Ê?i???E?-?I?s!\81\91true?oEO\83ÊN?\81E?T?1!\81\92 </para>
+</parameterdescription></parameterlist><parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???E??!! </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="242"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1Input_1a10" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const bool</type>
+ <name>up</name>
+ <reimplementedby id="classsf_1_1system_1_1input_1_1InputImpl_1a23">up</reimplementedby> <param>
+ <type>const bool</type>
+ <declname>bTrig</declname>
+ <defval>false</defval>
+ </param>
+ <briefdescription>
+<para>
+?a\U\?\o?\81Ê2!?\83Ê?i???\81á?E?|?\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+?a\U\?\o(\\81C\c\?\1\A\\81\92\A\\81P!|\\81á!?\?\e\-!?!E?\81Ê2!?\83Ê?i???i1c?Etrue?oEO?\81E?T?1!\81\92<linebreak/> <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>bTrig</parametername><parameterdescription><para>
+false ?I\81ât?I!\81\912!?\81E?A?N?E?\81E?I?i1c?C?atrue?oEO\83ÊN?\81E?T?1!\81\92<linebreak/> true?I?i1c?I!\81\91?AoY?E\U\?\o?\81Ê2!?\83Ê?i???E?-?I?s!\81\91true?oEO\83ÊN?\81E?T?1!\81\92 </para>
+</parameterdescription></parameterlist><parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???E??!! </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="250"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1Input_1a11" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const bool</type>
+ <name>down</name>
+ <reimplementedby id="classsf_1_1system_1_1input_1_1InputImpl_1a24">down</reimplementedby> <param>
+ <type>const bool</type>
+ <declname>bTrig</declname>
+ <defval>false</defval>
+ </param>
+ <briefdescription>
+<para>
+2?\U\?\o?\81Ê2!?\83Ê?i???\81á?E?|?\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+2?\U\?\o(\\81C\c\?\1\A\\81\92\A\\81P!|\\81á!?\?\e\-!?!E?\81Ê2!?\83Ê?i???i1c?Etrue?oEO?\81E?T?1!\81\92<linebreak/> <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>bTrig</parametername><parameterdescription><para>
+false ?I\81ât?I!\81\912!?\81E?A?N?E?\81E?I?i1c?C?atrue?oEO\83ÊN?\81E?T?1!\81\92<linebreak/> true?I?i1c?I!\81\91?AoY?E\U\?\o?\81Ê2!?\83Ê?i???E?-?I?s!\81\91true?oEO\83ÊN?\81E?T?1!\81\92 </para>
+</parameterdescription></parameterlist><parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???E??!! </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="258"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1Input_1a12" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const bool</type>
+ <name>buttonA</name>
+ <reimplementedby id="classsf_1_1system_1_1input_1_1InputImpl_1a25">buttonA</reimplementedby> <param>
+ <type>const bool</type>
+ <declname>bTrig</declname>
+ <defval>false</defval>
+ </param>
+ <briefdescription>
+<para>
+A\U\?\o?\81Ê2!?\83Ê?i???\81á?E?|?\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+A\U\?\o(\\81C\c\?\1\A\\81\92\A\\81P?IA\U\?\o!|\-!?\U!?\E?IZ!E?\81Ê2!?\83Ê?i???i1c?Etrue?oEO?\81E?T?1!\81\92<linebreak/> <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>bTrig</parametername><parameterdescription><para>
+false ?I\81ât?I!\81\912!?\81E?A?N?E?\81E?I?i1c?C?atrue?oEO\83ÊN?\81E?T?1!\81\92<linebreak/> true?I?i1c?I!\81\91?AoY?E\U\?\o?\81Ê2!?\83Ê?i???E?-?I?s!\81\91true?oEO\83ÊN?\81E?T?1!\81\92 </para>
+</parameterdescription></parameterlist><parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???E??!! </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="266"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1Input_1a13" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const bool</type>
+ <name>buttonB</name>
+ <reimplementedby id="classsf_1_1system_1_1input_1_1InputImpl_1a26">buttonB</reimplementedby> <param>
+ <type>const bool</type>
+ <declname>bTrig</declname>
+ <defval>false</defval>
+ </param>
+ <briefdescription>
+<para>
+B\U\?\o?\81Ê2!?\83Ê?i???\81á?E?|?\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+B\U\?\o(\\81C\c\?\1\A\\81\92\A\\81P?IB\U\?\o!|\-!?\U!?\E?IX!E?\81Ê2!?\83Ê?i???i1c?Etrue?oEO?\81E?T?1!\81\92<linebreak/> <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>bTrig</parametername><parameterdescription><para>
+false ?I\81ât?I!\81\912!?\81E?A?N?E?\81E?I?i1c?C?atrue?oEO\83ÊN?\81E?T?1!\81\92<linebreak/> true?I?i1c?I!\81\91?AoY?E\U\?\o?\81Ê2!?\83Ê?i???E?-?I?s!\81\91true?oEO\83ÊN?\81E?T?1!\81\92 </para>
+</parameterdescription></parameterlist><parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???E??!! </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="274"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1Input_1a14" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const bool</type>
+ <name>buttonC</name>
+ <reimplementedby id="classsf_1_1system_1_1input_1_1InputImpl_1a27">buttonC</reimplementedby> <param>
+ <type>const bool</type>
+ <declname>bTrig</declname>
+ <defval>false</defval>
+ </param>
+ <briefdescription>
+<para>
+C\U\?\o?\81Ê2!?\83Ê?i???\81á?E?|?\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+C\U\?\o(\\81C\c\?\1\A\\81\92\A\\81P?IC\U\?\o!|\-!?\U!?\E?IC!E?\81Ê2!?\83Ê?i???i1c?Etrue?oEO?\81E?T?1!\81\92<linebreak/> <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>bTrig</parametername><parameterdescription><para>
+false ?I\81ât?I!\81\912!?\81E?A?N?E?\81E?I?i1c?C?atrue?oEO\83ÊN?\81E?T?1!\81\92<linebreak/> true?I?i1c?I!\81\91?AoY?E\U\?\o?\81Ê2!?\83Ê?i???E?-?I?s!\81\91true?oEO\83ÊN?\81E?T?1!\81\92 </para>
+</parameterdescription></parameterlist><parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???E??!! </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="282"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1Input_1a15" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const bool</type>
+ <name>buttonD</name>
+ <reimplementedby id="classsf_1_1system_1_1input_1_1InputImpl_1a28">buttonD</reimplementedby> <param>
+ <type>const bool</type>
+ <declname>bTrig</declname>
+ <defval>false</defval>
+ </param>
+ <briefdescription>
+<para>
+D\U\?\o?\81Ê2!?\83Ê?i???\81á?E?|?\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+D\U\?\o(\\81C\c\?\1\A\\81\92\A\\81P?ID\U\?\o!|\-!?\U!?\E?IV!E?\81Ê2!?\83Ê?i???i1c?Etrue?oEO?\81E?T?1!\81\92<linebreak/> <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>bTrig</parametername><parameterdescription><para>
+false ?I\81ât?I!\81\912!?\81E?A?N?E?\81E?I?i1c?C?atrue?oEO\83ÊN?\81E?T?1!\81\92<linebreak/> true?I?i1c?I!\81\91?AoY?E\U\?\o?\81Ê2!?\83Ê?i???E?-?I?s!\81\91true?oEO\83ÊN?\81E?T?1!\81\92 </para>
+</parameterdescription></parameterlist><parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???E??!! </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="290"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1Input_1a16" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const bool</type>
+ <name>start</name>
+ <reimplementedby id="classsf_1_1system_1_1input_1_1InputImpl_1a29">start</reimplementedby> <param>
+ <type>const bool</type>
+ <declname>bTrig</declname>
+ <defval>false</defval>
+ </param>
+ <briefdescription>
+<para>
+start\U\?\o?\81Ê2!?\83Ê?i???\81á?E?|?\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+start\U\?\o(\\81C\c\?\1\A\\81\92\A\\81P?IA\U\?\o!|\-!?\U!?\E?Ispace!E?\81Ê2!?\83Ê?i???i1c?Etrue?oEO?\81E?T?1!\81\92<linebreak/> <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>bTrig</parametername><parameterdescription><para>
+false ?I\81ât?I!\81\912!?\81E?A?N?E?\81E?I?i1c?C?atrue?oEO\83ÊN?\81E?T?1!\81\92<linebreak/> true?I?i1c?I!\81\91?AoY?E\U\?\o?\81Ê2!?\83Ê?i???E?-?I?s!\81\91true?oEO\83ÊN?\81E?T?1!\81\92 </para>
+</parameterdescription></parameterlist><parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???E??!! </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="298"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1Input_1a17" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const bool</type>
+ <name>exit</name>
+ <reimplementedby id="classsf_1_1system_1_1input_1_1InputImpl_1a30">exit</reimplementedby> <param>
+ <type>const bool</type>
+ <declname>bTrig</declname>
+ <defval>false</defval>
+ </param>
+ <briefdescription>
+<para>
+exit\U\?\o?\81Ê2!?\83Ê?i???\81á?E?|?\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+exit\U\?\o(\-!?\U!?\E?IESC!E?\81Ê2!?\83Ê?i???i1c?Etrue?oEO?\81E?T?1!\81\92<linebreak/> <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>bTrig</parametername><parameterdescription><para>
+false ?I\81ât?I!\81\912!?\81E?A?N?E?\81E?I?i1c?C?atrue?oEO\83ÊN?\81E?T?1!\81\92<linebreak/> true?I?i1c?I!\81\91?AoY?E\U\?\o?\81Ê2!?\83Ê?i???E?-?I?s!\81\91true?oEO\83ÊN?\81E?T?1!\81\92 </para>
+</parameterdescription></parameterlist><parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???E??!! </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="306"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1Input_1a18" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>showMouseCursor</name>
+ <reimplementedby id="classsf_1_1system_1_1input_1_1InputImpl_1a31">showMouseCursor</reimplementedby> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\T\|\1\\81á!?\?\e?oE??\81N?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="309"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1Input_1a19" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>hideMouseCursor</name>
+ <reimplementedby id="classsf_1_1system_1_1input_1_1InputImpl_1a32">hideMouseCursor</reimplementedby> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\T\|\1\\81á!?\?\e?o\81}\81\92?1. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="311"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1Input_1a20" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const bool</type>
+ <name>mouseCursorVisibility</name>
+ <reimplementedby id="classsf_1_1system_1_1input_1_1InputImpl_1a33">mouseCursorVisibility</reimplementedby> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\81C?os?I\T\|\1\\81á!?\?\e?I?oAO?oIa??1c?i?\81â?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\T\|\1\\81á!?\?\e?IE??\81N?\83Ê?i?A???T?1!\81\92 </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\T\|\1\\81á!?\?\e?IEoE??\81N?E?E?A?A???T?1!\81\92 </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="315"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1Input_1a21" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const bool</type>
+ <name>isEnabled</name>
+ <reimplementedby id="classsf_1_1system_1_1input_1_1InputImpl_1a34">isEnabled</reimplementedby> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\81C?os?I<ref idref="classsf_1_1system_1_1input_1_1Input">Input</ref>p.\?\o\?!?\O\\81\98!?\1?I?oAO?oIa??1c?i?\81â?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\81C?os!\81\91IoIN2AC??C?1!\81\92 </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\81C?os!\81\91IoINEO2AC??C?1!\81\92 </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="321"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+AtII\83Ê!\81Li\3\o\E\i!?\e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\?\o\\81~\A\E\C\D\?\1?I\3\o\E\i!?\e?o1O?|\?\o\?!?\O\\81\98!?\1?C?1 </para>
+ </detaileddescription>
+ <inheritancegraph>
+ <node id="140">
+ <label>sf::system::input::InputImpl</label>
+ <link id="classsf_1_1system_1_1input_1_1InputImpl"/>
+ <childnode id="139" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="139">
+ <label>sf::system::input::Input</label>
+ <link id="classsf_1_1system_1_1input_1_1Input"/>
+ </node>
+ </inheritancegraph>
+ <location file="J:/project/sfglib/Input.h" line="181" bodystart="180" bodyend="322"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1input_1_1InputImpl" kind="class">
+ <compoundname>sf::system::input::InputImpl</compoundname>
+ <basecompoundref idref="classsf_1_1system_1_1input_1_1Input" prot="public" virt="non-virtual"/>
+ <sectiondef kind="public-type">
+ <memberdef kind="typedef" id="classsf_1_1system_1_1input_1_1InputImpl_1s0" virt="normal" prot="public">
+ <type>std::vector< <ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">input::mouse::Listener</ref> * ></type>
+ <name>MouseListenerList</name>
+ <briefdescription>
+<para>
+\T\|\1\e\1\E!?\e\1\ECUIo\81E?Ae\83ÊA. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="33" bodystart="33" bodyend="-1"/>
+ <referencedby id="InputImpl_8cpp_1a11">onMouseWheel</referencedby>
+ </memberdef>
+ <memberdef kind="typedef" id="classsf_1_1system_1_1input_1_1InputImpl_1s1" virt="normal" prot="public">
+ <type>std::vector< <ref idref="classsf_1_1system_1_1input_1_1keyboard_1_1Listener">input::keyboard::Listener</ref> * ></type>
+ <name>KeyboardListenerList</name>
+ <briefdescription>
+<para>
+\-!?\U!?\E\e\1\E!?\e\1\ECUIo\81E?Ae\83ÊA. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="35" bodystart="35" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>InputImpl</name>
+ <briefdescription>
+<para>
+\3\o\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="37" bodystart="82" bodyend="85"/>
+ <referencedby id="InputImpl_8h_1d1">enumAxesCallback</referencedby>
+ <referencedby id="InputImpl_8h_1d0">enumJoysticksCallback</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a1" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>InputImpl</name>
+ <param>
+ <type>HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <briefdescription>
+<para>
+\3\o\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>hwnd</parametername><parameterdescription><para>
+\|\\81\92\o\E\|\I\o\E\e </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="41" bodystart="88" bodyend="92"/>
+ <references id="InputImpl_8h_1o8">mHWND</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a2" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~InputImpl</name>
+ <briefdescription>
+<para>
+\C\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="44" bodystart="95" bodyend="98"/>
+ <references id="InputImpl_8cpp_1c0">uninitialize</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a3" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>update</name>
+ <reimplements id="classsf_1_1system_1_1input_1_1Input_1a3">update</reimplements> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+AtII\C\D\?\1?I?oAO?I11?\81E. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+AtII\C\D\?\1?I?oAO?oAE?s?e?e!\81\91\81LOI\81\91?1?eEN?o?o11?\81E?\81E?T?1!\81\92 </para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="47" bodystart="374" bodyend="519"/>
+ <references id="InputImpl_8h_1o27">mbBeforeButtonA</references>
+ <references id="InputImpl_8h_1o28">mbBeforeButtonB</references>
+ <references id="InputImpl_8h_1o29">mbBeforeButtonC</references>
+ <references id="InputImpl_8h_1o30">mbBeforeButtonD</references>
+ <references id="InputImpl_8h_1o24">mbBeforeDown</references>
+ <references id="InputImpl_8h_1o32">mbBeforeExit</references>
+ <references id="InputImpl_8h_1o25">mbBeforeLeft</references>
+ <references id="InputImpl_8h_1o26">mbBeforeRight</references>
+ <references id="InputImpl_8h_1o31">mbBeforeStart</references>
+ <references id="InputImpl_8h_1o23">mbBeforeUp</references>
+ <references id="InputImpl_8h_1o17">mbButtonA</references>
+ <references id="InputImpl_8h_1o18">mbButtonB</references>
+ <references id="InputImpl_8h_1o19">mbButtonC</references>
+ <references id="InputImpl_8h_1o20">mbButtonD</references>
+ <references id="InputImpl_8h_1o14">mbDown</references>
+ <references id="InputImpl_8h_1o22">mbExit</references>
+ <references id="InputImpl_8h_1o15">mbLeft</references>
+ <references id="InputImpl_8h_1o16">mbRight</references>
+ <references id="InputImpl_8h_1o21">mbStart</references>
+ <references id="InputImpl_8h_1o13">mbUp</references>
+ <references id="InputImpl_8h_1o6">mDIJoyState</references>
+ <references id="InputImpl_8h_1o7">mDIKeys</references>
+ <references id="InputImpl_8h_1o11">mKeyboardListenerList</references>
+ <references id="InputImpl_8h_1o12">mKeyboardListenerQ</references>
+ <references id="InputImpl_8h_1o9">mMouseListenerList</references>
+ <references id="InputImpl_8h_1o10">mMouseListenerQ</references>
+ <references id="InputImpl_8h_1o3">mpJoystick</references>
+ <references id="InputImpl_8h_1o4">mpKeyboard</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a4" virt="normal" prot="public" const="no" volatile="no">
+ <type>LRESULT</type>
+ <name>onLButtonDown</name>
+ <param>
+ <type>const HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <param>
+ <type>const WPARAM</type>
+ <declname>wParam</declname>
+ </param>
+ <param>
+ <type>const LPARAM</type>
+ <declname>lParam</declname>
+ </param>
+ <briefdescription>
+<para>
+o\81C\T\|\1\U\?\o?\81Ê2!?\83Ê?i??. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<ref idref="classsf_1_1system_1_1SystemImpl_1d0">SystemImpl::wndFunc</ref>()p.?e?eWM_LBUTTONDOWN?o?o?\81}?e?e!\81\91???i?o<ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">mouse::Listener</ref>p.???A?EAIAI?\81E?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>hwnd</parametername><parameterdescription><para>
+\|\\81\92\o\E\|\I\o\E\e </para>
+</parameterdescription><parametername>wParam</parametername><parameterdescription><para>
+WPARAM </para>
+</parameterdescription><parametername>lParam</parametername><parameterdescription><para>
+LPARAM </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="66" bodystart="532" bodyend="535"/>
+ <references id="classsf_1_1system_1_1input_1_1InputImpl_1a13">callMouseListenerMethod</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a5" virt="normal" prot="public" const="no" volatile="no">
+ <type>LRESULT</type>
+ <name>onLButtonDoubleClick</name>
+ <param>
+ <type>const HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <param>
+ <type>const WPARAM</type>
+ <declname>wParam</declname>
+ </param>
+ <param>
+ <type>const LPARAM</type>
+ <declname>lParam</declname>
+ </param>
+ <briefdescription>
+<para>
+o\81C\T\|\1\U\?\o?\81Ê\A\O\e\\81P\e\A\\81P?\83Ê?i??. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<ref idref="classsf_1_1system_1_1SystemImpl_1d0">SystemImpl::wndFunc</ref>()p.?e?eWM_LBUTTONDBLCLK?o?o?\81}?e?e!\81\91<ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">mouse::Listener</ref>p.???A?EAIAI?\81E?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>hwnd</parametername><parameterdescription><para>
+\|\\81\92\o\E\|\I\o\E\e </para>
+</parameterdescription><parametername>wParam</parametername><parameterdescription><para>
+WPARAM </para>
+</parameterdescription><parametername>lParam</parametername><parameterdescription><para>
+LPARAM </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="73" bodystart="544" bodyend="547"/>
+ <references id="classsf_1_1system_1_1input_1_1InputImpl_1a13">callMouseListenerMethod</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a6" virt="normal" prot="public" const="no" volatile="no">
+ <type>LRESULT</type>
+ <name>onLButtonUp</name>
+ <param>
+ <type>const HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <param>
+ <type>const WPARAM</type>
+ <declname>wParam</declname>
+ </param>
+ <param>
+ <type>const LPARAM</type>
+ <declname>lParam</declname>
+ </param>
+ <briefdescription>
+<para>
+o\81C\T\|\1\U\?\o?\81ÊI\?\83Ê?i??. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<ref idref="classsf_1_1system_1_1SystemImpl_1d0">SystemImpl::wndFunc</ref>()p.?e?eWM_LBUTTONUP?o?o?\81}?e?e!\81\91<ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">mouse::Listener</ref>p.???A?EAIAI?\81E?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>hwnd</parametername><parameterdescription><para>
+\|\\81\92\o\E\|\I\o\E\e </para>
+</parameterdescription><parametername>wParam</parametername><parameterdescription><para>
+WPARAM </para>
+</parameterdescription><parametername>lParam</parametername><parameterdescription><para>
+LPARAM </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="80" bodystart="538" bodyend="541"/>
+ <references id="classsf_1_1system_1_1input_1_1InputImpl_1a13">callMouseListenerMethod</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a7" virt="normal" prot="public" const="no" volatile="no">
+ <type>LRESULT</type>
+ <name>onRButtonDoubleClick</name>
+ <param>
+ <type>const HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <param>
+ <type>const WPARAM</type>
+ <declname>wParam</declname>
+ </param>
+ <param>
+ <type>const LPARAM</type>
+ <declname>lParam</declname>
+ </param>
+ <briefdescription>
+<para>
+\81}|\T\|\1\U\?\o?\81Ê\A\O\e\\81P\e\A\\81P?\83Ê?i??. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<ref idref="classsf_1_1system_1_1SystemImpl_1d0">SystemImpl::wndFunc</ref>()p.?e?eWM_RBUTTONDBLCLK?o?o?\81}?e?e!\81\91<ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">mouse::Listener</ref>p.???A?EAIAI?\81E?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>hwnd</parametername><parameterdescription><para>
+\|\\81\92\o\E\|\I\o\E\e </para>
+</parameterdescription><parametername>wParam</parametername><parameterdescription><para>
+WPARAM </para>
+</parameterdescription><parametername>lParam</parametername><parameterdescription><para>
+LPARAM </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="87" bodystart="562" bodyend="565"/>
+ <references id="classsf_1_1system_1_1input_1_1InputImpl_1a13">callMouseListenerMethod</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a8" virt="normal" prot="public" const="no" volatile="no">
+ <type>LRESULT</type>
+ <name>onRButtonDown</name>
+ <param>
+ <type>const HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <param>
+ <type>const WPARAM</type>
+ <declname>wParam</declname>
+ </param>
+ <param>
+ <type>const LPARAM</type>
+ <declname>lParam</declname>
+ </param>
+ <briefdescription>
+<para>
+\81}|\T\|\1\U\?\o?\81Ê2!?\83Ê?i??. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<ref idref="classsf_1_1system_1_1SystemImpl_1d0">SystemImpl::wndFunc</ref>()p.?e?eWM_RBUTTONDOWN?o?o?\81}?e?e!\81\91<ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">mouse::Listener</ref>p.???A?EAIAI?\81E?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>hwnd</parametername><parameterdescription><para>
+\|\\81\92\o\E\|\I\o\E\e </para>
+</parameterdescription><parametername>wParam</parametername><parameterdescription><para>
+WPARAM </para>
+</parameterdescription><parametername>lParam</parametername><parameterdescription><para>
+LPARAM </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="94" bodystart="550" bodyend="553"/>
+ <references id="classsf_1_1system_1_1input_1_1InputImpl_1a13">callMouseListenerMethod</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a9" virt="normal" prot="public" const="no" volatile="no">
+ <type>LRESULT</type>
+ <name>onRButtonUp</name>
+ <param>
+ <type>const HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <param>
+ <type>const WPARAM</type>
+ <declname>wParam</declname>
+ </param>
+ <param>
+ <type>const LPARAM</type>
+ <declname>lParam</declname>
+ </param>
+ <briefdescription>
+<para>
+\81}|\T\|\1\U\?\o?\81ÊI\?\83Ê?i??. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<ref idref="classsf_1_1system_1_1SystemImpl_1d0">SystemImpl::wndFunc</ref>()p.?e?eWM_RBUTTONUP?o?o?\81}?e?e!\81\91<ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">mouse::Listener</ref>p.???A?EAIAI?\81E?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>hwnd</parametername><parameterdescription><para>
+\|\\81\92\o\E\|\I\o\E\e </para>
+</parameterdescription><parametername>wParam</parametername><parameterdescription><para>
+WPARAM </para>
+</parameterdescription><parametername>lParam</parametername><parameterdescription><para>
+LPARAM </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="101" bodystart="556" bodyend="559"/>
+ <references id="classsf_1_1system_1_1input_1_1InputImpl_1a13">callMouseListenerMethod</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a10" virt="normal" prot="public" const="no" volatile="no">
+ <type>LRESULT</type>
+ <name>onMouseMove</name>
+ <param>
+ <type>const HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <param>
+ <type>const WPARAM</type>
+ <declname>wParam</declname>
+ </param>
+ <param>
+ <type>const LPARAM</type>
+ <declname>lParam</declname>
+ </param>
+ <briefdescription>
+<para>
+\T\|\1\\81á!?\?\e?\81ÊA\81\8b????. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<ref idref="classsf_1_1system_1_1SystemImpl_1d0">SystemImpl::wndFunc</ref>()p.?e?eWM_MOUSEMOVE?o?o?\81}?e?e!\81\91<ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">mouse::Listener</ref>p.???A?EAIAI?\81E?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>hwnd</parametername><parameterdescription><para>
+\|\\81\92\o\E\|\I\o\E\e </para>
+</parameterdescription><parametername>wParam</parametername><parameterdescription><para>
+WPARAM </para>
+</parameterdescription><parametername>lParam</parametername><parameterdescription><para>
+LPARAM </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="108" bodystart="568" bodyend="571"/>
+ <references id="classsf_1_1system_1_1input_1_1InputImpl_1a13">callMouseListenerMethod</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a11" virt="normal" prot="public" const="no" volatile="no">
+ <type>LRESULT</type>
+ <name>onMouseWheel</name>
+ <param>
+ <type>const HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <param>
+ <type>const WPARAM</type>
+ <declname>wParam</declname>
+ </param>
+ <param>
+ <type>const LPARAM</type>
+ <declname>lParam</declname>
+ </param>
+ <briefdescription>
+<para>
+\T\|\1\U\?!?\e?\81ÊEN2??\81E??. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<ref idref="classsf_1_1system_1_1SystemImpl_1d0">SystemImpl::wndFunc</ref>()p.?e?eWM_MOUSEWHEEL?o?o?\81}?e?e!\81\91<ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">mouse::Listener</ref>p.???A?EAIAI?\81E?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>hwnd</parametername><parameterdescription><para>
+\|\\81\92\o\E\|\I\o\E\e </para>
+</parameterdescription><parametername>wParam</parametername><parameterdescription><para>
+WPARAM </para>
+</parameterdescription><parametername>lParam</parametername><parameterdescription><para>
+LPARAM </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="115" bodystart="574" bodyend="577"/>
+ <references id="classsf_1_1system_1_1input_1_1InputImpl_1a13">callMouseListenerMethod</references>
+ <references id="System_8h_1a0">sf::DWORD</references>
+ <references id="namespacesf_1_1system_1_1input_1_1mouse_1a5a0">sf::system::input::mouse::MKEY_CONTROL</references>
+ <references id="namespacesf_1_1system_1_1input_1_1mouse_1a5a3">sf::system::input::mouse::MKEY_SHIFT</references>
+ <references id="InputImpl_8h_1o9">mMouseListenerList</references>
+ <references id="InputImpl_8h_1s0">MouseListenerList</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a12" virt="normal" prot="public" const="no" volatile="no">
+ <type>LRESULT</type>
+ <name>onSetCursor</name>
+ <param>
+ <type>const HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <param>
+ <type>const WPARAM</type>
+ <declname>wParam</declname>
+ </param>
+ <param>
+ <type>const LPARAM</type>
+ <declname>lParam</declname>
+ </param>
+ <briefdescription>
+<para>
+WM_ONSETCURSOR?o?o?\81}?e?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<ref idref="classsf_1_1system_1_1SystemImpl_1d0">SystemImpl::wndFunc</ref>()p.?e?eWM_ONSETCURSOR?o?o?\81}?e?e?T?1!\81\92 ?3?I\\81E\1\A\a?C?I!\81\91\T\|\1\\81á!?\?\e?o?A\83Êi!|E??\81N?I\3\o\E\i!?\e?I???a!\81\91?3?I\a\A\\81â!?\\81C?o?o?\81}?e?A?A???T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>hwnd</parametername><parameterdescription><para>
+\|\\81\92\o\E\|\I\o\E\e </para>
+</parameterdescription><parametername>wParam</parametername><parameterdescription><para>
+WPARAM </para>
+</parameterdescription><parametername>lParam</parametername><parameterdescription><para>
+LPARAM </para>
+</parameterdescription></parameterlist></para>
+<simplesect kind="note"><title>3D?\81N?n?-: </title><para>
+WM_SETCURSOR \?\U\o\E?I!\81\91\T\|\1AtII?\81Ê\-\a\\81~\A\a?\83Ê?i?o!\81\91\|\\81\92\o\E\|Aa?C\\81á!?\?\e?o\81\8bUA\81\8b?1?e?E?-?EE\81PA\81C?1?e\a\A\\81â!?\\81C?C?1!\81\92 </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="124" bodystart="521" bodyend="529"/>
+ <references id="InputImpl_8h_1a33">mouseCursorVisibility</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a13" virt="normal" prot="public" const="no" volatile="no">
+ <type>LRESULT</type>
+ <name>callMouseListenerMethod</name>
+ <param>
+ <type>const HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <param>
+ <type>const WPARAM</type>
+ <declname>wParam</declname>
+ </param>
+ <param>
+ <type>const LPARAM</type>
+ <declname>lParam</declname>
+ </param>
+ <param>
+ <type>void(input::mouse::Listener::*)(const int, const int, const <ref idref="namespacesf_1a0">DWORD</ref>)</type>
+ <declname>pMethod</declname>
+ </param>
+ <briefdescription>
+<para>
+\T\|\1\e\1\E!??I\a\?\A\E?o\81CA?O?D?1. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\|\\81\92\o\E\|\a\A\\81â!?\\81C?o?o?\81}?e?A?A<ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">mouse::Listener</ref>p.?I3A\a\?\A\E?o\81CA?O?D?1oi\81÷E?o\81LEI\81Ê2??\81E?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>hwnd</parametername><parameterdescription><para>
+\|\\81\92\o\E\|\I\o\E\e </para>
+</parameterdescription><parametername>wParam</parametername><parameterdescription><para>
+WPARAM </para>
+</parameterdescription><parametername>lParam</parametername><parameterdescription><para>
+LPARAM </para>
+</parameterdescription><parametername>pMethod</parametername><parameterdescription><para>
+<ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">mouse::Listener</ref>p.?I\a\?\A\E?I\Y\?\o\?!! </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="132"/>
+ <referencedby id="InputImpl_8cpp_1a5">onLButtonDoubleClick</referencedby>
+ <referencedby id="InputImpl_8cpp_1a4">onLButtonDown</referencedby>
+ <referencedby id="InputImpl_8cpp_1a6">onLButtonUp</referencedby>
+ <referencedby id="InputImpl_8cpp_1a10">onMouseMove</referencedby>
+ <referencedby id="InputImpl_8cpp_1a11">onMouseWheel</referencedby>
+ <referencedby id="InputImpl_8cpp_1a7">onRButtonDoubleClick</referencedby>
+ <referencedby id="InputImpl_8cpp_1a8">onRButtonDown</referencedby>
+ <referencedby id="InputImpl_8cpp_1a9">onRButtonUp</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a14" virt="normal" prot="public" const="no" volatile="no">
+ <type>LRESULT</type>
+ <name>onKeyDown</name>
+ <param>
+ <type>const HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <param>
+ <type>const WPARAM</type>
+ <declname>wParam</declname>
+ </param>
+ <param>
+ <type>const LPARAM</type>
+ <declname>lParam</declname>
+ </param>
+ <briefdescription>
+<para>
+\-!?\U!?\E?\81Ê2!?\83Ê?i??. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<ref idref="classsf_1_1system_1_1SystemImpl_1d0">system::SystemImpl::wndFunc</ref>()p.?e?eWM_KEYDOWN?o?o?\81}?e?e!\81\91<ref idref="classsf_1_1system_1_1input_1_1keyboard_1_1Listener">keyboard::Listener</ref>p.???A?EAIAI?\81E?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>hwnd</parametername><parameterdescription><para>
+\|\\81\92\o\E\|\I\o\E\e </para>
+</parameterdescription><parametername>wParam</parametername><parameterdescription><para>
+WPARAM </para>
+</parameterdescription><parametername>lParam</parametername><parameterdescription><para>
+LPARAM </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="140" bodystart="623" bodyend="658"/>
+ <references id="System_8h_1a0">sf::DWORD</references>
+ <references id="InputImpl_8h_1o11">mKeyboardListenerList</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a15" virt="normal" prot="public" const="no" volatile="no">
+ <type>LRESULT</type>
+ <name>onKeyUp</name>
+ <param>
+ <type>const HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <param>
+ <type>const WPARAM</type>
+ <declname>wParam</declname>
+ </param>
+ <param>
+ <type>const LPARAM</type>
+ <declname>lParam</declname>
+ </param>
+ <briefdescription>
+<para>
+\-!?\U!?\E?\81ÊI\?\83Ê?i??. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<ref idref="classsf_1_1system_1_1SystemImpl_1d0">system::SystemImpl::wndFunc</ref>()p.?e?eWM_KEYUP?o?o?\81}?e?e!\81\91<ref idref="classsf_1_1system_1_1input_1_1keyboard_1_1Listener">keyboard::Listener</ref>p.???A?EAIAI?\81E?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>hwnd</parametername><parameterdescription><para>
+\|\\81\92\o\E\|\I\o\E\e </para>
+</parameterdescription><parametername>wParam</parametername><parameterdescription><para>
+WPARAM </para>
+</parameterdescription><parametername>lParam</parametername><parameterdescription><para>
+LPARAM </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="147" bodystart="661" bodyend="664"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a16" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>addWindowMessageMap</name>
+ <briefdescription>
+<para>
+\|\\81\92\o\E\|\a\A\\81â!?\\81C\T\A\\81~?OADI??o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\e!?\A\\81\92\o\\81\8b?\81E????\|\\81\92\o\E\|\a\A\\81â!?\\81C?oADI??\81E?T?1!\81\92 </para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="151" bodystart="667" bodyend="686"/>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a17" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>addMouseListener</name>
+ <param>
+ <type><ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">input::mouse::Listener</ref> *const</type>
+ <declname>pListener</declname>
+ </param>
+ <briefdescription>
+<para>
+MouseListener?IAE2A?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">mouse::Listener</ref>p.?o<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o10">InputImpl::mMouseListenerQ</ref>p.?EAE2A?\81E?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>pListener</parametername><parameterdescription><para>
+<ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">mouse::Listener</ref>p.?I\Y\?\o\? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="156" bodystart="156" bodyend="158"/>
+ <references id="InputImpl_8h_1o10">mMouseListenerQ</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a18" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>removeMouseListener</name>
+ <param>
+ <type><ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">input::mouse::Listener</ref> *const</type>
+ <declname>pListener</declname>
+ </param>
+ <briefdescription>
+<para>
+MouseListener?Ioi?u?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>pListener</parametername><parameterdescription><para>
+<ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">mouse::Listener</ref>p.?I\Y\?\o\? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="163" bodystart="163" bodyend="181"/>
+ <references id="InputImpl_8h_1o9">mMouseListenerList</references>
+ <references id="InputImpl_8h_1o10">mMouseListenerQ</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a19" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>addKeyboardListener</name>
+ <param>
+ <type><ref idref="classsf_1_1system_1_1input_1_1keyboard_1_1Listener">input::keyboard::Listener</ref> *const</type>
+ <declname>pListener</declname>
+ </param>
+ <briefdescription>
+<para>
+KeyboardListener?IAE2A?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>pListener</parametername><parameterdescription><para>
+<ref idref="classsf_1_1system_1_1input_1_1keyboard_1_1Listener">keyboard::Listener</ref>p. ?I\Y\?\o\? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="185" bodystart="185" bodyend="187"/>
+ <references id="InputImpl_8h_1o12">mKeyboardListenerQ</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a20" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>removeKeyboardListener</name>
+ <param>
+ <type><ref idref="classsf_1_1system_1_1input_1_1keyboard_1_1Listener">input::keyboard::Listener</ref> *const</type>
+ <declname>pListener</declname>
+ </param>
+ <briefdescription>
+<para>
+KeyboardListener?Ioi?u?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>pListener</parametername><parameterdescription><para>
+<ref idref="classsf_1_1system_1_1input_1_1keyboard_1_1Listener">keyboard::Listener</ref>p.?I\Y\?\o\? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="192" bodystart="192" bodyend="210"/>
+ <references id="InputImpl_8h_1o11">mKeyboardListenerList</references>
+ <references id="InputImpl_8h_1o12">mKeyboardListenerQ</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a21" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const bool</type>
+ <name>left</name>
+ <reimplements id="classsf_1_1system_1_1input_1_1Input_1a8">left</reimplements> <param>
+ <type>const bool</type>
+ <declname>bTrig</declname>
+ <defval>false</defval>
+ </param>
+ <briefdescription>
+<para>
+o\81C\U\?\o?\81Ê2!?\83Ê?i???\81á?E?|?\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+o\81C\U\?\o(\\81C\c\?\1\A\\81\92\A\\81P!|\\81á!?\?\e\-!?!E?\81Ê2!?\83Ê?i???i1c?Etrue?oEO?\81E?T?1!\81\92<linebreak/> <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>bTrig</parametername><parameterdescription><para>
+false ?I\81ât?I!\81\912!?\81E?A?N?E?\81E?I?i1c?C?atrue?oEO\83ÊN?\81E?T?1!\81\92<linebreak/> true?I?i1c?I!\81\91?AoY?E\U\?\o?\81Ê2!?\83Ê?i???E?-?I?s!\81\91true?oEO\83ÊN?\81E?T?1!\81\92 </para>
+</parameterdescription></parameterlist><parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???E??!! </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="214" bodystart="213" bodyend="214"/>
+ <references id="InputImpl_8h_1o25">mbBeforeLeft</references>
+ <references id="InputImpl_8h_1o15">mbLeft</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a22" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const bool</type>
+ <name>right</name>
+ <reimplements id="classsf_1_1system_1_1input_1_1Input_1a9">right</reimplements> <param>
+ <type>const bool</type>
+ <declname>bTrig</declname>
+ <defval>false</defval>
+ </param>
+ <briefdescription>
+<para>
+\81}|\U\?\o?\81Ê2!?\83Ê?i???\81á?E?|?\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\81}|\U\?\o(\\81C\c\?\1\A\\81\92\A\\81P!|\\81á!?\?\e\-!?!E?\81Ê2!?\83Ê?i???i1c?Etrue?oEO?\81E?T?1!\81\92<linebreak/> <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>bTrig</parametername><parameterdescription><para>
+false ?I\81ât?I!\81\912!?\81E?A?N?E?\81E?I?i1c?C?atrue?oEO\83ÊN?\81E?T?1!\81\92<linebreak/> true?I?i1c?I!\81\91?AoY?E\U\?\o?\81Ê2!?\83Ê?i???E?-?I?s!\81\91true?oEO\83ÊN?\81E?T?1!\81\92 </para>
+</parameterdescription></parameterlist><parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???E??!! </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="216" bodystart="215" bodyend="216"/>
+ <references id="InputImpl_8h_1o26">mbBeforeRight</references>
+ <references id="InputImpl_8h_1o16">mbRight</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a23" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const bool</type>
+ <name>up</name>
+ <reimplements id="classsf_1_1system_1_1input_1_1Input_1a10">up</reimplements> <param>
+ <type>const bool</type>
+ <declname>bTrig</declname>
+ <defval>false</defval>
+ </param>
+ <briefdescription>
+<para>
+?a\U\?\o?\81Ê2!?\83Ê?i???\81á?E?|?\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+?a\U\?\o(\\81C\c\?\1\A\\81\92\A\\81P!|\\81á!?\?\e\-!?!E?\81Ê2!?\83Ê?i???i1c?Etrue?oEO?\81E?T?1!\81\92<linebreak/> <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>bTrig</parametername><parameterdescription><para>
+false ?I\81ât?I!\81\912!?\81E?A?N?E?\81E?I?i1c?C?atrue?oEO\83ÊN?\81E?T?1!\81\92<linebreak/> true?I?i1c?I!\81\91?AoY?E\U\?\o?\81Ê2!?\83Ê?i???E?-?I?s!\81\91true?oEO\83ÊN?\81E?T?1!\81\92 </para>
+</parameterdescription></parameterlist><parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???E??!! </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="218" bodystart="217" bodyend="218"/>
+ <references id="InputImpl_8h_1o23">mbBeforeUp</references>
+ <references id="InputImpl_8h_1o13">mbUp</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a24" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const bool</type>
+ <name>down</name>
+ <reimplements id="classsf_1_1system_1_1input_1_1Input_1a11">down</reimplements> <param>
+ <type>const bool</type>
+ <declname>bTrig</declname>
+ <defval>false</defval>
+ </param>
+ <briefdescription>
+<para>
+2?\U\?\o?\81Ê2!?\83Ê?i???\81á?E?|?\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+2?\U\?\o(\\81C\c\?\1\A\\81\92\A\\81P!|\\81á!?\?\e\-!?!E?\81Ê2!?\83Ê?i???i1c?Etrue?oEO?\81E?T?1!\81\92<linebreak/> <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>bTrig</parametername><parameterdescription><para>
+false ?I\81ât?I!\81\912!?\81E?A?N?E?\81E?I?i1c?C?atrue?oEO\83ÊN?\81E?T?1!\81\92<linebreak/> true?I?i1c?I!\81\91?AoY?E\U\?\o?\81Ê2!?\83Ê?i???E?-?I?s!\81\91true?oEO\83ÊN?\81E?T?1!\81\92 </para>
+</parameterdescription></parameterlist><parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???E??!! </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="220" bodystart="219" bodyend="220"/>
+ <references id="InputImpl_8h_1o24">mbBeforeDown</references>
+ <references id="InputImpl_8h_1o14">mbDown</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a25" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const bool</type>
+ <name>buttonA</name>
+ <reimplements id="classsf_1_1system_1_1input_1_1Input_1a12">buttonA</reimplements> <param>
+ <type>const bool</type>
+ <declname>bTrig</declname>
+ <defval>false</defval>
+ </param>
+ <briefdescription>
+<para>
+A\U\?\o?\81Ê2!?\83Ê?i???\81á?E?|?\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+A\U\?\o(\\81C\c\?\1\A\\81\92\A\\81P?IA\U\?\o!|\-!?\U!?\E?IZ!E?\81Ê2!?\83Ê?i???i1c?Etrue?oEO?\81E?T?1!\81\92<linebreak/> <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>bTrig</parametername><parameterdescription><para>
+false ?I\81ât?I!\81\912!?\81E?A?N?E?\81E?I?i1c?C?atrue?oEO\83ÊN?\81E?T?1!\81\92<linebreak/> true?I?i1c?I!\81\91?AoY?E\U\?\o?\81Ê2!?\83Ê?i???E?-?I?s!\81\91true?oEO\83ÊN?\81E?T?1!\81\92 </para>
+</parameterdescription></parameterlist><parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???E??!! </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="222" bodystart="221" bodyend="222"/>
+ <references id="InputImpl_8h_1o27">mbBeforeButtonA</references>
+ <references id="InputImpl_8h_1o17">mbButtonA</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a26" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const bool</type>
+ <name>buttonB</name>
+ <reimplements id="classsf_1_1system_1_1input_1_1Input_1a13">buttonB</reimplements> <param>
+ <type>const bool</type>
+ <declname>bTrig</declname>
+ <defval>false</defval>
+ </param>
+ <briefdescription>
+<para>
+B\U\?\o?\81Ê2!?\83Ê?i???\81á?E?|?\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+B\U\?\o(\\81C\c\?\1\A\\81\92\A\\81P?IB\U\?\o!|\-!?\U!?\E?IX!E?\81Ê2!?\83Ê?i???i1c?Etrue?oEO?\81E?T?1!\81\92<linebreak/> <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>bTrig</parametername><parameterdescription><para>
+false ?I\81ât?I!\81\912!?\81E?A?N?E?\81E?I?i1c?C?atrue?oEO\83ÊN?\81E?T?1!\81\92<linebreak/> true?I?i1c?I!\81\91?AoY?E\U\?\o?\81Ê2!?\83Ê?i???E?-?I?s!\81\91true?oEO\83ÊN?\81E?T?1!\81\92 </para>
+</parameterdescription></parameterlist><parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???E??!! </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="224" bodystart="223" bodyend="224"/>
+ <references id="InputImpl_8h_1o28">mbBeforeButtonB</references>
+ <references id="InputImpl_8h_1o18">mbButtonB</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a27" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const bool</type>
+ <name>buttonC</name>
+ <reimplements id="classsf_1_1system_1_1input_1_1Input_1a14">buttonC</reimplements> <param>
+ <type>const bool</type>
+ <declname>bTrig</declname>
+ <defval>false</defval>
+ </param>
+ <briefdescription>
+<para>
+C\U\?\o?\81Ê2!?\83Ê?i???\81á?E?|?\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+C\U\?\o(\\81C\c\?\1\A\\81\92\A\\81P?IC\U\?\o!|\-!?\U!?\E?IC!E?\81Ê2!?\83Ê?i???i1c?Etrue?oEO?\81E?T?1!\81\92<linebreak/> <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>bTrig</parametername><parameterdescription><para>
+false ?I\81ât?I!\81\912!?\81E?A?N?E?\81E?I?i1c?C?atrue?oEO\83ÊN?\81E?T?1!\81\92<linebreak/> true?I?i1c?I!\81\91?AoY?E\U\?\o?\81Ê2!?\83Ê?i???E?-?I?s!\81\91true?oEO\83ÊN?\81E?T?1!\81\92 </para>
+</parameterdescription></parameterlist><parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???E??!! </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="226" bodystart="225" bodyend="226"/>
+ <references id="InputImpl_8h_1o29">mbBeforeButtonC</references>
+ <references id="InputImpl_8h_1o19">mbButtonC</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a28" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const bool</type>
+ <name>buttonD</name>
+ <reimplements id="classsf_1_1system_1_1input_1_1Input_1a15">buttonD</reimplements> <param>
+ <type>const bool</type>
+ <declname>bTrig</declname>
+ <defval>false</defval>
+ </param>
+ <briefdescription>
+<para>
+D\U\?\o?\81Ê2!?\83Ê?i???\81á?E?|?\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+D\U\?\o(\\81C\c\?\1\A\\81\92\A\\81P?ID\U\?\o!|\-!?\U!?\E?IV!E?\81Ê2!?\83Ê?i???i1c?Etrue?oEO?\81E?T?1!\81\92<linebreak/> <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>bTrig</parametername><parameterdescription><para>
+false ?I\81ât?I!\81\912!?\81E?A?N?E?\81E?I?i1c?C?atrue?oEO\83ÊN?\81E?T?1!\81\92<linebreak/> true?I?i1c?I!\81\91?AoY?E\U\?\o?\81Ê2!?\83Ê?i???E?-?I?s!\81\91true?oEO\83ÊN?\81E?T?1!\81\92 </para>
+</parameterdescription></parameterlist><parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???E??!! </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="228" bodystart="227" bodyend="228"/>
+ <references id="InputImpl_8h_1o30">mbBeforeButtonD</references>
+ <references id="InputImpl_8h_1o20">mbButtonD</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a29" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const bool</type>
+ <name>start</name>
+ <reimplements id="classsf_1_1system_1_1input_1_1Input_1a16">start</reimplements> <param>
+ <type>const bool</type>
+ <declname>bTrig</declname>
+ <defval>false</defval>
+ </param>
+ <briefdescription>
+<para>
+start\U\?\o?\81Ê2!?\83Ê?i???\81á?E?|?\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+start\U\?\o(\\81C\c\?\1\A\\81\92\A\\81P?IA\U\?\o!|\-!?\U!?\E?Ispace!E?\81Ê2!?\83Ê?i???i1c?Etrue?oEO?\81E?T?1!\81\92<linebreak/> <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>bTrig</parametername><parameterdescription><para>
+false ?I\81ât?I!\81\912!?\81E?A?N?E?\81E?I?i1c?C?atrue?oEO\83ÊN?\81E?T?1!\81\92<linebreak/> true?I?i1c?I!\81\91?AoY?E\U\?\o?\81Ê2!?\83Ê?i???E?-?I?s!\81\91true?oEO\83ÊN?\81E?T?1!\81\92 </para>
+</parameterdescription></parameterlist><parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???E??!! </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="230" bodystart="229" bodyend="230"/>
+ <references id="InputImpl_8h_1o31">mbBeforeStart</references>
+ <references id="InputImpl_8h_1o21">mbStart</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a30" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const bool</type>
+ <name>exit</name>
+ <reimplements id="classsf_1_1system_1_1input_1_1Input_1a17">exit</reimplements> <param>
+ <type>const bool</type>
+ <declname>bTrig</declname>
+ <defval>false</defval>
+ </param>
+ <briefdescription>
+<para>
+exit\U\?\o?\81Ê2!?\83Ê?i???\81á?E?|?\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+exit\U\?\o(\-!?\U!?\E?IESC!E?\81Ê2!?\83Ê?i???i1c?Etrue?oEO?\81E?T?1!\81\92<linebreak/> <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>bTrig</parametername><parameterdescription><para>
+false ?I\81ât?I!\81\912!?\81E?A?N?E?\81E?I?i1c?C?atrue?oEO\83ÊN?\81E?T?1!\81\92<linebreak/> true?I?i1c?I!\81\91?AoY?E\U\?\o?\81Ê2!?\83Ê?i???E?-?I?s!\81\91true?oEO\83ÊN?\81E?T?1!\81\92 </para>
+</parameterdescription></parameterlist><parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\U\?\o?\81Ê2!?\83Ê?i?A???E??!! </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="232" bodystart="231" bodyend="232"/>
+ <references id="InputImpl_8h_1o32">mbBeforeExit</references>
+ <references id="InputImpl_8h_1o22">mbExit</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a31" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>showMouseCursor</name>
+ <reimplements id="classsf_1_1system_1_1input_1_1Input_1a18">showMouseCursor</reimplements> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\T\|\1\\81á!?\?\e?oE??\81N?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="234" bodystart="234" bodyend="234"/>
+ <references id="InputImpl_8h_1o1">mbMouseCursor</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a32" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>hideMouseCursor</name>
+ <reimplements id="classsf_1_1system_1_1input_1_1Input_1a19">hideMouseCursor</reimplements> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\T\|\1\\81á!?\?\e?o\81}\81\92?1. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="235" bodystart="235" bodyend="235"/>
+ <references id="InputImpl_8h_1o1">mbMouseCursor</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a33" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const bool</type>
+ <name>mouseCursorVisibility</name>
+ <reimplements id="classsf_1_1system_1_1input_1_1Input_1a20">mouseCursorVisibility</reimplements> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\81C?os?I\T\|\1\\81á!?\?\e?I?oAO?oIa??1c?i?\81â?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\T\|\1\\81á!?\?\e?IE??\81N?\83Ê?i?A???T?1!\81\92 </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\T\|\1\\81á!?\?\e?IEoE??\81N?E?E?A?A???T?1!\81\92 </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="237" bodystart="237" bodyend="237"/>
+ <references id="InputImpl_8h_1o1">mbMouseCursor</references>
+ <referencedby id="InputImpl_8cpp_1a12">onSetCursor</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a34" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const bool</type>
+ <name>isEnabled</name>
+ <reimplements id="classsf_1_1system_1_1input_1_1Input_1a21">isEnabled</reimplements> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\81C?os?I<ref idref="classsf_1_1system_1_1input_1_1Input">Input</ref>p.\?\o\?!?\O\\81\98!?\1?I?oAO?oIa??1c?i?\81â?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\81C?os!\81\91IoIN2AC??C?1!\81\92 </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\81C?os!\81\91IoINEO2AC??C?1!\81\92 </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="240" bodystart="240" bodyend="240"/>
+ <references id="InputImpl_8h_1o0">mbEnabled</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1a35" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>initialize</name>
+ <reimplements id="classsf_1_1system_1_1input_1_1Input_1a2">initialize</reimplements> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1input_1_1Input">Input</ref>p.\?\o\?!?\O\\81\98!?\1?I?e\81Lu2?. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<ref idref="classsf_1_1system_1_1input_1_1Input">Input</ref>p.\?\o\?!?\O\\81\98!?\1?I?AAo\\81P\e\1?o?e\81Lu2??1?e???a?EIN\81\8bO?\83Ê?i?A???T?1!\81\92<linebreak/> AI?i\e\?\O\e\e?oIoIN?1?eA|?\81á?e?3?I\a\?\A\E?o\81CA?O?D?1?3?E?I?\81\91?e?T?\81â?o!\81\92 <parameterlist kind="exception"><title>Ia3\81\8b: </title><parametername><ref idref="classsf_1_1system_1_1FatalErrorException">FatalErrorException</ref>p.</parametername><parameterdescription><para>
+ ?e\81Lu2??E?oCO?\81E???i1c?a?\81E?\81P?IAtII\C\D\?\1?\81Ê2??a\81C\81á?A?\81á?e?E?\81á?A???i1c </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="242" bodystart="101" bodyend="189"/>
+ <references id="InputImpl_8cpp_1a16">addWindowMessageMap</references>
+ <references id="InputImpl_8cpp_1c1">initJoystick</references>
+ <references id="InputImpl_8cpp_1c2">initKeyboard</references>
+ <references id="InputImpl_8h_1o27">mbBeforeButtonA</references>
+ <references id="InputImpl_8h_1o28">mbBeforeButtonB</references>
+ <references id="InputImpl_8h_1o29">mbBeforeButtonC</references>
+ <references id="InputImpl_8h_1o30">mbBeforeButtonD</references>
+ <references id="InputImpl_8h_1o24">mbBeforeDown</references>
+ <references id="InputImpl_8h_1o32">mbBeforeExit</references>
+ <references id="InputImpl_8h_1o25">mbBeforeLeft</references>
+ <references id="InputImpl_8h_1o26">mbBeforeRight</references>
+ <references id="InputImpl_8h_1o31">mbBeforeStart</references>
+ <references id="InputImpl_8h_1o23">mbBeforeUp</references>
+ <references id="InputImpl_8h_1o17">mbButtonA</references>
+ <references id="InputImpl_8h_1o18">mbButtonB</references>
+ <references id="InputImpl_8h_1o19">mbButtonC</references>
+ <references id="InputImpl_8h_1o20">mbButtonD</references>
+ <references id="InputImpl_8h_1o14">mbDown</references>
+ <references id="InputImpl_8h_1o0">mbEnabled</references>
+ <references id="InputImpl_8h_1o22">mbExit</references>
+ <references id="InputImpl_8h_1o15">mbLeft</references>
+ <references id="InputImpl_8h_1o1">mbMouseCursor</references>
+ <references id="InputImpl_8h_1o16">mbRight</references>
+ <references id="InputImpl_8h_1o21">mbStart</references>
+ <references id="InputImpl_8h_1o13">mbUp</references>
+ <references id="InputImpl_8h_1o2">mpDI</references>
+ <references id="InputImpl_8h_1o3">mpJoystick</references>
+ <references id="InputImpl_8h_1o4">mpKeyboard</references>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="public-static-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1d0" virt="normal" prot="public" const="no" volatile="no">
+ <type>BOOL CALLBACK</type>
+ <name>enumJoysticksCallback</name>
+ <param>
+ <type>const DIDEVICEINSTANCE *</type>
+ <declname>pdidInstance</declname>
+ </param>
+ <param>
+ <type>VOID *</type>
+ <declname>pContext</declname>
+ </param>
+ <briefdescription>
+<para>
+DirectInput?\81á?e?I\3!?\e\D\A\\81P. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="52" bodystart="51" bodyend="54"/>
+ <references id="InputImpl_8cpp_1a0">InputImpl</references>
+ <referencedby id="InputImpl_8cpp_1c1">initJoystick</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1d1" virt="normal" prot="public" const="no" volatile="no">
+ <type>BOOL CALLBACK</type>
+ <name>enumAxesCallback</name>
+ <param>
+ <type>const DIDEVICEOBJECTINSTANCE *</type>
+ <declname>pdidoi</declname>
+ </param>
+ <param>
+ <type>VOID *</type>
+ <declname>pContext</declname>
+ </param>
+ <briefdescription>
+<para>
+DirectInput?\81á?e?I\3!?\e\D\A\\81P. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="59" bodystart="57" bodyend="59"/>
+ <references id="System_8h_1a0">sf::DWORD</references>
+ <references id="InputImpl_8cpp_1a0">InputImpl</references>
+ <referencedby id="InputImpl_8cpp_1c1">initJoystick</referencedby>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1c0" virt="normal" prot="private" const="no" volatile="no">
+ <type>void</type>
+ <name>uninitialize</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+?aI\81â\81ât?I?eIy?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+?aI\81â\81ât?E3\81áEu?\81E?E?\81P?A?I???\81}?E???a?I?I?3?3?C3\81áEu?\81E?T?1!\81\92 </para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="246" bodystart="192" bodyend="253"/>
+ <references id="InputImpl_8h_1o11">mKeyboardListenerList</references>
+ <references id="InputImpl_8h_1o12">mKeyboardListenerQ</references>
+ <references id="InputImpl_8h_1o9">mMouseListenerList</references>
+ <references id="InputImpl_8h_1o10">mMouseListenerQ</references>
+ <references id="InputImpl_8h_1o2">mpDI</references>
+ <references id="InputImpl_8h_1o3">mpJoystick</references>
+ <references id="InputImpl_8h_1o4">mpKeyboard</references>
+ <referencedby id="InputImpl_8cpp_1a2">~InputImpl</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1c1" virt="normal" prot="private" const="no" volatile="no">
+ <type>void</type>
+ <name>initJoystick</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\\81C\c\?\1\A\\81\92\A\\81P?I?e\81Lu2??o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="exception"><title>Ia3\81\8b: </title><parametername><ref idref="classsf_1_1system_1_1RecoverbleErrorException">RecoverbleErrorException</ref>p.</parametername><parameterdescription><para>
+ \\81C\c\?\1\A\\81\92\A\\81P?I?e\81Lu2??E?oCO?\81E???i1c </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="249" bodystart="275" bodyend="323"/>
+ <references id="InputImpl_8h_1d1">enumAxesCallback</references>
+ <references id="InputImpl_8h_1d0">enumJoysticksCallback</references>
+ <references id="InputImpl_8h_1o5">mDIJoystickDevCaps</references>
+ <references id="InputImpl_8h_1o8">mHWND</references>
+ <references id="InputImpl_8h_1o2">mpDI</references>
+ <references id="InputImpl_8h_1o3">mpJoystick</references>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1c2" virt="normal" prot="private" const="no" volatile="no">
+ <type>void</type>
+ <name>initKeyboard</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\-!?\U!?\E?I?e\81Lu2??o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="exception"><title>Ia3\81\8b: </title><parametername><ref idref="classsf_1_1system_1_1RecoverbleErrorException">RecoverbleErrorException</ref>p.</parametername><parameterdescription><para>
+ \-!?\U!?\E?I?e\81Lu2??E?oCO?\81E???i1c </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="252" bodystart="347" bodyend="371"/>
+ <references id="InputImpl_8h_1o8">mHWND</references>
+ <references id="InputImpl_8h_1o2">mpDI</references>
+ <references id="InputImpl_8h_1o4">mpKeyboard</references>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1c3" virt="normal" prot="private" const="no" volatile="no">
+ <type>BOOL</type>
+ <name>enumJoysticksCallback</name>
+ <param>
+ <type>const DIDEVICEINSTANCE *</type>
+ <declname>pdidInstance</declname>
+ </param>
+ <briefdescription>
+<para>
+DirectInput?\81á?e?I\3!?\e\D\A\\81P?o?eIy?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="255" bodystart="256" bodyend="271"/>
+ <references id="InputImpl_8h_1o2">mpDI</references>
+ <references id="InputImpl_8h_1o3">mpJoystick</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1InputImpl_1c4" virt="normal" prot="private" const="no" volatile="no">
+ <type>BOOL</type>
+ <name>enumAxesCallback</name>
+ <param>
+ <type>const DIDEVICEOBJECTINSTANCE *</type>
+ <declname>pdidoi</declname>
+ </param>
+ <briefdescription>
+<para>
+DirectInput?\81á?e?I\3!?\e\D\A\\81P?o?eIy?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="257" bodystart="326" bodyend="344"/>
+ <references id="InputImpl_8h_1o3">mpJoystick</references>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-attrib">
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o0" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbEnabled</name>
+ <briefdescription>
+<para>
+Sound\?\o\?!?\O\\81\98!?\1?\81Ê\81C?os\81âEIN2A?\81á?E?|?\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="261" bodystart="260" bodyend="-1"/>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8h_1a34">isEnabled</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o1" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbMouseCursor</name>
+ <briefdescription>
+<para>
+\T\|\1\\81á!?\?\e?\81ÊE??\81N?\83Ê?i?A???e?\81á???E???\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="262" bodystart="261" bodyend="-1"/>
+ <referencedby id="InputImpl_8h_1a32">hideMouseCursor</referencedby>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8h_1a33">mouseCursorVisibility</referencedby>
+ <referencedby id="InputImpl_8h_1a31">showMouseCursor</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o2" virt="normal" prot="private">
+ <type>LPDIRECTINPUT8</type>
+ <name>mpDI</name>
+ <briefdescription>
+<para>
+DirectInput8 \?\o\?!?\O\\81\98!?\1. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="264" bodystart="263" bodyend="-1"/>
+ <referencedby id="InputImpl_8cpp_1c3">enumJoysticksCallback</referencedby>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8cpp_1c1">initJoystick</referencedby>
+ <referencedby id="InputImpl_8cpp_1c2">initKeyboard</referencedby>
+ <referencedby id="InputImpl_8cpp_1c0">uninitialize</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o3" virt="normal" prot="private">
+ <type>LPDIRECTINPUTDEVICE8</type>
+ <name>mpJoystick</name>
+ <briefdescription>
+<para>
+\\81C\c\?\1\A\\81\92\A\\81P\?\o\?!?\O\\81\98!?\1?I\Y\?\o\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="266" bodystart="265" bodyend="-1"/>
+ <referencedby id="InputImpl_8cpp_1c4">enumAxesCallback</referencedby>
+ <referencedby id="InputImpl_8cpp_1c3">enumJoysticksCallback</referencedby>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8cpp_1c1">initJoystick</referencedby>
+ <referencedby id="InputImpl_8cpp_1c0">uninitialize</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o4" virt="normal" prot="private">
+ <type>LPDIRECTINPUTDEVICE8</type>
+ <name>mpKeyboard</name>
+ <briefdescription>
+<para>
+\-!?\U!?\E\C\D\?\1?I\Y\?\o\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="267" bodystart="266" bodyend="-1"/>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8cpp_1c2">initKeyboard</referencedby>
+ <referencedby id="InputImpl_8cpp_1c0">uninitialize</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o5" virt="normal" prot="private">
+ <type>DIDEVCAPS</type>
+ <name>mDIJoystickDevCaps</name>
+ <briefdescription>
+<para>
+\C\D\?\1C?II. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="269" bodystart="268" bodyend="-1"/>
+ <referencedby id="InputImpl_8cpp_1c1">initJoystick</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o6" virt="normal" prot="private">
+ <type>DIJOYSTATE2</type>
+ <name>mDIJoyState</name>
+ <briefdescription>
+<para>
+\\81C\c\?\1\A\\81\92\A\\81P?I?oAO. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="270" bodystart="269" bodyend="-1"/>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o7" virt="normal" prot="private">
+ <type>BYTE</type>
+ <name>mDIKeys</name>
+ <briefdescription>
+<para>
+DirectInput <ref idref="namespacesf_1_1system_1_1input_1_1keyboard">keyboard</ref>p. state buffer. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="271" bodystart="270" bodyend="-1"/>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o8" virt="normal" prot="private">
+ <type>HWND</type>
+ <name>mHWND</name>
+ <briefdescription>
+<para>
+\|\\81\92\o\E\|\I\o\E\e. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="273" bodystart="272" bodyend="-1"/>
+ <referencedby id="InputImpl_8cpp_1c1">initJoystick</referencedby>
+ <referencedby id="InputImpl_8cpp_1c2">initKeyboard</referencedby>
+ <referencedby id="InputImpl_8cpp_1a1">InputImpl</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o9" virt="normal" prot="private">
+ <type><ref idref="classsf_1_1system_1_1input_1_1InputImpl_1s0">MouseListenerList</ref></type>
+ <name>mMouseListenerList</name>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">mouse::Listener</ref>p.?ICUIo. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="276" bodystart="275" bodyend="-1"/>
+ <referencedby id="InputImpl_8cpp_1a11">onMouseWheel</referencedby>
+ <referencedby id="InputImpl_8h_1a18">removeMouseListener</referencedby>
+ <referencedby id="InputImpl_8cpp_1c0">uninitialize</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o10" virt="normal" prot="private">
+ <type><ref idref="classsf_1_1system_1_1input_1_1InputImpl_1s0">MouseListenerList</ref></type>
+ <name>mMouseListenerQ</name>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener">mouse::Listener</ref>p.?ICUIo(\81\8bi\81âtEY\81âyIN). </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="277" bodystart="276" bodyend="-1"/>
+ <referencedby id="InputImpl_8h_1a17">addMouseListener</referencedby>
+ <referencedby id="InputImpl_8h_1a18">removeMouseListener</referencedby>
+ <referencedby id="InputImpl_8cpp_1c0">uninitialize</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o11" virt="normal" prot="private">
+ <type><ref idref="classsf_1_1system_1_1input_1_1InputImpl_1s1">KeyboardListenerList</ref></type>
+ <name>mKeyboardListenerList</name>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1input_1_1keyboard_1_1Listener">keyboard::Listener</ref>p.?ICUIo. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="279" bodystart="278" bodyend="-1"/>
+ <referencedby id="InputImpl_8cpp_1a14">onKeyDown</referencedby>
+ <referencedby id="InputImpl_8h_1a20">removeKeyboardListener</referencedby>
+ <referencedby id="InputImpl_8cpp_1c0">uninitialize</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o12" virt="normal" prot="private">
+ <type><ref idref="classsf_1_1system_1_1input_1_1InputImpl_1s1">KeyboardListenerList</ref></type>
+ <name>mKeyboardListenerQ</name>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1input_1_1keyboard_1_1Listener">keyboard::Listener</ref>p.?ICUIo(\81\8bi\81âtEY\81âyIN). </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="280" bodystart="279" bodyend="-1"/>
+ <referencedby id="InputImpl_8h_1a19">addKeyboardListener</referencedby>
+ <referencedby id="InputImpl_8h_1a20">removeKeyboardListener</referencedby>
+ <referencedby id="InputImpl_8cpp_1c0">uninitialize</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o13" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbUp</name>
+ <briefdescription>
+<para>
+?a\U\?\o. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="282" bodystart="281" bodyend="-1"/>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8h_1a23">up</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o14" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbDown</name>
+ <briefdescription>
+<para>
+2?\U\?\o. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="283" bodystart="282" bodyend="-1"/>
+ <referencedby id="InputImpl_8h_1a24">down</referencedby>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o15" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbLeft</name>
+ <briefdescription>
+<para>
+o\81C\U\?\o. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="284" bodystart="283" bodyend="-1"/>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8h_1a21">left</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o16" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbRight</name>
+ <briefdescription>
+<para>
+\81}|\U\?\o. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="285" bodystart="284" bodyend="-1"/>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8h_1a22">right</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o17" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbButtonA</name>
+ <briefdescription>
+<para>
+\U\?\oA. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="287" bodystart="286" bodyend="-1"/>
+ <referencedby id="InputImpl_8h_1a25">buttonA</referencedby>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o18" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbButtonB</name>
+ <briefdescription>
+<para>
+\U\?\oB. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="288" bodystart="287" bodyend="-1"/>
+ <referencedby id="InputImpl_8h_1a26">buttonB</referencedby>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o19" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbButtonC</name>
+ <briefdescription>
+<para>
+\U\?\oC. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="289" bodystart="288" bodyend="-1"/>
+ <referencedby id="InputImpl_8h_1a27">buttonC</referencedby>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o20" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbButtonD</name>
+ <briefdescription>
+<para>
+\U\?\oD. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="290" bodystart="289" bodyend="-1"/>
+ <referencedby id="InputImpl_8h_1a28">buttonD</referencedby>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o21" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbStart</name>
+ <briefdescription>
+<para>
+START\U\?\o. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="292" bodystart="291" bodyend="-1"/>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8h_1a29">start</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o22" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbExit</name>
+ <briefdescription>
+<para>
+EXIT\U\?\o. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="293" bodystart="292" bodyend="-1"/>
+ <referencedby id="InputImpl_8h_1a30">exit</referencedby>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o23" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbBeforeUp</name>
+ <briefdescription>
+<para>
+?a\U\?\o?I1\O\i!?\aA\81\8b?I?oAO. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="295" bodystart="294" bodyend="-1"/>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8h_1a23">up</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o24" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbBeforeDown</name>
+ <briefdescription>
+<para>
+2?\U\?\o?I1\O\i!?\aA\81\8b?I?oAO. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="296" bodystart="295" bodyend="-1"/>
+ <referencedby id="InputImpl_8h_1a24">down</referencedby>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o25" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbBeforeLeft</name>
+ <briefdescription>
+<para>
+o\81C\U\?\o?I1\O\i!?\aA\81\8b?I?oAO. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="297" bodystart="296" bodyend="-1"/>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8h_1a21">left</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o26" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbBeforeRight</name>
+ <briefdescription>
+<para>
+\81}|\U\?\o?I1\O\i!?\aA\81\8b?I?oAO. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="298" bodystart="297" bodyend="-1"/>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8h_1a22">right</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o27" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbBeforeButtonA</name>
+ <briefdescription>
+<para>
+\U\?\oA?I1\O\i!?\aA\81\8b?I?oAO. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="300" bodystart="299" bodyend="-1"/>
+ <referencedby id="InputImpl_8h_1a25">buttonA</referencedby>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o28" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbBeforeButtonB</name>
+ <briefdescription>
+<para>
+\U\?\oB?I1\O\i!?\aA\81\8b?I?oAO. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="301" bodystart="300" bodyend="-1"/>
+ <referencedby id="InputImpl_8h_1a26">buttonB</referencedby>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o29" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbBeforeButtonC</name>
+ <briefdescription>
+<para>
+\U\?\oC?I1\O\i!?\aA\81\8b?I?oAO. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="302" bodystart="301" bodyend="-1"/>
+ <referencedby id="InputImpl_8h_1a27">buttonC</referencedby>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o30" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbBeforeButtonD</name>
+ <briefdescription>
+<para>
+\U\?\oD?I1\O\i!?\aA\81\8b?I?oAO. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="303" bodystart="302" bodyend="-1"/>
+ <referencedby id="InputImpl_8h_1a28">buttonD</referencedby>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o31" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbBeforeStart</name>
+ <briefdescription>
+<para>
+START\U\?\o?I1\O\i!?\aA\81\8b?I?oAO. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="305" bodystart="304" bodyend="-1"/>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8h_1a29">start</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1InputImpl_1o32" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbBeforeExit</name>
+ <briefdescription>
+<para>
+EXIT\U\?\o?I1\O\i!?\aA\81\8b?I?oAO. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="306" bodystart="305" bodyend="-1"/>
+ <referencedby id="InputImpl_8h_1a30">exit</referencedby>
+ <referencedby id="InputImpl_8cpp_1a35">initialize</referencedby>
+ <referencedby id="InputImpl_8cpp_1a3">update</referencedby>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1input_1_1Input">Input</ref>p.\?\o\?!?\O\\81\98!?\1?I?AAo. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+?e\81Lu2?EoE\81Ê?I\81\92O\81\92A\81\92E?I\\83Ê\o\\81~\e?o\81â21I?E?\81E?A???T?1!\81\92 ?E???|?\81á?U?E?o?E???I?T?o?T?C?1?\81Ê!\!\!\!\81\92 </para>
+ </detaileddescription>
+ <inheritancegraph>
+ <node id="142">
+ <label>sf::system::input::InputImpl</label>
+ <link id="classsf_1_1system_1_1input_1_1InputImpl"/>
+ <childnode id="143" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="143">
+ <label>sf::system::input::Input</label>
+ <link id="classsf_1_1system_1_1input_1_1Input"/>
+ </node>
+ </inheritancegraph>
+ <collaborationgraph>
+ <node id="144">
+ <label>sf::system::input::InputImpl</label>
+ <link id="classsf_1_1system_1_1input_1_1InputImpl"/>
+ <childnode id="145" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="145">
+ <label>sf::system::input::Input</label>
+ <link id="classsf_1_1system_1_1input_1_1Input"/>
+ </node>
+ </collaborationgraph>
+ <location file="J:/project/sfglib/InputImpl.h" line="29" bodystart="28" bodyend="306"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1input_1_1mouse_1_1Listener" kind="class">
+ <compoundname>sf::system::input::mouse::Listener</compoundname>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1mouse_1_1Listener_1a0" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>leftButtonDown</name>
+ <param>
+ <type>const int</type>
+ <declname>screenX</declname>
+ </param>
+ <param>
+ <type>const int</type>
+ <declname>screenY</declname>
+ </param>
+ <param>
+ <type>const <ref idref="namespacesf_1a0">DWORD</ref></type>
+ <declname>mkey</declname>
+ </param>
+ <briefdescription>
+<para>
+o\81C\U\?\o?\81Ê2!?\83Ê?i??. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\T\|\1?Io\81C\U\?\o?\81Ê2!?\83Ê?i???E?-?E\81CA?O?D?\83Ê?i?e\a\?\A\E?C?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>screenX</parametername><parameterdescription><para>
+\1\\81P\e!?\o?a?I\T\|\1XoAE\81C </para>
+</parameterdescription><parametername>screenY</parametername><parameterdescription><para>
+\1\\81P\e!?\o?a?I\T\|\1YoAE\81C </para>
+</parameterdescription><parametername>mkey</parametername><parameterdescription><para>
+A\81}\81ât?E2!?\83Ê?i??\-!?\3!?\E <ref idref="namespacesf_1_1system_1_1input_1_1mouse_1a5">MKEY_CODE</ref>p. </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="52"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1mouse_1_1Listener_1a1" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>leftButtonUp</name>
+ <param>
+ <type>const int</type>
+ <declname>screenX</declname>
+ </param>
+ <param>
+ <type>const int</type>
+ <declname>screenY</declname>
+ </param>
+ <param>
+ <type>const <ref idref="namespacesf_1a0">DWORD</ref></type>
+ <declname>mkey</declname>
+ </param>
+ <briefdescription>
+<para>
+o\81C\U\?\o?\81ÊI\?\83Ê?i??. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\T\|\1?Io\81C\U\?\o?\81ÊI\?\83Ê?i???E?-?E\81CA?O?D?\83Ê?i?e\a\?\A\E?C?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>screenX</parametername><parameterdescription><para>
+\1\\81P\e!?\o?a?I\T\|\1XoAE\81C </para>
+</parameterdescription><parametername>screenY</parametername><parameterdescription><para>
+\1\\81P\e!?\o?a?I\T\|\1YoAE\81C </para>
+</parameterdescription><parametername>mkey</parametername><parameterdescription><para>
+A\81}\81ât?E2!?\83Ê?i??\-!?\3!?\E <ref idref="namespacesf_1_1system_1_1input_1_1mouse_1a5">MKEY_CODE</ref>p. </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="59"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1mouse_1_1Listener_1a2" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>leftButtonDoubleClick</name>
+ <param>
+ <type>const int</type>
+ <declname>screenX</declname>
+ </param>
+ <param>
+ <type>const int</type>
+ <declname>screenY</declname>
+ </param>
+ <param>
+ <type>const <ref idref="namespacesf_1a0">DWORD</ref></type>
+ <declname>mkey</declname>
+ </param>
+ <briefdescription>
+<para>
+o\81C\U\?\o?\81Ê\A\O\e\\81P\e\A\\81P?\83Ê?i??. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\T\|\1?Io\81C\U\?\o?\81Ê\A\O\e\\81P\e\A\\81P?\83Ê?i???E?-?E\81CA?O?D?\83Ê?i?e\a\?\A\E?C?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>screenX</parametername><parameterdescription><para>
+\1\\81P\e!?\o?a?I\T\|\1XoAE\81C </para>
+</parameterdescription><parametername>screenY</parametername><parameterdescription><para>
+\1\\81P\e!?\o?a?I\T\|\1YoAE\81C </para>
+</parameterdescription><parametername>mkey</parametername><parameterdescription><para>
+A\81}\81ât?E2!?\83Ê?i??\-!?\3!?\E <ref idref="namespacesf_1_1system_1_1input_1_1mouse_1a5">MKEY_CODE</ref>p. </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="66"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1mouse_1_1Listener_1a3" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>rightButtonDown</name>
+ <param>
+ <type>const int</type>
+ <declname>screenX</declname>
+ </param>
+ <param>
+ <type>const int</type>
+ <declname>screenY</declname>
+ </param>
+ <param>
+ <type>const <ref idref="namespacesf_1a0">DWORD</ref></type>
+ <declname>mkey</declname>
+ </param>
+ <briefdescription>
+<para>
+\81}|\U\?\o?\81Ê2!?\83Ê?i??. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\T\|\1?I\81}|\U\?\o?\81Ê2!?\83Ê?i???E?-?E\81CA?O?D?\83Ê?i?e\a\?\A\E?C?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>screenX</parametername><parameterdescription><para>
+\1\\81P\e!?\o?a?I\T\|\1XoAE\81C </para>
+</parameterdescription><parametername>screenY</parametername><parameterdescription><para>
+\1\\81P\e!?\o?a?I\T\|\1YoAE\81C </para>
+</parameterdescription><parametername>mkey</parametername><parameterdescription><para>
+A\81}\81ât?E2!?\83Ê?i??\-!?\3!?\E <ref idref="namespacesf_1_1system_1_1input_1_1mouse_1a5">MKEY_CODE</ref>p. </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="73"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1mouse_1_1Listener_1a4" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>rightButtonUp</name>
+ <param>
+ <type>const int</type>
+ <declname>screenX</declname>
+ </param>
+ <param>
+ <type>const int</type>
+ <declname>screenY</declname>
+ </param>
+ <param>
+ <type>const <ref idref="namespacesf_1a0">DWORD</ref></type>
+ <declname>mkey</declname>
+ </param>
+ <briefdescription>
+<para>
+\81}|\U\?\o?\81ÊI\?\83Ê?i??. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\T\|\1?I\81}|\U\?\o?\81ÊI\?\83Ê?i???E?-?E\81CA?O?D?\83Ê?i?e\a\?\A\E?C?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>screenX</parametername><parameterdescription><para>
+\1\\81P\e!?\o?a?I\T\|\1XoAE\81C </para>
+</parameterdescription><parametername>screenY</parametername><parameterdescription><para>
+\1\\81P\e!?\o?a?I\T\|\1YoAE\81C </para>
+</parameterdescription><parametername>mkey</parametername><parameterdescription><para>
+A\81}\81ât?E2!?\83Ê?i??\-!?\3!?\E <ref idref="namespacesf_1_1system_1_1input_1_1mouse_1a5">MKEY_CODE</ref>p. </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="80"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1mouse_1_1Listener_1a5" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>rightButtonDoubleClick</name>
+ <param>
+ <type>const int</type>
+ <declname>screenX</declname>
+ </param>
+ <param>
+ <type>const int</type>
+ <declname>screenY</declname>
+ </param>
+ <param>
+ <type>const <ref idref="namespacesf_1a0">DWORD</ref></type>
+ <declname>mkey</declname>
+ </param>
+ <briefdescription>
+<para>
+\81}|\U\?\o?\81Ê\A\O\e\\81P\e\A\\81P?\83Ê?i??. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\T\|\1?I\81}|\U\?\o?\81Ê\A\O\e\\81P\e\A\\81P?\83Ê?i???E?-?E\81CA?O?D?\83Ê?i?e\a\?\A\E?C?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>screenX</parametername><parameterdescription><para>
+\1\\81P\e!?\o?a?I\T\|\1XoAE\81C </para>
+</parameterdescription><parametername>screenY</parametername><parameterdescription><para>
+\1\\81P\e!?\o?a?I\T\|\1YoAE\81C </para>
+</parameterdescription><parametername>mkey</parametername><parameterdescription><para>
+A\81}\81ât?E2!?\83Ê?i??\-!?\3!?\E <ref idref="namespacesf_1_1system_1_1input_1_1mouse_1a5">MKEY_CODE</ref>p. </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="87"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1mouse_1_1Listener_1a6" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>mouseMove</name>
+ <param>
+ <type>const int</type>
+ <declname>screenX</declname>
+ </param>
+ <param>
+ <type>const int</type>
+ <declname>screenY</declname>
+ </param>
+ <param>
+ <type>const <ref idref="namespacesf_1a0">DWORD</ref></type>
+ <declname>mkey</declname>
+ </param>
+ <briefdescription>
+<para>
+\T\|\1\\81á!?\?\eoAE\81C?\81ÊEN2??\81E??. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\T\|\1\\81á!?\?\eoAE\81C?\81ÊEN2??\81E???E?-?E\81CA?O?D?\83Ê?i?e\a\?\A\E?C?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>screenX</parametername><parameterdescription><para>
+\1\\81P\e!?\o?a?I\T\|\1XoAE\81C </para>
+</parameterdescription><parametername>screenY</parametername><parameterdescription><para>
+\1\\81P\e!?\o?a?I\T\|\1YoAE\81C </para>
+</parameterdescription><parametername>mkey</parametername><parameterdescription><para>
+A\81}\81ât?E2!?\83Ê?i??\-!?\3!?\E <ref idref="namespacesf_1_1system_1_1input_1_1mouse_1a5">MKEY_CODE</ref>p. </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="94"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1mouse_1_1Listener_1a7" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>mouseWheel</name>
+ <param>
+ <type>const int</type>
+ <declname>screenX</declname>
+ </param>
+ <param>
+ <type>const int</type>
+ <declname>screenY</declname>
+ </param>
+ <param>
+ <type>const <ref idref="namespacesf_1a0">DWORD</ref></type>
+ <declname>mkey</declname>
+ </param>
+ <briefdescription>
+<para>
+\T\|\1\U\?!?\e?I\81\8bIAO?\81ÊEN2??\81E??. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\T\|\1\U\?!?\e?I\81\8bIAO?\81ÊEN2??\81E???E?-?E\81CA?O?D?\83Ê?i?e\a\?\A\E?C?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>screenX</parametername><parameterdescription><para>
+\1\\81P\e!?\o?a?I\T\|\1XoAE\81C </para>
+</parameterdescription><parametername>screenY</parametername><parameterdescription><para>
+\1\\81P\e!?\o?a?I\T\|\1YoAE\81C </para>
+</parameterdescription><parametername>mkey</parametername><parameterdescription><para>
+A\81}\81ât?E2!?\83Ê?i??\-!?\3!?\E <ref idref="namespacesf_1_1system_1_1input_1_1mouse_1a5">MKEY_CODE</ref>p. </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="101"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1mouse_1_1Listener_1a8" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const bool</type>
+ <name>isListeningMouse</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\T\|\1\?\U\o\E?o?o?\81}?e?e?oAO?\81á?E?|?\81á?oIa??1c?i?\81â?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\81C?os\T\|\1\?\U\o\E?o?o?\81}?e?A?A???e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\81C?os\T\|\1\?\U\o\E?o\83ÊnEY?\81E?A???e </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="106"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1mouse_1_1Listener_1a9" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>mouseTalkerIsDeleted</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\T\|\1\?\U\o\E?oE\81P1O?1?eTalker?\81Êoi?u?\83Ê?i??. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\T\|\1\?\U\o\E?oE\81P1O?1?eTalker?\81Êoi?u?\83Ê?i?e\81ât?E\81CA?D?i?T?1!\81\92 ?3?I\a\?\A\E?\81Ê\81CA?D?i??\81\8bE1s?I!\81\91\e\1\E!?A|?I<ref idref="classsf_1_1system_1_1input_1_1Input_1a5">Input::removeMouseListener</ref>()p.?o\81CA?O?D?\81E?A?I???\81}?T?\81â?o!\81\92 </para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="111"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+\T\|\1\?\U\o\E\e\1\E!Y. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\T\|\1\?\U\o\E?I\e\1\E!??C?1!\81\92\T\|\1?I\?\U\o\E?I?1?U?A?3?I\e\1\E!?\?\o\?!?\O\\81\98!?\1?oAI?\81C?A1O?i?i?T?1!\81\92<linebreak/> \T\|\1\?\U\o\E?o?eIy?\81E?????i1c!\81\91?3?I\?\o\?!?\O\\81\98!?\1?o\81EN?\83Ê?\81E?A?AAo?\81E!\81\91\?\U\o\E?oE\81P1O?1?e<ref idref="classsf_1_1system_1_1input_1_1Input">Input</ref>p.\?\o\?!?\O\\81\98!?\1?I <ref idref="classsf_1_1system_1_1input_1_1Input_1a4">Input::addMouseListener</ref>()p.\a\?\A\E?CADI??\81E?T?1!\81\92 </para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="44" bodystart="43" bodyend="112"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1input_1_1keyboard_1_1Listener" kind="class">
+ <compoundname>sf::system::input::keyboard::Listener</compoundname>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1keyboard_1_1Listener_1a0" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>keyDown</name>
+ <param>
+ <type>const <ref idref="namespacesf_1a0">DWORD</ref></type>
+ <declname>keyCode</declname>
+ </param>
+ <param>
+ <type>const <ref idref="namespacesf_1a0">DWORD</ref></type>
+ <declname>extKeyCode</declname>
+ </param>
+ <briefdescription>
+<para>
+\-!??\81Ê2!?\83Ê?i??. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\-!??\81Ê2!?\83Ê?i???i1c?E\81CA?O?D?\83Ê?i?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>keyCode</parametername><parameterdescription><para>
+\-!?\3!?\E </para>
+</parameterdescription><parametername>extKeyCode</parametername><parameterdescription><para>
+3EA\\-!?\3!?\E EXTEND_KEYCODE ?o\81â2?E </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="154"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1keyboard_1_1Listener_1a1" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>keyUp</name>
+ <param>
+ <type>const <ref idref="namespacesf_1a0">DWORD</ref></type>
+ <declname>keyCode</declname>
+ </param>
+ <param>
+ <type>const <ref idref="namespacesf_1a0">DWORD</ref></type>
+ <declname>extKeyCode</declname>
+ </param>
+ <briefdescription>
+<para>
+\-!??\81ÊI\?\83Ê?i??. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\-!??\81ÊI\?\83Ê?i???i1c?E\81CA?O?D?\83Ê?i?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>keyCode</parametername><parameterdescription><para>
+\-!?\3!?\E </para>
+</parameterdescription><parametername>extKeyCode</parametername><parameterdescription><para>
+3EA\\-!?\3!?\E <ref idref="namespacesf_1_1system_1_1input_1_1keyboard_1a6">EXTEND_KEYCODE</ref>p. ?o\81â2?E </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="160"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1keyboard_1_1Listener_1a2" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const bool</type>
+ <name>isListeningKeyboard</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\-!?\U!?\E\?\U\o\E?o?o?\81}?e?e?oAO?\81á?E?|?\81á?oIa??1c?i?\81â?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+Talker?\81Ê<ref idref="classsf_1_1system_1_1input_1_1keyboard_1_1Listener">Listener</ref>p.?\81Ê\81C?os\-!?\U!?\E\?\U\o\E?o?o?\81}?e?e?oAO?E?\81\91?e?\81á?E?|?\81á3IC\81\98?1?e???a?I\a\?\A\E?C?1!\81\92<linebreak/> \81\8bi\81âtAa?E\-!?\U!?\E\?\U\o\E?o?o?\81}?e?e???\81P?E???i1c?I?3?I\a\?\A\E?\81Ê\81CA?D?i???E?-?Efalse?oEO?\81E?T?1!\81\92 <parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\81C?os\-!?\U!?\E\?\U\o\E?o?o?\81}?e?A?A???e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\81C?os\-!?\U!?\E\?\U\o\E?o\83ÊnEY?\81E?A???e </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="167"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1keyboard_1_1Listener_1a3" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>keyboardTalkerIsDeleted</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\-!?\U!?\E\?\U\o\E?oE\81P1O?1?eTalker?\81Êoi?u?\83Ê?i??. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\-!?\U!?\E\?\U\o\E?oE\81P1O?1?eTalker?\81Êoi?u?\83Ê?i?e\81ât?E\81CA?D?i?T?1!\81\92<linebreak/> ?3?i?\81Ê\81CA?D?i???e!\81\91Talker?\81á?E?I\a\a\e?a?EA\81Cos?\81E?E???3?E?E?E?e?I?C!\81\91 ?3?I\a\?\A\E?\81Ê\81CA?D?i??\81\8bE1s?I!\81\91\e\1\E!?A|?IAaAD?E<ref idref="classsf_1_1system_1_1input_1_1Input_1a7">Input::removeKeyboardListener</ref>()p.?o\81CA?O?D?\81E?A?I???\81}?T?\81â?o!\81\92 \81Ci?A?A\81CA?O?D?\81E??\81Ca?I?oAO?IEOAe?E?E?e?T?1!\81\92 </para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="174"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+\-!?\U!?\E\?\U\o\E\e\1\E!Y. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\-!?\U!?\E\?\U\o\E?I\e\1\E!??C?1!\81\92\-!?\U!?\E?I\?\U\o\E?I?1?U?A?3?I\e\1\E!?\?\o\?!?\O\\81\98!?\1?oAI?\81C?A1O?i?i?T?1!\81\92<linebreak/> \-!?\U!?\E\?\U\o\E?o?eIy?\81E?????i1c!\81\91?3?I\?\o\?!?\O\\81\98!?\1?o\81EN?\83Ê?\81E?A?AAo?\81E!\81\91\?\U\o\E?oE\81P1O?1?e<ref idref="classsf_1_1system_1_1input_1_1Input">Input</ref>p.\?\o\?!?\O\\81\98!?\1?I <ref idref="classsf_1_1system_1_1input_1_1Input_1a6">Input::addKeyboardListener</ref>()p.\a\?\A\E?CADI??\81E?T?1!\81\92 </para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="148" bodystart="147" bodyend="175"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1input_1_1Listener" kind="class">
+ <compoundname>sf::system::input::Listener</compoundname>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1Listener_1a0" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>deviceStateChanged</name>
+ <param>
+ <type><ref idref="classsf_1_1system_1_1input_1_1Input">Input</ref> *const</type>
+ <declname>pInput</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="329"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1input_1_1Listener_1a1" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>eventTalkerIsDeleted</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="330"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+\?\U\o\E\e\1\E!?\\81P\e\1. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="327" bodystart="326" bodyend="331"/>
+ </compounddef>
+ <compounddef id="classsf_1_1application_1_1Main" kind="class">
+ <compoundname>sf::application::Main</compoundname>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1application_1_1Main_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>Main</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Main.h" line="38" bodystart="38" bodyend="38"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1application_1_1Main_1a1" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~Main</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Main.h" line="39" bodystart="39" bodyend="39"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1application_1_1Main_1a2" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>initialize</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Main.h" line="40"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1application_1_1Main_1a3" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>run</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Main.h" line="43"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1application_1_1Main_1a4" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite">sf::system::console::sprite::Sprite</ref> *const</type>
+ <name>getBlankSprite</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Main.h" line="44"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="public-static-func">
+ <memberdef kind="function" id="classsf_1_1application_1_1Main_1d0" virt="normal" prot="public" const="no" volatile="no">
+ <type>Main *</type>
+ <name>instance</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Main.h" line="47"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Main.h" line="35" bodystart="34" bodyend="48"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1console_1_1Obj" kind="class">
+ <compoundname>sf::system::console::Obj</compoundname>
+ <derivedcompoundref idref="classsf_1_1system_1_1console_1_1Obj2D" prot="public" virt="non-virtual"/>
+ <derivedcompoundref idref="classsf_1_1system_1_1console_1_1Obj3D" prot="public" virt="non-virtual"/>
+ <innerclass refid="classsf_1_1system_1_1console_1_1Obj_1_1List">sf::system::console::Obj::List</innerclass>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>Obj</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="42" bodystart="55" bodyend="58"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj_1a1" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~Obj</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="43" bodystart="61" bodyend="64"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj_1a2" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>draw</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="44"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj_1a3" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite">sprite::Sprite</ref> *const</type>
+ <name>sprite</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="49"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj_1a4" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>sprite</name>
+ <param>
+ <type><ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite">sprite::Sprite</ref> *const</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="50"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj_1a5" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const int</type>
+ <name>index</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="53"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj_1a6" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>index</name>
+ <param>
+ <type>const int</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="54"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj_1a7" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const bool</type>
+ <name>visibility</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="56"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj_1a8" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>visibility</name>
+ <param>
+ <type>const bool</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="57"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj_1a9" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual Obj *const</type>
+ <name>previous</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="59"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj_1a10" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>previous</name>
+ <param>
+ <type>Obj *const</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="60"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj_1a11" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual Obj *const</type>
+ <name>next</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="62"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj_1a12" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>next</name>
+ <param>
+ <type>Obj *const</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="63"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj_1a13" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const float</type>
+ <name>z</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="65"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj_1a14" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>z</name>
+ <param>
+ <type>const float</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="66"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj_1a15" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>drawMode</name>
+ <param>
+ <type>const <ref idref="namespacesf_1_1system_1_1console_1a12">DrawMode</ref></type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="68"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj_1a16" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const <ref idref="namespacesf_1_1system_1_1console_1a12">DrawMode</ref></type>
+ <name>drawMode</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="69"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inheritancegraph>
+ <node id="154">
+ <label>sf::system::console::Obj</label>
+ </node>
+ <node id="156">
+ <label>sf::system::console::ObjQuadrangle</label>
+ <childnode id="155" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="158">
+ <label>sf::system::console::Background</label>
+ <childnode id="157" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="160">
+ <label>sf::system::console::Obj3DL</label>
+ <childnode id="159" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="157">
+ <label>sf::system::console::ObjRectangle</label>
+ <childnode id="155" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="159">
+ <label>sf::system::console::Obj3D</label>
+ <childnode id="154" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="155">
+ <label>sf::system::console::Obj2D</label>
+ <childnode id="154" relation="public-inheritance">
+ </childnode>
+ </node>
+ </inheritancegraph>
+ <location file="J:/project/sfglib/Obj.h" line="40" bodystart="39" bodyend="93"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1console_1_1Obj2D" kind="class">
+ <compoundname>sf::system::console::Obj2D</compoundname>
+ <basecompoundref idref="classsf_1_1system_1_1console_1_1Obj" prot="public" virt="non-virtual"/>
+ <derivedcompoundref idref="classsf_1_1system_1_1console_1_1ObjQuadrangle" prot="public" virt="non-virtual"/>
+ <derivedcompoundref idref="classsf_1_1system_1_1console_1_1ObjRectangle" prot="public" virt="non-virtual"/>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>Obj2D</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="58" bodystart="49" bodyend="61"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a1" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~Obj2D</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="59" bodystart="64" bodyend="66"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a2" virt="virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const float</type>
+ <name>x</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="61" bodystart="61" bodyend="61"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a3" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>x</name>
+ <param>
+ <type>const float</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="62" bodystart="62" bodyend="62"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a4" virt="virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const float</type>
+ <name>y</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="64" bodystart="64" bodyend="64"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a5" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>y</name>
+ <param>
+ <type>const float</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="65" bodystart="65" bodyend="65"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a6" virt="virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const float</type>
+ <name>z</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="67" bodystart="67" bodyend="67"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a7" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>z</name>
+ <param>
+ <type>const float</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="68" bodystart="68" bodyend="68"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a8" virt="virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const float</type>
+ <name>angle</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="70" bodystart="70" bodyend="70"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a9" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>angle</name>
+ <param>
+ <type>const float</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="71" bodystart="71" bodyend="71"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a10" virt="virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const float</type>
+ <name>scalingX</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="73" bodystart="73" bodyend="73"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a11" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>scalingX</name>
+ <param>
+ <type>const float</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="74" bodystart="74" bodyend="74"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a12" virt="virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const float</type>
+ <name>scalingY</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="76" bodystart="76" bodyend="76"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a13" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>scalingY</name>
+ <param>
+ <type>const float</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="77" bodystart="77" bodyend="77"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a14" virt="virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const bool</type>
+ <name>reverseX</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="79" bodystart="79" bodyend="79"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a15" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>reverseX</name>
+ <param>
+ <type>const bool</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="80" bodystart="80" bodyend="80"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a16" virt="virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const bool</type>
+ <name>reverseY</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="82" bodystart="82" bodyend="82"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a17" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>reverseY</name>
+ <param>
+ <type>const bool</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="83" bodystart="83" bodyend="83"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a18" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>drawMode</name>
+ <param>
+ <type>const <ref idref="namespacesf_1_1system_1_1console_1a12">DrawMode</ref></type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="85" bodystart="85" bodyend="85"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a19" virt="virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const <ref idref="namespacesf_1_1system_1_1console_1a12">DrawMode</ref></type>
+ <name>drawMode</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="86" bodystart="86" bodyend="86"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a20" virt="virtual" prot="public" const="yes" volatile="no">
+ <type>virtual <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite">sprite::Sprite</ref> *const</type>
+ <name>sprite</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="89" bodystart="89" bodyend="89"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a21" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>sprite</name>
+ <param>
+ <type><ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite">sprite::Sprite</ref> *const</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="90" bodystart="90" bodyend="90"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a22" virt="virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const int</type>
+ <name>index</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="92" bodystart="92" bodyend="92"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a23" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>index</name>
+ <param>
+ <type>const int</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="93" bodystart="93" bodyend="93"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a24" virt="virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const bool</type>
+ <name>visibility</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="96" bodystart="96" bodyend="96"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a25" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>visibility</name>
+ <param>
+ <type>const bool</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="97" bodystart="97" bodyend="97"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a26" virt="virtual" prot="public" const="yes" volatile="no">
+ <type>virtual Obj *const</type>
+ <name>previous</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="99" bodystart="99" bodyend="99"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a27" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>previous</name>
+ <param>
+ <type>Obj *const</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="100" bodystart="100" bodyend="100"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a28" virt="virtual" prot="public" const="yes" volatile="no">
+ <type>virtual Obj *const</type>
+ <name>next</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="102" bodystart="102" bodyend="102"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj2D_1a29" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>next</name>
+ <param>
+ <type>Obj *const</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="103" bodystart="103" bodyend="103"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-attrib">
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj2D_1o0" virt="normal" prot="private">
+ <type>float</type>
+ <name>mX</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="107" bodystart="107" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj2D_1o1" virt="normal" prot="private">
+ <type>float</type>
+ <name>mY</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="107" bodystart="107" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj2D_1o2" virt="normal" prot="private">
+ <type>float</type>
+ <name>mZ</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="107" bodystart="107" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj2D_1o3" virt="normal" prot="private">
+ <type>float</type>
+ <name>mRad</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="107" bodystart="107" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj2D_1o4" virt="normal" prot="private">
+ <type>float</type>
+ <name>mAngle</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="107" bodystart="107" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj2D_1o5" virt="normal" prot="private">
+ <type>float</type>
+ <name>mScalingX</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="108" bodystart="108" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj2D_1o6" virt="normal" prot="private">
+ <type>float</type>
+ <name>mScalingY</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="108" bodystart="108" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj2D_1o7" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbVisibility</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="109" bodystart="109" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj2D_1o8" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbReverseX</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="110" bodystart="110" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj2D_1o9" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbReverseY</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="111" bodystart="111" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj2D_1o10" virt="normal" prot="private">
+ <type><ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite">sprite::Sprite</ref> *</type>
+ <name>mpSprite</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="113" bodystart="113" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj2D_1o11" virt="normal" prot="private">
+ <type>int</type>
+ <name>mIndex</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="114" bodystart="114" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj2D_1o12" virt="normal" prot="private">
+ <type><ref idref="namespacesf_1_1system_1_1console_1a12">DrawMode</ref></type>
+ <name>mDrawMode</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="116" bodystart="116" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj2D_1o13" virt="normal" prot="private">
+ <type>Obj *</type>
+ <name>mpPrevious</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="117" bodystart="117" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj2D_1o14" virt="normal" prot="private">
+ <type>Obj *</type>
+ <name>mpNext</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="118" bodystart="118" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inheritancegraph>
+ <node id="163">
+ <label>sf::system::console::Obj</label>
+ </node>
+ <node id="164">
+ <label>sf::system::console::ObjQuadrangle</label>
+ <childnode id="162" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="166">
+ <label>sf::system::console::Background</label>
+ <childnode id="165" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="165">
+ <label>sf::system::console::ObjRectangle</label>
+ <childnode id="162" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="162">
+ <label>sf::system::console::Obj2D</label>
+ <childnode id="163" relation="public-inheritance">
+ </childnode>
+ </node>
+ </inheritancegraph>
+ <collaborationgraph>
+ <node id="168">
+ <label>sf::system::console::Obj</label>
+ </node>
+ <node id="169">
+ <label>sf::system::console::sprite::Sprite</label>
+ <link id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite"/>
+ </node>
+ <node id="167">
+ <label>sf::system::console::Obj2D</label>
+ <childnode id="168" relation="public-inheritance">
+ </childnode>
+ <childnode id="168" relation="usage">
+ <edgelabel>mpNext</edgelabel>
+ <edgelabel>mpPrevious</edgelabel>
+ </childnode>
+ <childnode id="169" relation="usage">
+ <edgelabel>mpSprite</edgelabel>
+ </childnode>
+ </node>
+ </collaborationgraph>
+ <location file="J:/project/sfglib/Obj2D.h" line="56" bodystart="55" bodyend="120"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1console_1_1Obj3D" kind="class">
+ <compoundname>sf::system::console::Obj3D</compoundname>
+ <basecompoundref idref="classsf_1_1system_1_1console_1_1Obj" prot="public" virt="non-virtual"/>
+ <derivedcompoundref idref="classsf_1_1system_1_1console_1_1Obj3DL" prot="public" virt="non-virtual"/>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>Obj3D</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="41" bodystart="42" bodyend="57"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a1" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~Obj3D</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="42" bodystart="59" bodyend="61"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a2" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>x</name>
+ <param>
+ <type>float</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="48" bodystart="64" bodyend="68"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a3" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>x</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="49" bodystart="49" bodyend="49"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a4" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>spaceX</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="50" bodystart="50" bodyend="50"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a5" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>y</name>
+ <param>
+ <type>const float</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="53" bodystart="71" bodyend="75"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a6" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>y</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="54" bodystart="54" bodyend="54"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a7" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>spaceY</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="55" bodystart="55" bodyend="55"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a8" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>z</name>
+ <param>
+ <type>const float</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="58" bodystart="78" bodyend="85"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a9" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>z</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="59" bodystart="59" bodyend="59"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a10" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>spaceZ</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="60" bodystart="60" bodyend="60"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a11" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>angleX</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="63" bodystart="63" bodyend="63"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a12" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>angleX</name>
+ <param>
+ <type>const float</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="64" bodystart="88" bodyend="93"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a13" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>angleY</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="67" bodystart="67" bodyend="67"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a14" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>angleY</name>
+ <param>
+ <type>const float</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="68" bodystart="96" bodyend="101"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a15" virt="normal" prot="public" const="no" volatile="no">
+ <type>const float</type>
+ <name>angleZ</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="71" bodystart="71" bodyend="71"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a16" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>angleZ</name>
+ <param>
+ <type>const float</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="72" bodystart="104" bodyend="109"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a17" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>rotXCos</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="76" bodystart="76" bodyend="76"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a18" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>rotXSin</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="77" bodystart="77" bodyend="77"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a19" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>rotYCos</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="79" bodystart="79" bodyend="79"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a20" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>rotYSin</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="80" bodystart="80" bodyend="80"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a21" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>rotZCos</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="82" bodystart="82" bodyend="82"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a22" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>rotZSin</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="83" bodystart="83" bodyend="83"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a23" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>scalingX</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="88" bodystart="88" bodyend="88"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a24" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>scalingX</name>
+ <param>
+ <type>const float</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="89" bodystart="89" bodyend="89"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a25" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>scalingY</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="92" bodystart="92" bodyend="92"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a26" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>scalingY</name>
+ <param>
+ <type>const float</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="93" bodystart="93" bodyend="93"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a27" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>scalingZ</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="96" bodystart="96" bodyend="96"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a28" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>scalingZ</name>
+ <param>
+ <type>const float</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="97" bodystart="97" bodyend="97"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a29" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>drawMode</name>
+ <param>
+ <type>const <ref idref="namespacesf_1_1system_1_1console_1a12">DrawMode</ref></type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="99" bodystart="99" bodyend="99"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a30" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const <ref idref="namespacesf_1_1system_1_1console_1a12">DrawMode</ref></type>
+ <name>drawMode</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="100" bodystart="100" bodyend="100"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a31" virt="virtual" prot="public" const="yes" volatile="no">
+ <type>virtual <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite">sprite::Sprite</ref> *const</type>
+ <name>sprite</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="103" bodystart="103" bodyend="103"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a32" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>sprite</name>
+ <param>
+ <type><ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite">sprite::Sprite</ref> *const</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="104" bodystart="104" bodyend="104"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a33" virt="virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const int</type>
+ <name>index</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="106" bodystart="106" bodyend="106"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a34" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>index</name>
+ <param>
+ <type>const int</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="107" bodystart="107" bodyend="107"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a35" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const bool</type>
+ <name>visibility</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="109" bodystart="109" bodyend="109"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a36" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>visibility</name>
+ <param>
+ <type>const bool</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="110" bodystart="110" bodyend="110"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a37" virt="normal" prot="public" const="yes" volatile="no">
+ <type>Obj *const</type>
+ <name>previous</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="112" bodystart="112" bodyend="112"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a38" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>previous</name>
+ <param>
+ <type>Obj *const</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="113" bodystart="113" bodyend="113"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a39" virt="normal" prot="public" const="yes" volatile="no">
+ <type>Obj *const</type>
+ <name>next</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="115" bodystart="115" bodyend="115"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3D_1a40" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>next</name>
+ <param>
+ <type>Obj *const</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="116" bodystart="116" bodyend="116"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-attrib">
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3D_1o0" virt="normal" prot="private">
+ <type>float</type>
+ <name>mX</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="120" bodystart="120" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3D_1o1" virt="normal" prot="private">
+ <type>float</type>
+ <name>mY</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="121" bodystart="121" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3D_1o2" virt="normal" prot="private">
+ <type>float</type>
+ <name>mZ</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="122" bodystart="122" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3D_1o3" virt="normal" prot="private">
+ <type>float</type>
+ <name>mSpaceX</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="125" bodystart="125" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3D_1o4" virt="normal" prot="private">
+ <type>float</type>
+ <name>mSpaceY</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="126" bodystart="126" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3D_1o5" virt="normal" prot="private">
+ <type>float</type>
+ <name>mSpaceZ</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="127" bodystart="127" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3D_1o6" virt="normal" prot="private">
+ <type>float</type>
+ <name>mAngleX</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="129" bodystart="129" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3D_1o7" virt="normal" prot="private">
+ <type>float</type>
+ <name>mAngleY</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="130" bodystart="130" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3D_1o8" virt="normal" prot="private">
+ <type>float</type>
+ <name>mAngleZ</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="131" bodystart="131" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3D_1o9" virt="normal" prot="private">
+ <type>float</type>
+ <name>mRotXSin</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="133" bodystart="133" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3D_1o10" virt="normal" prot="private">
+ <type>float</type>
+ <name>mRotYSin</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="134" bodystart="134" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3D_1o11" virt="normal" prot="private">
+ <type>float</type>
+ <name>mRotZSin</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="135" bodystart="135" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3D_1o12" virt="normal" prot="private">
+ <type>float</type>
+ <name>mRotXCos</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="136" bodystart="136" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3D_1o13" virt="normal" prot="private">
+ <type>float</type>
+ <name>mRotYCos</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="137" bodystart="137" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3D_1o14" virt="normal" prot="private">
+ <type>float</type>
+ <name>mRotZCos</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="138" bodystart="138" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3D_1o15" virt="normal" prot="private">
+ <type>float</type>
+ <name>mScalingX</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="140" bodystart="140" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3D_1o16" virt="normal" prot="private">
+ <type>float</type>
+ <name>mScalingY</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="141" bodystart="141" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3D_1o17" virt="normal" prot="private">
+ <type>float</type>
+ <name>mScalingZ</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="142" bodystart="142" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3D_1o18" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbVisibility</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="144" bodystart="144" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3D_1o19" virt="normal" prot="private">
+ <type><ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite">sprite::Sprite</ref> *</type>
+ <name>mpSprite</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="145" bodystart="145" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3D_1o20" virt="normal" prot="private">
+ <type>int</type>
+ <name>mIndex</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="146" bodystart="146" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3D_1o21" virt="normal" prot="private">
+ <type><ref idref="namespacesf_1_1system_1_1console_1a12">DrawMode</ref></type>
+ <name>mDrawMode</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="147" bodystart="147" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3D_1o22" virt="normal" prot="private">
+ <type>Obj *</type>
+ <name>mpPrevious</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="148" bodystart="148" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3D_1o23" virt="normal" prot="private">
+ <type>Obj *</type>
+ <name>mpNext</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="149" bodystart="149" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inheritancegraph>
+ <node id="171">
+ <label>sf::system::console::Obj</label>
+ </node>
+ <node id="172">
+ <label>sf::system::console::Obj3DL</label>
+ <childnode id="170" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="170">
+ <label>sf::system::console::Obj3D</label>
+ <childnode id="171" relation="public-inheritance">
+ </childnode>
+ </node>
+ </inheritancegraph>
+ <collaborationgraph>
+ <node id="174">
+ <label>sf::system::console::Obj</label>
+ </node>
+ <node id="175">
+ <label>sf::system::console::sprite::Sprite</label>
+ <link id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite"/>
+ </node>
+ <node id="173">
+ <label>sf::system::console::Obj3D</label>
+ <childnode id="174" relation="public-inheritance">
+ </childnode>
+ <childnode id="174" relation="usage">
+ <edgelabel>mpNext</edgelabel>
+ <edgelabel>mpPrevious</edgelabel>
+ </childnode>
+ <childnode id="175" relation="usage">
+ <edgelabel>mpSprite</edgelabel>
+ </childnode>
+ </node>
+ </collaborationgraph>
+ <location file="J:/project/sfglib/Obj3D.h" line="38" bodystart="37" bodyend="151"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1console_1_1Obj3DL" kind="class">
+ <compoundname>sf::system::console::Obj3DL</compoundname>
+ <basecompoundref idref="classsf_1_1system_1_1console_1_1Obj3D" prot="public" virt="non-virtual"/>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3DL_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>Obj3DL</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3DL.h" line="36" bodystart="40" bodyend="46"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3DL_1a1" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~Obj3DL</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3DL.h" line="37" bodystart="48" bodyend="51"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3DL_1a2" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>draw</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3DL.h" line="39" bodystart="39" bodyend="39"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3DL_1a3" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const COLOR</type>
+ <name>color</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3DL.h" line="41" bodystart="41" bodyend="41"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3DL_1a4" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>color</name>
+ <param>
+ <type>const COLOR</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3DL.h" line="42" bodystart="42" bodyend="42"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3DL_1a5" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const COLOR</type>
+ <name>specular</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3DL.h" line="44" bodystart="44" bodyend="44"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj3DL_1a6" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>specular</name>
+ <param>
+ <type>const COLOR</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3DL.h" line="45" bodystart="45" bodyend="45"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-attrib">
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3DL_1o0" virt="normal" prot="private">
+ <type>COLOR</type>
+ <name>mColor</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3DL.h" line="48" bodystart="48" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj3DL_1o1" virt="normal" prot="private">
+ <type>COLOR</type>
+ <name>mSpecular</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3DL.h" line="49" bodystart="49" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inheritancegraph>
+ <node id="178">
+ <label>sf::system::console::Obj</label>
+ </node>
+ <node id="176">
+ <label>sf::system::console::Obj3DL</label>
+ <childnode id="177" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="177">
+ <label>sf::system::console::Obj3D</label>
+ <childnode id="178" relation="public-inheritance">
+ </childnode>
+ </node>
+ </inheritancegraph>
+ <collaborationgraph>
+ <node id="181">
+ <label>sf::system::console::Obj</label>
+ </node>
+ <node id="182">
+ <label>sf::system::console::sprite::Sprite</label>
+ <link id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite"/>
+ </node>
+ <node id="179">
+ <label>sf::system::console::Obj3DL</label>
+ <childnode id="180" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="180">
+ <label>sf::system::console::Obj3D</label>
+ <childnode id="181" relation="public-inheritance">
+ </childnode>
+ <childnode id="181" relation="usage">
+ <edgelabel>mpNext</edgelabel>
+ <edgelabel>mpPrevious</edgelabel>
+ </childnode>
+ <childnode id="182" relation="usage">
+ <edgelabel>mpSprite</edgelabel>
+ </childnode>
+ </node>
+ </collaborationgraph>
+ <location file="J:/project/sfglib/Obj3DL.h" line="34" bodystart="33" bodyend="50"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1console_1_1Obj_1_1List" kind="class">
+ <compoundname>sf::system::console::Obj::List</compoundname>
+ <sectiondef kind="public-static-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj_1_1List_1d0" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>insertObj</name>
+ <param>
+ <type>Obj *</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="75" bodystart="71" bodyend="114"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj_1_1List_1d1" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>deleteObj</name>
+ <param>
+ <type>Obj *</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="76" bodystart="117" bodyend="145"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj_1_1List_1d2" virt="normal" prot="public" const="no" volatile="no">
+ <type>Obj *</type>
+ <name>moveTop</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="78" bodystart="160" bodyend="160"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj_1_1List_1d3" virt="normal" prot="public" const="no" volatile="no">
+ <type>Obj *</type>
+ <name>moveBottom</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="79" bodystart="161" bodyend="161"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj_1_1List_1d4" virt="normal" prot="public" const="no" volatile="no">
+ <type>Obj *</type>
+ <name>moveNext</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="81" bodystart="147" bodyend="152"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1Obj_1_1List_1d5" virt="normal" prot="public" const="no" volatile="no">
+ <type>Obj *</type>
+ <name>movePrevious</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="82" bodystart="154" bodyend="158"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-static-attrib">
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj_1_1List_1r0" virt="normal" prot="private">
+ <type>Obj *</type>
+ <name>mspCurrent</name>
+ <initializer> NULL</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="86" bodystart="48" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj_1_1List_1r1" virt="normal" prot="private">
+ <type>Obj *</type>
+ <name>mspTop</name>
+ <initializer> NULL</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="87" bodystart="47" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj_1_1List_1r2" virt="normal" prot="private">
+ <type>Obj *</type>
+ <name>mspBottom</name>
+ <initializer> NULL</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="88" bodystart="46" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1Obj_1_1List_1r3" virt="normal" prot="private">
+ <type>int</type>
+ <name>mCount</name>
+ <initializer> 0</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="89" bodystart="45" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <collaborationgraph>
+ <node id="185">
+ <label>sf::system::console::Obj</label>
+ </node>
+ <node id="184">
+ <label>sf::system::console::Obj::List</label>
+ <childnode id="185" relation="usage">
+ <edgelabel>mspBottom</edgelabel>
+ <edgelabel>mspCurrent</edgelabel>
+ <edgelabel>mspTop</edgelabel>
+ </childnode>
+ </node>
+ </collaborationgraph>
+ <location file="J:/project/sfglib/Obj.h" line="73" bodystart="72" bodyend="91"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1console_1_1ObjQuadrangle" kind="class">
+ <compoundname>sf::system::console::ObjQuadrangle</compoundname>
+ <basecompoundref idref="classsf_1_1system_1_1console_1_1Obj2D" prot="public" virt="non-virtual"/>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ObjQuadrangle_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>ObjQuadrangle</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ObjQuadrangle.h" line="40" bodystart="42" bodyend="47"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ObjQuadrangle_1a1" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~ObjQuadrangle</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ObjQuadrangle.h" line="41" bodystart="49" bodyend="53"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ObjQuadrangle_1a2" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>draw</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ObjQuadrangle.h" line="45" bodystart="45" bodyend="45"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ObjQuadrangle_1a3" virt="virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const <ref idref="structsf_1_1system_1_1console_1_1Vertex">Vertex</ref> *const</type>
+ <name>vertex</name>
+ <param>
+ <type>const int</type>
+ <declname>i</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ObjQuadrangle.h" line="48" bodystart="48" bodyend="48"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ObjQuadrangle_1a4" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual <ref idref="structsf_1_1system_1_1console_1_1Vertex">Vertex</ref> *const</type>
+ <name>vertex</name>
+ <param>
+ <type>const int</type>
+ <declname>i</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ObjQuadrangle.h" line="49" bodystart="49" bodyend="49"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-attrib">
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1ObjQuadrangle_1o0" virt="normal" prot="private">
+ <type><ref idref="structsf_1_1system_1_1console_1_1Vertex">Vertex</ref></type>
+ <name>mVertex</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ObjQuadrangle.h" line="51" bodystart="51" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inheritancegraph>
+ <node id="188">
+ <label>sf::system::console::Obj</label>
+ </node>
+ <node id="186">
+ <label>sf::system::console::ObjQuadrangle</label>
+ <childnode id="187" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="187">
+ <label>sf::system::console::Obj2D</label>
+ <childnode id="188" relation="public-inheritance">
+ </childnode>
+ </node>
+ </inheritancegraph>
+ <collaborationgraph>
+ <node id="191">
+ <label>sf::system::console::Obj</label>
+ </node>
+ <node id="192">
+ <label>sf::system::console::sprite::Sprite</label>
+ <link id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite"/>
+ </node>
+ <node id="193">
+ <label>sf::system::console::Vertex</label>
+ <link id="structsf_1_1system_1_1console_1_1Vertex"/>
+ </node>
+ <node id="189">
+ <label>sf::system::console::ObjQuadrangle</label>
+ <childnode id="190" relation="public-inheritance">
+ </childnode>
+ <childnode id="193" relation="usage">
+ <edgelabel>mVertex</edgelabel>
+ </childnode>
+ </node>
+ <node id="190">
+ <label>sf::system::console::Obj2D</label>
+ <childnode id="191" relation="public-inheritance">
+ </childnode>
+ <childnode id="191" relation="usage">
+ <edgelabel>mpNext</edgelabel>
+ <edgelabel>mpPrevious</edgelabel>
+ </childnode>
+ <childnode id="192" relation="usage">
+ <edgelabel>mpSprite</edgelabel>
+ </childnode>
+ </node>
+ </collaborationgraph>
+ <location file="J:/project/sfglib/ObjQuadrangle.h" line="37" bodystart="36" bodyend="52"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1console_1_1ObjRectangle" kind="class">
+ <compoundname>sf::system::console::ObjRectangle</compoundname>
+ <basecompoundref idref="classsf_1_1system_1_1console_1_1Obj2D" prot="public" virt="non-virtual"/>
+ <derivedcompoundref idref="classsf_1_1system_1_1console_1_1Background" prot="public" virt="non-virtual"/>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ObjRectangle_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>ObjRectangle</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ObjRectangle.h" line="37" bodystart="48" bodyend="54"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ObjRectangle_1a1" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~ObjRectangle</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ObjRectangle.h" line="38" bodystart="56" bodyend="60"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ObjRectangle_1a2" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>draw</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ObjRectangle.h" line="41" bodystart="41" bodyend="41"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ObjRectangle_1a3" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const COLOR</type>
+ <name>color</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ObjRectangle.h" line="44" bodystart="44" bodyend="44"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ObjRectangle_1a4" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>color</name>
+ <param>
+ <type>const COLOR</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ObjRectangle.h" line="45" bodystart="45" bodyend="45"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ObjRectangle_1a5" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const COLOR</type>
+ <name>specular</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ObjRectangle.h" line="47" bodystart="47" bodyend="47"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1ObjRectangle_1a6" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>specular</name>
+ <param>
+ <type>const COLOR</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ObjRectangle.h" line="48" bodystart="48" bodyend="48"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-attrib">
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1ObjRectangle_1o0" virt="normal" prot="private">
+ <type>COLOR</type>
+ <name>mColor</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ObjRectangle.h" line="51" bodystart="51" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1ObjRectangle_1o1" virt="normal" prot="private">
+ <type>COLOR</type>
+ <name>mSpecular</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ObjRectangle.h" line="52" bodystart="52" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inheritancegraph>
+ <node id="196">
+ <label>sf::system::console::Obj</label>
+ </node>
+ <node id="197">
+ <label>sf::system::console::Background</label>
+ <childnode id="194" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="194">
+ <label>sf::system::console::ObjRectangle</label>
+ <childnode id="195" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="195">
+ <label>sf::system::console::Obj2D</label>
+ <childnode id="196" relation="public-inheritance">
+ </childnode>
+ </node>
+ </inheritancegraph>
+ <collaborationgraph>
+ <node id="200">
+ <label>sf::system::console::Obj</label>
+ </node>
+ <node id="201">
+ <label>sf::system::console::sprite::Sprite</label>
+ <link id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite"/>
+ </node>
+ <node id="198">
+ <label>sf::system::console::ObjRectangle</label>
+ <childnode id="199" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="199">
+ <label>sf::system::console::Obj2D</label>
+ <childnode id="200" relation="public-inheritance">
+ </childnode>
+ <childnode id="200" relation="usage">
+ <edgelabel>mpNext</edgelabel>
+ <edgelabel>mpPrevious</edgelabel>
+ </childnode>
+ <childnode id="201" relation="usage">
+ <edgelabel>mpSprite</edgelabel>
+ </childnode>
+ </node>
+ </collaborationgraph>
+ <location file="J:/project/sfglib/ObjRectangle.h" line="34" bodystart="33" bodyend="54"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1RecoverbleErrorException" kind="class">
+ <compoundname>sf::system::RecoverbleErrorException</compoundname>
+ <basecompoundref idref="classsf_1_1system_1_1Exception" prot="public" virt="non-virtual"/>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1RecoverbleErrorException_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>RecoverbleErrorException</name>
+ <param>
+ <type>const char *const</type>
+ <declname>pValue</declname>
+ </param>
+ <param>
+ <type>const char *const</type>
+ <declname>fileName</declname>
+ </param>
+ <param>
+ <type>const int</type>
+ <declname>line</declname>
+ </param>
+ <param>
+ <type>const <ref idref="classsf_1_1system_1_1Exception_1s4">ERROR_TYPE</ref></type>
+ <declname>err</declname>
+ <defval>DEFAULT</defval>
+ </param>
+ <briefdescription>
+<para>
+\3\o\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>pValue</parametername><parameterdescription><para>
+\\81N\e!?E\81C\81âuIo </para>
+</parameterdescription><parametername>fileName</parametername><parameterdescription><para>
+\O\!\?\e\I!?\a </para>
+</parameterdescription><parametername>line</parametername><parameterdescription><para>
+1OEO1a </para>
+</parameterdescription><parametername>err</parametername><parameterdescription><para>
+ERROR_TYPE </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="143" bodystart="141" bodyend="143"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1RecoverbleErrorException_1a1" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>RecoverbleErrorException</name>
+ <param>
+ <type>std::string &</type>
+ <declname>value</declname>
+ </param>
+ <param>
+ <type>const char *const</type>
+ <declname>fileName</declname>
+ </param>
+ <param>
+ <type>const int</type>
+ <declname>line</declname>
+ </param>
+ <param>
+ <type>const <ref idref="classsf_1_1system_1_1Exception_1s4">ERROR_TYPE</ref></type>
+ <declname>err</declname>
+ <defval>DEFAULT</defval>
+ </param>
+ <briefdescription>
+<para>
+\3\o\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>pValue</parametername><parameterdescription><para>
+\\81N\e!?E\81C\81âuIo </para>
+</parameterdescription><parametername>fileName</parametername><parameterdescription><para>
+\O\!\?\e\I!?\a </para>
+</parameterdescription><parametername>line</parametername><parameterdescription><para>
+1OEO1a </para>
+</parameterdescription><parametername>err</parametername><parameterdescription><para>
+ERROR_TYPE </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="151" bodystart="149" bodyend="151"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+??Eu2AC??EIa3\81\8b. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inheritancegraph>
+ <node id="202">
+ <label>sf::system::RecoverbleErrorException</label>
+ <link id="classsf_1_1system_1_1RecoverbleErrorException"/>
+ <childnode id="203" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="203">
+ <label>sf::system::Exception</label>
+ <link id="classsf_1_1system_1_1Exception"/>
+ </node>
+ </inheritancegraph>
+ <collaborationgraph>
+ <node id="204">
+ <label>sf::system::RecoverbleErrorException</label>
+ <link id="classsf_1_1system_1_1RecoverbleErrorException"/>
+ <childnode id="205" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="205">
+ <label>sf::system::Exception</label>
+ <link id="classsf_1_1system_1_1Exception"/>
+ </node>
+ </collaborationgraph>
+ <location file="J:/project/sfglib/Exception.h" line="134" bodystart="134" bodyend="153"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1sound_1_1Sound" kind="class">
+ <compoundname>sf::system::sound::Sound</compoundname>
+ <derivedcompoundref idref="classsf_1_1system_1_1sound_1_1SoundImpl" prot="public" virt="non-virtual"/>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1Sound_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>Sound</name>
+ <briefdescription>
+<para>
+\3\o\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sound.h" line="46" bodystart="46" bodyend="46"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1Sound_1a1" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~Sound</name>
+ <briefdescription>
+<para>
+\C\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sound.h" line="48" bodystart="48" bodyend="48"/>
+ <references id="System_8h_1a0">sf::DWORD</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1Sound_1a2" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>initialize</name>
+ <reimplementedby id="classsf_1_1system_1_1sound_1_1SoundImpl_1a13">initialize</reimplementedby> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\\83Ê\|\o\E\?\o\?!?\O\\81\98!?\1?I?e\81Lu2??o1O?| !!<parameterlist kind="exception"><title>Ia3\81\8b: </title><parametername><ref idref="classsf_1_1system_1_1FatalErrorException">FatalErrorException</ref>p.</parametername><parameterdescription><para>
+ ?e\81Lu2??E?oCO?\81E???i1c. </para>
+</parameterdescription></parameterlist></para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sound.h" line="53"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1Sound_1a3" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>load</name>
+ <reimplementedby id="classsf_1_1system_1_1sound_1_1SoundImpl_1a2">load</reimplementedby> <param>
+ <type>const int</type>
+ <declname>ObjNo</declname>
+ <defname>objNo</defname>
+ </param>
+ <param>
+ <type>const char *const</type>
+ <declname>pFileName</declname>
+ </param>
+ <briefdescription>
+<para>
+\81âOAe?\81E??\\83Ê\|\o\EEO1a?E\\83Ê\|\o\E\O\!\?\e?I\i!?\E?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>ObjNo</parametername><parameterdescription><para>
+\i!?\E?\81E????\\83Ê\|\o\E\a\O\\81C\\81\98\\81P\E?IEO1a </para>
+</parameterdescription><parametername>pFileName</parametername><parameterdescription><para>
+\O\!\?\e\I!?\aE\81C\81âuIo?I\Y\?\o\? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sound.h" line="58"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1Sound_1a4" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual const int</type>
+ <name>load</name>
+ <reimplementedby id="classsf_1_1system_1_1sound_1_1SoundImpl_1a3">load</reimplementedby> <param>
+ <type>const char *const</type>
+ <declname>pFileName</declname>
+ </param>
+ <briefdescription>
+<para>
+\\83Ê\|\o\E\O\!\?\e?I\i!?\E?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+?\81\91???A???e\\83Ê\|\o\EEO1a?\81Ê?\81\91?i?D!\81\91???3?E\i!?\E?\81E!\81\91\i!?\E?\81E??EO1a?oEO?\81E?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>pFileName</parametername><parameterdescription><para>
+\\83Ê\|\o\E\O\!\?\e?IPATH </para>
+</parameterdescription></parameterlist></para>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+\\83Ê\|\o\EEO1a(0 - OBJECT_MAX) </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/Sound.h" line="64"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1Sound_1a5" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>unload</name>
+ <reimplementedby id="classsf_1_1system_1_1sound_1_1SoundImpl_1a4">unload</reimplementedby> <briefdescription>
+<para>
+\\83Ê\|\o\E\e\?!?\1?I\\81\91\o\i!?\E?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\\83Ê\|\o\E\e\?!?\1?o3\81áEu?\81E?T?1 </para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sound.h" line="68"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1Sound_1a6" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>play</name>
+ <reimplementedby id="classsf_1_1system_1_1sound_1_1SoundImpl_1a5">play</reimplementedby> <param>
+ <type>const int</type>
+ <declname>ObjNo</declname>
+ </param>
+ <param>
+ <type>const <ref idref="namespacesf_1a0">DWORD</ref></type>
+ <declname>Repeat</declname>
+ </param>
+ <param>
+ <type>const bool</type>
+ <declname>bPrimary</declname>
+ </param>
+ <param>
+ <type>const bool</type>
+ <declname>bSync</declname>
+ </param>
+ <briefdescription>
+<para>
+\\83Ê\|\o\E?IoAA\81C?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>ObjNo</parametername><parameterdescription><para>
+\\83Ê\|\o\EEO1a </para>
+</parameterdescription><parametername>Repeat</parametername><parameterdescription><para>
+\e\O!?\E2o?o(0?I!c2o) </para>
+</parameterdescription><parametername>bPrimary</parametername><parameterdescription><para>
+\\81~\e\?\T\e\D\A\O\!?CoAA\81C?1?e?\81á?E?|?\81á </para>
+</parameterdescription><parametername>bSync</parametername><parameterdescription><para>
+BGM?EA\81}\81Lu?\81E?AoAA\81C?1?e?\81á?E?|?\81á </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sound.h" line="75"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1Sound_1a7" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>stop</name>
+ <reimplementedby id="classsf_1_1system_1_1sound_1_1SoundImpl_1a6">stop</reimplementedby> <param>
+ <type>const int</type>
+ <declname>ObjNo</declname>
+ <defval>0</defval>
+ </param>
+ <briefdescription>
+<para>
+\\83Ê\|\o\EoAA\81C?o\81âs?a?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>ObjNo</parametername><parameterdescription><para>
+\81âs?a????\\83Ê\|\o\E?IEO1a </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sound.h" line="79"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1Sound_1a8" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>update</name>
+ <reimplementedby id="classsf_1_1system_1_1sound_1_1SoundImpl_1a7">update</reimplementedby> <briefdescription>
+<para>
+\\83Ê\|\o\E\a\O\\81C\\81\98\\81P\E?I11?\81E?o?a?3?E?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+oAA\81C?I11?\81Eoi\81÷E?o1O???T?1!\81\92 </para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sound.h" line="83"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1Sound_1a9" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>masterVolume</name>
+ <reimplementedby id="classsf_1_1system_1_1sound_1_1SoundImpl_1a8">masterVolume</reimplementedby> <param>
+ <type>const int</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+<para>
+\T\1\?!?\U\e\a!?\a(A\81LAI?I2\81âII)?o\\81â\A\E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>value</parametername><parameterdescription><para>
+2\81âII <ref idref="namespacesf_1_1system_1_1sound_1_1volume_1a1">volume::MIN</ref>p. !A <ref idref="namespacesf_1_1system_1_1sound_1_1volume_1a0">volume::MAX</ref>p. \81LO?C?IAI </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sound.h" line="88"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1Sound_1a10" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const int</type>
+ <name>masterVolume</name>
+ <reimplementedby id="classsf_1_1system_1_1sound_1_1SoundImpl_1a9">masterVolume</reimplementedby> <briefdescription>
+<para>
+\T\1\?!?\U\e\a!?\a(A\81LAI?I2\81âII)?oAE?s?D?1. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+2\81âII <ref idref="namespacesf_1_1system_1_1sound_1_1volume_1a1">volume::MIN</ref>p. !A <ref idref="namespacesf_1_1system_1_1sound_1_1volume_1a0">volume::MAX</ref>p. \81LO?C?IAI </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/Sound.h" line="92"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1Sound_1a11" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>volumeMax</name>
+ <reimplementedby id="classsf_1_1system_1_1sound_1_1SoundImpl_1a10">volumeMax</reimplementedby> <param>
+ <type>const int</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+<para>
+!!oCAc2\81âII?o\\81â\A\E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>value</parametername><parameterdescription><para>
+2\81âII <ref idref="namespacesf_1_1system_1_1sound_1_1volume_1a1">volume::MIN</ref>p. !A <ref idref="namespacesf_1_1system_1_1sound_1_1volume_1a0">volume::MAX</ref>p. \81LO?C?IAI </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sound.h" line="96"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1Sound_1a12" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const int</type>
+ <name>volumeMax</name>
+ <reimplementedby id="classsf_1_1system_1_1sound_1_1SoundImpl_1a11">volumeMax</reimplementedby> <briefdescription>
+<para>
+oCAc2\81âII?oAE?s?D?1. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+2\81âII <ref idref="namespacesf_1_1system_1_1sound_1_1volume_1a1">volume::MIN</ref>p. !A <ref idref="namespacesf_1_1system_1_1sound_1_1volume_1a0">volume::MAX</ref>p. \81LO?C?IAI </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/Sound.h" line="100"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1Sound_1a13" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const bool</type>
+ <name>isEnabled</name>
+ <reimplementedby id="classsf_1_1system_1_1sound_1_1SoundImpl_1a12">isEnabled</reimplementedby> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\\83Ê\|\o\E\a\O\\81C\\81\98\\81P\E?I?oAO?oIa??1c?i?\81â?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\81C?os\81âEIN2AC? </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\81C?os\81âEINEO2A </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sound.h" line="107"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+\\83Ê\|\o\E?oAc\81Ca?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+BGM!|\81Cu2I2\81â?oAc\81Ca?1?e\?\o\?!?\O\\81\98!?\1?C?1!\81\92 </para>
+ </detaileddescription>
+ <inheritancegraph>
+ <node id="207">
+ <label>sf::system::sound::SoundImpl</label>
+ <link id="classsf_1_1system_1_1sound_1_1SoundImpl"/>
+ <childnode id="206" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="206">
+ <label>sf::system::sound::Sound</label>
+ <link id="classsf_1_1system_1_1sound_1_1Sound"/>
+ </node>
+ </inheritancegraph>
+ <location file="J:/project/sfglib/Sound.h" line="42" bodystart="41" bodyend="109"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1sound_1_1SoundImpl" kind="class">
+ <compoundname>sf::system::sound::SoundImpl</compoundname>
+ <basecompoundref idref="classsf_1_1system_1_1sound_1_1Sound" prot="public" virt="non-virtual"/>
+ <innerclass refid="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue">sf::system::sound::SoundImpl::Queue</innerclass>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1SoundImpl_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>SoundImpl</name>
+ <briefdescription>
+<para>
+\3\o\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="35" bodystart="65" bodyend="85"/>
+ <references id="Sound_8h_1a0">sf::system::sound::OBJECT_MAX</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1SoundImpl_1a1" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~SoundImpl</name>
+ <briefdescription>
+<para>
+\C\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="37" bodystart="88" bodyend="108"/>
+ <references id="SoundImpl_8h_1o4">mpDefaultAudioPath</references>
+ <references id="SoundImpl_8h_1o0">mpLoader</references>
+ <references id="SoundImpl_8h_1o1">mpPerformance</references>
+ <references id="SoundImpl_8cpp_1a4">unload</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1SoundImpl_1a2" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>load</name>
+ <reimplements id="classsf_1_1system_1_1sound_1_1Sound_1a3">load</reimplements> <param>
+ <type>const int</type>
+ <declname>objNo</declname>
+ </param>
+ <param>
+ <type>const char *const</type>
+ <declname>pFileName</declname>
+ </param>
+ <briefdescription>
+<para>
+\81âOAe?\81E??\\83Ê\|\o\EEO1a?E\\83Ê\|\o\E\O\!\?\e?I\i!?\E?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>ObjNo</parametername><parameterdescription><para>
+\i!?\E?\81E????\\83Ê\|\o\E\a\O\\81C\\81\98\\81P\E?IEO1a </para>
+</parameterdescription><parametername>pFileName</parametername><parameterdescription><para>
+\O\!\?\e\I!?\aE\81C\81âuIo?I\Y\?\o\? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="40" bodystart="231" bodyend="274"/>
+ <references id="classsf_1_1system_1_1Exception_1s4s2">sf::system::Exception::BUFFER_IS_FULL</references>
+ <references id="SoundImpl_8h_1a12">isEnabled</references>
+ <references id="SoundImpl_8h_1o5">mFileName</references>
+ <references id="SoundImpl_8h_1o3">mpAudioPath</references>
+ <references id="SoundImpl_8h_1o0">mpLoader</references>
+ <references id="SoundImpl_8h_1o1">mpPerformance</references>
+ <references id="SoundImpl_8h_1o2">mpSegment</references>
+ <references id="Sound_8h_1a0">sf::system::sound::OBJECT_MAX</references>
+ <referencedby id="SoundImpl_8cpp_1a3">load</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1SoundImpl_1a3" virt="normal" prot="public" const="no" volatile="no">
+ <type>const int</type>
+ <name>load</name>
+ <reimplements id="classsf_1_1system_1_1sound_1_1Sound_1a4">load</reimplements> <param>
+ <type>const char *const</type>
+ <declname>pFileName</declname>
+ </param>
+ <briefdescription>
+<para>
+\\83Ê\|\o\E\O\!\?\e?I\i!?\E?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+?\81\91???A???e\\83Ê\|\o\EEO1a?\81Ê?\81\91?i?D!\81\91???3?E\i!?\E?\81E!\81\91\i!?\E?\81E??EO1a?oEO?\81E?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>pFileName</parametername><parameterdescription><para>
+\\83Ê\|\o\E\O\!\?\e?IPATH </para>
+</parameterdescription></parameterlist></para>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+\\83Ê\|\o\EEO1a(0 - OBJECT_MAX) </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="41" bodystart="277" bodyend="303"/>
+ <references id="SoundImpl_8cpp_1a2">load</references>
+ <references id="Sound_8h_1a1">sf::system::sound::LOAD_ERROR</references>
+ <references id="SoundImpl_8h_1o5">mFileName</references>
+ <references id="SoundImpl_8h_1o2">mpSegment</references>
+ <references id="Sound_8h_1a0">sf::system::sound::OBJECT_MAX</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1SoundImpl_1a4" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>unload</name>
+ <reimplements id="classsf_1_1system_1_1sound_1_1Sound_1a5">unload</reimplements> <briefdescription>
+<para>
+\\83Ê\|\o\E\e\?!?\1?I\\81\91\o\i!?\E?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\\83Ê\|\o\E\e\?!?\1?o3\81áEu?\81E?T?1 </para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="42" bodystart="306" bodyend="330"/>
+ <references id="SoundImpl_8h_1o6">mbSegInUse</references>
+ <references id="SoundImpl_8h_1o3">mpAudioPath</references>
+ <references id="SoundImpl_8h_1o1">mpPerformance</references>
+ <references id="SoundImpl_8h_1o2">mpSegment</references>
+ <references id="Sound_8h_1a0">sf::system::sound::OBJECT_MAX</references>
+ <referencedby id="SoundImpl_8cpp_1a1">~SoundImpl</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1SoundImpl_1a5" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>play</name>
+ <reimplements id="classsf_1_1system_1_1sound_1_1Sound_1a6">play</reimplements> <param>
+ <type>const int</type>
+ <declname>ObjNo</declname>
+ </param>
+ <param>
+ <type>const <ref idref="namespacesf_1a0">DWORD</ref></type>
+ <declname>Repeat</declname>
+ </param>
+ <param>
+ <type>const bool</type>
+ <declname>bPrimary</declname>
+ </param>
+ <param>
+ <type>const bool</type>
+ <declname>bSync</declname>
+ </param>
+ <briefdescription>
+<para>
+\\83Ê\|\o\E?IoAA\81C?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>ObjNo</parametername><parameterdescription><para>
+\\83Ê\|\o\EEO1a </para>
+</parameterdescription><parametername>Repeat</parametername><parameterdescription><para>
+\e\O!?\E2o?o(0?I!c2o) </para>
+</parameterdescription><parametername>bPrimary</parametername><parameterdescription><para>
+\\81~\e\?\T\e\D\A\O\!?CoAA\81C?1?e?\81á?E?|?\81á </para>
+</parameterdescription><parametername>bSync</parametername><parameterdescription><para>
+BGM?EA\81}\81Lu?\81E?AoAA\81C?1?e?\81á?E?|?\81á </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="44" bodystart="169" bodyend="177"/>
+ <references id="System_8h_1a0">sf::DWORD</references>
+ <references id="SoundImpl_8h_1a12">isEnabled</references>
+ <references id="SoundImpl_8h_1o6">mbSegInUse</references>
+ <references id="SoundImpl_8h_1o2">mpSegment</references>
+ <references id="SoundImpl_8h_1o9">mQueue</references>
+ <references id="SoundImpl_8cpp_1a3">sf::system::sound::SoundImpl::Queue::set</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1SoundImpl_1a6" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>stop</name>
+ <reimplements id="classsf_1_1system_1_1sound_1_1Sound_1a7">stop</reimplements> <param>
+ <type>const int</type>
+ <declname>ObjNo</declname>
+ <defval>0</defval>
+ </param>
+ <briefdescription>
+<para>
+\\83Ê\|\o\EoAA\81C?o\81âs?a?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>ObjNo</parametername><parameterdescription><para>
+\81âs?a????\\83Ê\|\o\E?IEO1a </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="45" bodystart="400" bodyend="411"/>
+ <references id="SoundImpl_8cpp_1a4">sf::system::sound::SoundImpl::Queue::clear</references>
+ <references id="SoundImpl_8h_1a12">isEnabled</references>
+ <references id="SoundImpl_8h_1o1">mpPerformance</references>
+ <references id="SoundImpl_8h_1o2">mpSegment</references>
+ <references id="SoundImpl_8h_1o9">mQueue</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1SoundImpl_1a7" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>update</name>
+ <reimplements id="classsf_1_1system_1_1sound_1_1Sound_1a8">update</reimplements> <briefdescription>
+<para>
+\\83Ê\|\o\E\a\O\\81C\\81\98\\81P\E?I11?\81E?o?a?3?E?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+oAA\81C?I11?\81Eoi\81÷E?o1O???T?1!\81\92 </para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="46" bodystart="180" bodyend="228"/>
+ <references id="System_8h_1a0">sf::DWORD</references>
+ <references id="SoundImpl_8cpp_1a2">sf::system::sound::SoundImpl::Queue::get</references>
+ <references id="SoundImpl_8h_1a5">sf::system::sound::SoundImpl::Queue::isEmpty</references>
+ <references id="SoundImpl_8h_1a12">isEnabled</references>
+ <references id="SoundImpl_8h_1o6">mbSegInUse</references>
+ <references id="SoundImpl_8h_1o3">mpAudioPath</references>
+ <references id="SoundImpl_8h_1o4">mpDefaultAudioPath</references>
+ <references id="SoundImpl_8h_1o1">mpPerformance</references>
+ <references id="SoundImpl_8h_1o2">mpSegment</references>
+ <references id="SoundImpl_8h_1o9">mQueue</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1SoundImpl_1a8" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>masterVolume</name>
+ <reimplements id="classsf_1_1system_1_1sound_1_1Sound_1a9">masterVolume</reimplements> <param>
+ <type>const int</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+<para>
+\T\1\?!?\U\e\a!?\a(A\81LAI?I2\81âII)?o\\81â\A\E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>value</parametername><parameterdescription><para>
+2\81âII <ref idref="namespacesf_1_1system_1_1sound_1_1volume_1a1">volume::MIN</ref>p. !A <ref idref="namespacesf_1_1system_1_1sound_1_1volume_1a0">volume::MAX</ref>p. \81LO?C?IAI </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="48" bodystart="332" bodyend="344"/>
+ <references id="SoundImpl_8h_1a12">isEnabled</references>
+ <references id="SoundImpl_8h_1o7">mMasterVolume</references>
+ <references id="SoundImpl_8h_1o4">mpDefaultAudioPath</references>
+ <references id="SoundImpl_8h_1o8">mVolumeMax</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1SoundImpl_1a9" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const int</type>
+ <name>masterVolume</name>
+ <reimplements id="classsf_1_1system_1_1sound_1_1Sound_1a10">masterVolume</reimplements> <briefdescription>
+<para>
+\T\1\?!?\U\e\a!?\a(A\81LAI?I2\81âII)?oAE?s?D?1. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+2\81âII <ref idref="namespacesf_1_1system_1_1sound_1_1volume_1a1">volume::MIN</ref>p. !A <ref idref="namespacesf_1_1system_1_1sound_1_1volume_1a0">volume::MAX</ref>p. \81LO?C?IAI </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="49" bodystart="49" bodyend="49"/>
+ <references id="SoundImpl_8h_1o7">mMasterVolume</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1SoundImpl_1a10" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>volumeMax</name>
+ <reimplements id="classsf_1_1system_1_1sound_1_1Sound_1a11">volumeMax</reimplements> <param>
+ <type>const int</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+<para>
+!!oCAc2\81âII?o\\81â\A\E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>value</parametername><parameterdescription><para>
+2\81âII <ref idref="namespacesf_1_1system_1_1sound_1_1volume_1a1">volume::MIN</ref>p. !A <ref idref="namespacesf_1_1system_1_1sound_1_1volume_1a0">volume::MAX</ref>p. \81LO?C?IAI </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="50" bodystart="50" bodyend="50"/>
+ <references id="SoundImpl_8h_1o8">mVolumeMax</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1SoundImpl_1a11" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const int</type>
+ <name>volumeMax</name>
+ <reimplements id="classsf_1_1system_1_1sound_1_1Sound_1a12">volumeMax</reimplements> <briefdescription>
+<para>
+oCAc2\81âII?oAE?s?D?1. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+2\81âII <ref idref="namespacesf_1_1system_1_1sound_1_1volume_1a1">volume::MIN</ref>p. !A <ref idref="namespacesf_1_1system_1_1sound_1_1volume_1a0">volume::MAX</ref>p. \81LO?C?IAI </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="51" bodystart="51" bodyend="51"/>
+ <references id="SoundImpl_8h_1o8">mVolumeMax</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1SoundImpl_1a12" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const bool</type>
+ <name>isEnabled</name>
+ <reimplements id="classsf_1_1system_1_1sound_1_1Sound_1a13">isEnabled</reimplements> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\\83Ê\|\o\E\a\O\\81C\\81\98\\81P\E?I?oAO?oIa??1c?i?\81â?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\81C?os\81âEIN2AC? </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\81C?os\81âEINEO2A </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="53" bodystart="53" bodyend="53"/>
+ <references id="SoundImpl_8h_1o10">mbEnabled</references>
+ <referencedby id="SoundImpl_8cpp_1a2">load</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a8">masterVolume</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a5">play</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a6">stop</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a7">update</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1SoundImpl_1a13" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>initialize</name>
+ <reimplements id="classsf_1_1system_1_1sound_1_1Sound_1a2">initialize</reimplements> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\\83Ê\|\o\E\?\o\?!?\O\\81\98!?\1?I?e\81Lu2??o1O?| !!<parameterlist kind="exception"><title>Ia3\81\8b: </title><parametername><ref idref="classsf_1_1system_1_1FatalErrorException">FatalErrorException</ref>p.</parametername><parameterdescription><para>
+ ?e\81Lu2??E?oCO?\81E???i1c. </para>
+</parameterdescription></parameterlist></para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="55" bodystart="111" bodyend="166"/>
+ <references id="SoundImpl_8h_1o10">mbEnabled</references>
+ <references id="SoundImpl_8h_1o7">mMasterVolume</references>
+ <references id="SoundImpl_8h_1o4">mpDefaultAudioPath</references>
+ <references id="SoundImpl_8h_1o0">mpLoader</references>
+ <references id="SoundImpl_8h_1o1">mpPerformance</references>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-attrib">
+ <memberdef kind="variable" id="classsf_1_1system_1_1sound_1_1SoundImpl_1o0" virt="normal" prot="private">
+ <type>IDirectMusicLoader8 *</type>
+ <name>mpLoader</name>
+ <briefdescription>
+<para>
+\i!?\A!?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="59" bodystart="58" bodyend="-1"/>
+ <referencedby id="SoundImpl_8cpp_1a13">initialize</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a2">load</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a1">~SoundImpl</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1sound_1_1SoundImpl_1o1" virt="normal" prot="private">
+ <type>IDirectMusicPerformance8 *</type>
+ <name>mpPerformance</name>
+ <briefdescription>
+<para>
+\N\O\c!?\T\o\1. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="60" bodystart="59" bodyend="-1"/>
+ <referencedby id="SoundImpl_8cpp_1a13">initialize</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a2">load</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a6">stop</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a4">unload</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a7">update</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a1">~SoundImpl</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1sound_1_1SoundImpl_1o2" virt="normal" prot="private">
+ <type>IDirectMusicSegment8 *</type>
+ <name>mpSegment</name>
+ <briefdescription>
+<para>
+\\81â\\81\8b\a\o\ECUIo. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="61" bodystart="60" bodyend="-1"/>
+ <referencedby id="SoundImpl_8cpp_1a2">load</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a5">play</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a6">stop</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a4">unload</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a7">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1sound_1_1SoundImpl_1o3" virt="normal" prot="private">
+ <type>IDirectMusicAudioPath8 *</type>
+ <name>mpAudioPath</name>
+ <briefdescription>
+<para>
+\a!?\C\\81\92\a\N\1. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="62" bodystart="61" bodyend="-1"/>
+ <referencedby id="SoundImpl_8cpp_1a2">load</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a4">unload</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a7">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1sound_1_1SoundImpl_1o4" virt="normal" prot="private">
+ <type>IDirectMusicAudioPath8 *</type>
+ <name>mpDefaultAudioPath</name>
+ <briefdescription>
+<para>
+\81LuAe?I\a!?\C\\81\92\a\N\1. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="63" bodystart="62" bodyend="-1"/>
+ <referencedby id="SoundImpl_8cpp_1a13">initialize</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a8">masterVolume</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a7">update</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a1">~SoundImpl</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1sound_1_1SoundImpl_1o5" virt="normal" prot="private">
+ <type>std::string</type>
+ <name>mFileName</name>
+ <briefdescription>
+<para>
+\\83Ê\|\o\E?IPATHCUIo. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="64" bodystart="63" bodyend="-1"/>
+ <referencedby id="SoundImpl_8cpp_1a2">load</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1sound_1_1SoundImpl_1o6" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbSegInUse</name>
+ <briefdescription>
+<para>
+\81C?os\\81â\\81\8b\a\o\E?o\81âEIN?\81E?A???e?\81á?oEY\81ây?\81E?A???eCUIo. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="66" bodystart="65" bodyend="-1"/>
+ <referencedby id="SoundImpl_8cpp_1a5">play</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a4">unload</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a7">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1sound_1_1SoundImpl_1o7" virt="normal" prot="private">
+ <type>int</type>
+ <name>mMasterVolume</name>
+ <briefdescription>
+<para>
+\T\1\?!?\U\e\a!?\a. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="67" bodystart="66" bodyend="-1"/>
+ <referencedby id="SoundImpl_8cpp_1a13">initialize</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a8">masterVolume</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1sound_1_1SoundImpl_1o8" virt="normal" prot="private">
+ <type>int</type>
+ <name>mVolumeMax</name>
+ <briefdescription>
+<para>
+oAA\81C\81ât?E\81âEIN?1?e2\81âII?IAI. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="68" bodystart="67" bodyend="-1"/>
+ <referencedby id="SoundImpl_8cpp_1a8">masterVolume</referencedby>
+ <referencedby id="SoundImpl_8h_1a10">volumeMax</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1sound_1_1SoundImpl_1o9" virt="normal" prot="private">
+ <type><ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue">Queue</ref></type>
+ <name>mQueue</name>
+ <briefdescription>
+<para>
+\\83Ê\|\o\EIN\-\a!?\a\O\\81C\\81\98\\81P\E. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="114" bodystart="113" bodyend="-1"/>
+ <referencedby id="SoundImpl_8cpp_1a5">play</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a6">stop</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a7">update</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1sound_1_1SoundImpl_1o10" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbEnabled</name>
+ <briefdescription>
+<para>
+\\83Ê\|\o\E?I\81âEIN2AC??\81á?E?|?\81á?oEY\81ây?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="115" bodystart="114" bodyend="-1"/>
+ <referencedby id="SoundImpl_8cpp_1a13">initialize</referencedby>
+ <referencedby id="SoundImpl_8h_1a12">isEnabled</referencedby>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1sound_1_1Sound">Sound</ref>p.\?\o\?!?\O\\81\98!?\1?I?AAo\\81P\e\1. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inheritancegraph>
+ <node id="209">
+ <label>sf::system::sound::SoundImpl</label>
+ <link id="classsf_1_1system_1_1sound_1_1SoundImpl"/>
+ <childnode id="210" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="210">
+ <label>sf::system::sound::Sound</label>
+ <link id="classsf_1_1system_1_1sound_1_1Sound"/>
+ </node>
+ </inheritancegraph>
+ <collaborationgraph>
+ <node id="211">
+ <label>sf::system::sound::SoundImpl</label>
+ <link id="classsf_1_1system_1_1sound_1_1SoundImpl"/>
+ <childnode id="212" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="212">
+ <label>sf::system::sound::Sound</label>
+ <link id="classsf_1_1system_1_1sound_1_1Sound"/>
+ </node>
+ </collaborationgraph>
+ <location file="J:/project/sfglib/SoundImpl.h" line="31" bodystart="30" bodyend="117"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue" kind="class">
+ <compoundname>sf::system::sound::SoundImpl::Queue</compoundname>
+ <innerclass refid="structsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1_1Data">sf::system::sound::SoundImpl::Queue::Data</innerclass>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>Queue</name>
+ <briefdescription>
+<para>
+\3\o\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="74" bodystart="354" bodyend="357"/>
+ <references id="SoundImpl_8cpp_1a4">clear</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1a1" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>~Queue</name>
+ <briefdescription>
+<para>
+\C\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="76" bodystart="360" bodyend="360"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1a2" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>get</name>
+ <param>
+ <type><ref idref="structsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1_1Data">Data</ref> &</type>
+ <declname>rData</declname>
+ </param>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue">Queue</ref>p.?\81á?e?dEo?o?eAA?\81E!\81\91\D\A\O\!?\81á?e?A?1. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>rData</parametername><parameterdescription><para>
+<ref idref="structsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1_1Data">Data</ref>p.1?A?AI?I\81â2?E </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="89" bodystart="378" bodyend="391"/>
+ <references id="SoundImpl_8h_1o0">mBuffer</references>
+ <references id="SoundImpl_8h_1o2">mEnd</references>
+ <references id="SoundImpl_8h_1o1">mStart</references>
+ <references id="SoundImpl_8h_1a4">sf::system::sound::Q_MAX</references>
+ <referencedby id="SoundImpl_8cpp_1a7">sf::system::sound::SoundImpl::update</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1a3" virt="normal" prot="public" const="no" volatile="no">
+ <type>const bool</type>
+ <name>set</name>
+ <param>
+ <type>const int</type>
+ <declname>ObjNo</declname>
+ </param>
+ <param>
+ <type>const <ref idref="namespacesf_1a0">DWORD</ref></type>
+ <declname>Repeat</declname>
+ </param>
+ <param>
+ <type>const bool</type>
+ <declname>bPrimary</declname>
+ </param>
+ <param>
+ <type>const bool</type>
+ <declname>bSync</declname>
+ </param>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue">Queue</ref>p.?E\C!?\??o\\81â\A\E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>ObjNo</parametername><parameterdescription><para>
+\\83Ê\|\o\EEO1a </para>
+</parameterdescription><parametername>Repeat</parametername><parameterdescription><para>
+\e\O!?\E2o?o(0?I!c2o) </para>
+</parameterdescription><parametername>bPrimary</parametername><parameterdescription><para>
+\\81~\e\?\T\e\D\A\O\!?CoAA\81C?1?e?\81á?E?|?\81á </para>
+</parameterdescription><parametername>bSync</parametername><parameterdescription><para>
+\\81~\e\?\T\e\\83Ê\|\o\E?EA\81}\81Lu?1?e?\81á?E?|?\81á </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="96" bodystart="363" bodyend="375"/>
+ <references id="System_8h_1a0">sf::DWORD</references>
+ <references id="SoundImpl_8h_1o0">mBuffer</references>
+ <references id="SoundImpl_8h_1o2">mEnd</references>
+ <references id="SoundImpl_8h_1a4">sf::system::sound::Q_MAX</references>
+ <referencedby id="SoundImpl_8cpp_1a5">sf::system::sound::SoundImpl::play</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1a4" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>clear</name>
+ <briefdescription>
+<para>
+\-\a!??o\\81P\e\\81\91?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="99" bodystart="394" bodyend="398"/>
+ <references id="SoundImpl_8h_1o0">mBuffer</references>
+ <references id="SoundImpl_8h_1o2">mEnd</references>
+ <references id="SoundImpl_8h_1o1">mStart</references>
+ <referencedby id="SoundImpl_8cpp_1a0">Queue</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a6">sf::system::sound::SoundImpl::stop</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1a5" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const bool</type>
+ <name>isEmpty</name>
+ <briefdescription>
+<para>
+queue(<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o0">mBuffer</ref>p.)?\81Ê\81÷o?\81á?E?|?\81áIa??1c?i?\81â?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+\81÷o?C?\81\91?e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\81÷o?C?E?? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="105" bodystart="105" bodyend="105"/>
+ <referencedby id="SoundImpl_8cpp_1a7">sf::system::sound::SoundImpl::update</referencedby>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-attrib">
+ <memberdef kind="variable" id="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o0" virt="normal" prot="private">
+ <type><ref idref="structsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1_1Data">Data</ref></type>
+ <name>mBuffer</name>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue">Queue</ref>p.\D\A\O\!CUIo. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="108" bodystart="107" bodyend="-1"/>
+ <referencedby id="SoundImpl_8cpp_1a4">clear</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a2">get</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a3">set</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o1" virt="normal" prot="private">
+ <type>int</type>
+ <name>mStart</name>
+ <briefdescription>
+<para>
+\e\o\\81\8b\D\A\O\!3\81á\81âI\81\8bIAO. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="109" bodystart="108" bodyend="-1"/>
+ <referencedby id="SoundImpl_8cpp_1a4">clear</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a2">get</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o2" virt="normal" prot="private">
+ <type>int</type>
+ <name>mEnd</name>
+ <briefdescription>
+<para>
+\e\o\\81\8b\D\A\O\!?aI\81â\81\8bIAO. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="110" bodystart="109" bodyend="-1"/>
+ <referencedby id="SoundImpl_8cpp_1a4">clear</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a2">get</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a3">set</referencedby>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue">Queue</ref>p.\\81P\e\1 \\83Ê\|\o\E?IoAA\81C\81âOAe\81ât?E?3?I\-\a!??E\81\8biA\81÷As?\81N?e?i!\81\91\O\i!?\aEe?E\81\92\81}?A?o?A?3?Iqueue?\81á?e?e?e?D?\81E!\81\91<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a7">update</ref>()p.Aa?CoAA\81C?\83Ê?i?T?1. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="71" bodystart="71" bodyend="111"/>
+ </compounddef>
+ <compounddef id="structsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1_1Data" kind="struct">
+ <compoundname>sf::system::sound::SoundImpl::Queue::Data</compoundname>
+ <sectiondef kind="public-attrib">
+ <memberdef kind="variable" id="structsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1_1Data_1m0" virt="normal" prot="public">
+ <type>int</type>
+ <name>mObjNo</name>
+ <briefdescription>
+<para>
+\\81â\\81\8b\a\o\EEO1a. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="81" bodystart="80" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="structsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1_1Data_1m1" virt="normal" prot="public">
+ <type>long</type>
+ <name>mRepeat</name>
+ <briefdescription>
+<para>
+\e\O!?\E2o?o 0 ?II\83Ê\81CA2o. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="82" bodystart="81" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="structsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1_1Data_1m2" virt="normal" prot="public">
+ <type>bool</type>
+ <name>mbPrimary</name>
+ <briefdescription>
+<para>
+\\81~\e\?\T\e?\81á?E?|?\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="83" bodystart="82" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="structsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1_1Data_1m3" virt="normal" prot="public">
+ <type>bool</type>
+ <name>mbSync</name>
+ <briefdescription>
+<para>
+\\81~\e\?\T\e?ECi?CA\81}\81Lu?1?e?\81á. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="84" bodystart="83" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue">Queue</ref>p.\N\e\a!?\?1?A?AI. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="79" bodystart="78" bodyend="84"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite" kind="class">
+ <compoundname>sf::system::console::sprite::Sprite</compoundname>
+ <derivedcompoundref idref="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite" prot="public" virt="non-virtual"/>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a0" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~Sprite</name>
+ <briefdescription>
+<para>
+\C\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="164" bodystart="164" bodyend="164"/>
+ <references id="Console_8h_1a2">sf::system::console::sprite::PSprite</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a1" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>draw</name>
+ <param>
+ <type>const sf::system::console::ObjRectangle *const</type>
+ <declname>pObj</declname>
+ </param>
+ <briefdescription>
+<para>
+ObjRectangle ?o\81\8bu?o?E\1\\81~\e\?\E?oEA2e?\81E?T?1. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>pObj</parametername><parameterdescription><para>
+ObjRectangle\\81P\e\1?O?I\Y\?\o\? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="167"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a2" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>draw</name>
+ <param>
+ <type>const sf::system::console::ObjQuadrangle *const</type>
+ <declname>pObj</declname>
+ </param>
+ <briefdescription>
+<para>
+ObjQuadrangle ?o\81\8bu?o?E\1\\81~\e\?\E?oEA2e?\81E?T?1. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>pObj</parametername><parameterdescription><para>
+ObjQuadrangle\\81P\e\1?O?I\Y\?\o\? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="170"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a3" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>draw</name>
+ <param>
+ <type>const sf::system::console::Obj3DL *const</type>
+ <declname>pObj</declname>
+ </param>
+ <briefdescription>
+<para>
+Obj3DL ?o\81\8bu?o?E\1\\81~\e\?\E?oEA2e?\81E?T?1. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>pObj</parametername><parameterdescription><para>
+Obj3DL \\81P\e\1?O?I\Y\?\o\? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="173"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a4" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const float</type>
+ <name>centerX</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\1\\81~\e\?\E?IAa?\81LXoAE\81C?o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+\1\\81~\e\?\E?IAa?\81LXoAE\81C </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="176"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a5" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const float</type>
+ <name>centerY</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\1\\81~\e\?\E?IAa?\81LYoAE\81C?o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+\1\\81~\e\?\E?IAa?\81LYoAE\81C </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="179"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a6" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const float</type>
+ <name>width</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\1\\81~\e\?\E?IEy?o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+\1\\81~\e\?\E?IEy </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="182"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a7" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const float</type>
+ <name>height</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\1\\81~\e\?\E?IAa?\81L1a?\83Ê?o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+\1\\81~\e\?\E?I1a?\83Ê </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="185"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+\1\\81~\e\?\E?IEA2eAc\81Ca?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+?AoY?I\1\\81~\e\?\EEA2e?o1O?|\?\o\?!?\O\\81\98!?\1?C?1!\81\92 ObjRectangle?E?E?IoAE\81C?oEY\81ây?1?e\\81P\e\1?o\81\8bu?o?E2eII?E?\81á?E?\81ÊEY\81ây?\81E?A???e\O\A\E\T\A\\81~?o2eII?EEA2e?\81E?T?1!\81\92 </para>
+ </detaileddescription>
+ <inheritancegraph>
+ <node id="219">
+ <label>sf::system::console::sprite::Sprite2D</label>
+ <childnode id="218" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="220">
+ <label>sf::system::console::sprite::Sprite3D</label>
+ <childnode id="218" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="217">
+ <label>sf::system::console::sprite::Sprite</label>
+ <link id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite"/>
+ </node>
+ <node id="221">
+ <label>sf::system::console::sprite::SpriteMesh</label>
+ <childnode id="218" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="218">
+ <label>sf::system::console::sprite::AbstractSprite</label>
+ <childnode id="217" relation="public-inheritance">
+ </childnode>
+ </node>
+ </inheritancegraph>
+ <location file="J:/project/sfglib/Console.h" line="161" bodystart="160" bodyend="186"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite2D" kind="class">
+ <compoundname>sf::system::console::sprite::Sprite2D</compoundname>
+ <basecompoundref idref="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite" prot="public" virt="non-virtual"/>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite2D_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>Sprite2D</name>
+ <param>
+ <type>LPDIRECT3DDEVICE8</type>
+ <declname>pD3DDevice</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite2D.h" line="49" bodystart="67" bodyend="75"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite2D_1a1" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~Sprite2D</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite2D.h" line="50" bodystart="77" bodyend="80"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite2D_1a2" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>initialize</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite2D.h" line="52" bodystart="83" bodyend="88"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite2D_1a3" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>initialize</name>
+ <param>
+ <type>LPDIRECT3DDEVICE8</type>
+ <declname>pD3DDevice</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite2D.h" line="53" bodystart="91" bodyend="96"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite2D_1a4" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>uninitialize</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite2D.h" line="54" bodystart="99" bodyend="135"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite2D_1a5" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>load</name>
+ <param>
+ <type>const <ref idref="structsf_1_1system_1_1console_1_1sprite_1_1Info">sprite::Info</ref> *</type>
+ <declname>pInfo</declname>
+ </param>
+ <param>
+ <type>const D3DFORMAT</type>
+ <declname>textureFormat</declname>
+ </param>
+ <param>
+ <type>const COLOR</type>
+ <declname>color</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite2D.h" line="55"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite2D_1a6" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>draw</name>
+ <param>
+ <type>const ObjRectangle *const</type>
+ <declname>pObj</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite2D.h" line="56" bodystart="202" bodyend="350"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite2D_1a7" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>draw</name>
+ <param>
+ <type>const ObjQuadrangle *const</type>
+ <declname>pObj</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite2D.h" line="57" bodystart="354" bodyend="442"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite2D_1a8" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>draw</name>
+ <param>
+ <type>const Obj3DL *const</type>
+ <declname>pObj</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite2D.h" line="58" bodystart="58" bodyend="58"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite2D_1a9" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>width</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite2D.h" line="60" bodystart="59" bodyend="64"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite2D_1a10" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>height</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite2D.h" line="66" bodystart="66" bodyend="70"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite2D_1c0" virt="normal" prot="private" const="no" volatile="no">
+ <type>void</type>
+ <name>calcUVPos</name>
+ <param>
+ <type>const Obj2D *const</type>
+ <declname>pObj</declname>
+ </param>
+ <param>
+ <type>float &</type>
+ <declname>u1</declname>
+ </param>
+ <param>
+ <type>float &</type>
+ <declname>u2</declname>
+ </param>
+ <param>
+ <type>float &</type>
+ <declname>v1</declname>
+ </param>
+ <param>
+ <type>float &</type>
+ <declname>v2</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite2D.h" line="73" bodystart="445" bodyend="485"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-attrib">
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite2D_1o0" virt="normal" prot="private">
+ <type>IDirect3DTexture8 *</type>
+ <name>mpSpriteTexture</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite2D.h" line="74" bodystart="74" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite2D_1o1" virt="normal" prot="private">
+ <type>IDirect3DVertexBuffer8 *</type>
+ <name>mpSpriteVtBuf</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite2D.h" line="75" bodystart="75" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite2D_1o2" virt="normal" prot="private">
+ <type>float</type>
+ <name>mCellWidth</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite2D.h" line="77" bodystart="77" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite2D_1o3" virt="normal" prot="private">
+ <type>float</type>
+ <name>mCellHeight</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite2D.h" line="78" bodystart="78" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite2D_1o4" virt="normal" prot="private">
+ <type>float</type>
+ <name>mCellCount</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite2D.h" line="79" bodystart="79" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inheritancegraph>
+ <node id="223">
+ <label>sf::system::console::sprite::Sprite2D</label>
+ <childnode id="224" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="225">
+ <label>sf::system::console::sprite::Sprite</label>
+ <link id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite"/>
+ </node>
+ <node id="224">
+ <label>sf::system::console::sprite::AbstractSprite</label>
+ <childnode id="225" relation="public-inheritance">
+ </childnode>
+ </node>
+ </inheritancegraph>
+ <collaborationgraph>
+ <node id="226">
+ <label>sf::system::console::sprite::Sprite2D</label>
+ <childnode id="227" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="228">
+ <label>sf::system::console::sprite::Sprite</label>
+ <link id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite"/>
+ </node>
+ <node id="227">
+ <label>sf::system::console::sprite::AbstractSprite</label>
+ <childnode id="228" relation="public-inheritance">
+ </childnode>
+ </node>
+ </collaborationgraph>
+ <location file="J:/project/sfglib/Sprite2D.h" line="46" bodystart="45" bodyend="81"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite3D" kind="class">
+ <compoundname>sf::system::console::sprite::Sprite3D</compoundname>
+ <basecompoundref idref="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite" prot="public" virt="non-virtual"/>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite3D_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>Sprite3D</name>
+ <param>
+ <type>LPDIRECT3DDEVICE8</type>
+ <declname>pD3DDevice</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite3D.h" line="49" bodystart="65" bodyend="73"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite3D_1a1" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~Sprite3D</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite3D.h" line="50" bodystart="76" bodyend="79"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite3D_1a2" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>initialize</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite3D.h" line="52" bodystart="82" bodyend="87"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite3D_1a3" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>initialize</name>
+ <param>
+ <type>LPDIRECT3DDEVICE8</type>
+ <declname>pD3DDevice</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite3D.h" line="53" bodystart="89" bodyend="94"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite3D_1a4" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>uninitialize</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite3D.h" line="54" bodystart="97" bodyend="128"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite3D_1a5" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>load</name>
+ <param>
+ <type>const <ref idref="structsf_1_1system_1_1console_1_1sprite_1_1Info">sprite::Info</ref> *</type>
+ <declname>pInfo</declname>
+ </param>
+ <param>
+ <type>const D3DFORMAT</type>
+ <declname>textureFormat</declname>
+ </param>
+ <param>
+ <type>const COLOR</type>
+ <declname>color</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite3D.h" line="55" bodystart="132" bodyend="249"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite3D_1a6" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>draw</name>
+ <param>
+ <type>const ObjRectangle *const</type>
+ <declname>pObj</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite3D.h" line="57" bodystart="57" bodyend="57"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite3D_1a7" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>draw</name>
+ <param>
+ <type>const ObjQuadrangle *const</type>
+ <declname>pObj</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite3D.h" line="58" bodystart="58" bodyend="58"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite3D_1a8" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>draw</name>
+ <param>
+ <type>const Obj3DL *const</type>
+ <declname>pObj</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite3D.h" line="59" bodystart="252" bodyend="338"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite3D_1a9" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>width</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite3D.h" line="61" bodystart="60" bodyend="65"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite3D_1a10" virt="normal" prot="public" const="yes" volatile="no">
+ <type>const float</type>
+ <name>height</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite3D.h" line="67" bodystart="67" bodyend="71"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-attrib">
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite3D_1o0" virt="normal" prot="private">
+ <type>IDirect3DTexture8 *</type>
+ <name>mpSpriteTexture</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite3D.h" line="74" bodystart="74" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite3D_1o1" virt="normal" prot="private">
+ <type>IDirect3DVertexBuffer8 *</type>
+ <name>mpSprite3DVtBuf</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite3D.h" line="75" bodystart="75" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite3D_1o2" virt="normal" prot="private">
+ <type>float</type>
+ <name>mCellWidth</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite3D.h" line="77" bodystart="77" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite3D_1o3" virt="normal" prot="private">
+ <type>float</type>
+ <name>mCellHeight</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite3D.h" line="78" bodystart="78" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite3D_1o4" virt="normal" prot="private">
+ <type>float</type>
+ <name>mCellCount</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite3D.h" line="79" bodystart="79" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inheritancegraph>
+ <node id="229">
+ <label>sf::system::console::sprite::Sprite3D</label>
+ <childnode id="230" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="231">
+ <label>sf::system::console::sprite::Sprite</label>
+ <link id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite"/>
+ </node>
+ <node id="230">
+ <label>sf::system::console::sprite::AbstractSprite</label>
+ <childnode id="231" relation="public-inheritance">
+ </childnode>
+ </node>
+ </inheritancegraph>
+ <collaborationgraph>
+ <node id="232">
+ <label>sf::system::console::sprite::Sprite3D</label>
+ <childnode id="233" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="234">
+ <label>sf::system::console::sprite::Sprite</label>
+ <link id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite"/>
+ </node>
+ <node id="233">
+ <label>sf::system::console::sprite::AbstractSprite</label>
+ <childnode id="234" relation="public-inheritance">
+ </childnode>
+ </node>
+ </collaborationgraph>
+ <location file="J:/project/sfglib/Sprite3D.h" line="46" bodystart="45" bodyend="81"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1console_1_1sprite_1_1SpriteMesh" kind="class">
+ <compoundname>sf::system::console::sprite::SpriteMesh</compoundname>
+ <basecompoundref idref="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite" prot="public" virt="non-virtual"/>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1SpriteMesh_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>SpriteMesh</name>
+ <param>
+ <type>LPDIRECT3DDEVICE8</type>
+ <declname>pD3DDevice</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SpriteMesh.h" line="43" bodystart="67" bodyend="76"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1SpriteMesh_1a1" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~SpriteMesh</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SpriteMesh.h" line="44" bodystart="78" bodyend="81"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1SpriteMesh_1a2" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>initialize</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SpriteMesh.h" line="46" bodystart="84" bodyend="89"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1SpriteMesh_1a3" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>initialize</name>
+ <param>
+ <type>LPDIRECT3DDEVICE8</type>
+ <declname>pD3DDevice</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SpriteMesh.h" line="47" bodystart="92" bodyend="97"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1SpriteMesh_1a4" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>uninitialize</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SpriteMesh.h" line="48" bodystart="100" bodyend="121"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1SpriteMesh_1a5" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>load</name>
+ <param>
+ <type>const <ref idref="structsf_1_1system_1_1console_1_1sprite_1_1Info">sprite::Info</ref> *</type>
+ <declname>pInfo</declname>
+ </param>
+ <param>
+ <type>const D3DFORMAT</type>
+ <declname>textureFormat</declname>
+ </param>
+ <param>
+ <type>const COLOR</type>
+ <declname>color</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SpriteMesh.h" line="50"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1SpriteMesh_1a6" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>draw</name>
+ <param>
+ <type>const ObjRectangle *const</type>
+ <declname>pObj</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SpriteMesh.h" line="52" bodystart="52" bodyend="52"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1SpriteMesh_1a7" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>draw</name>
+ <param>
+ <type>const ObjQuadrangle *const</type>
+ <declname>pObj</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SpriteMesh.h" line="53" bodystart="53" bodyend="53"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1console_1_1sprite_1_1SpriteMesh_1a8" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>draw</name>
+ <param>
+ <type>const Obj3DL *const</type>
+ <declname>pObj</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SpriteMesh.h" line="54" bodystart="187" bodyend="259"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-attrib">
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1sprite_1_1SpriteMesh_1o0" virt="normal" prot="private">
+ <type>LPD3DXMESH</type>
+ <name>mpMesh</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SpriteMesh.h" line="58" bodystart="58" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1sprite_1_1SpriteMesh_1o1" virt="normal" prot="private">
+ <type>D3DMATERIAL8 *</type>
+ <name>mpMeshMaterials</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SpriteMesh.h" line="59" bodystart="59" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1sprite_1_1SpriteMesh_1o2" virt="normal" prot="private">
+ <type>LPDIRECT3DTEXTURE8 *</type>
+ <name>mpMeshTextures</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SpriteMesh.h" line="60" bodystart="60" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1console_1_1sprite_1_1SpriteMesh_1o3" virt="normal" prot="private">
+ <type><ref idref="namespacesf_1a0">DWORD</ref></type>
+ <name>mNumMaterials</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SpriteMesh.h" line="61" bodystart="61" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inheritancegraph>
+ <node id="237">
+ <label>sf::system::console::sprite::Sprite</label>
+ <link id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite"/>
+ </node>
+ <node id="235">
+ <label>sf::system::console::sprite::SpriteMesh</label>
+ <childnode id="236" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="236">
+ <label>sf::system::console::sprite::AbstractSprite</label>
+ <childnode id="237" relation="public-inheritance">
+ </childnode>
+ </node>
+ </inheritancegraph>
+ <collaborationgraph>
+ <node id="240">
+ <label>sf::system::console::sprite::Sprite</label>
+ <link id="classsf_1_1system_1_1console_1_1sprite_1_1Sprite"/>
+ </node>
+ <node id="238">
+ <label>sf::system::console::sprite::SpriteMesh</label>
+ <childnode id="239" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="239">
+ <label>sf::system::console::sprite::AbstractSprite</label>
+ <childnode id="240" relation="public-inheritance">
+ </childnode>
+ </node>
+ </collaborationgraph>
+ <location file="J:/project/sfglib/SpriteMesh.h" line="40" bodystart="39" bodyend="63"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1System" kind="class">
+ <compoundname>sf::system::System</compoundname>
+ <derivedcompoundref idref="classsf_1_1system_1_1SystemImpl" prot="public" virt="non-virtual"/>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1System_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>System</name>
+ <briefdescription>
+<para>
+\3\o\1\E\e\\81P\?(\A\s!?). </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/System.h" line="72" bodystart="72" bodyend="72"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1System_1a1" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~System</name>
+ <briefdescription>
+<para>
+\C\1\E\e\\81P\?!E\A\s!?!E. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/System.h" line="74" bodystart="74" bodyend="74"/>
+ <references id="System_8h_1a0">sf::DWORD</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1System_1a2" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>wait</name>
+ <reimplementedby id="classsf_1_1system_1_1SystemImpl_1a3">wait</reimplementedby> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+?!?I\O\i!?\a?I\?\?\s\o\\81\8b?T?CAO?A. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/System.h" line="80"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1System_1a3" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>errorTerminate</name>
+ <reimplementedby id="classsf_1_1system_1_1SystemImpl_1a4">errorTerminate</reimplementedby> <param>
+ <type>const char *</type>
+ <declname>errString</declname>
+ </param>
+ <briefdescription>
+<para>
+\\81N\e!?\a\A\\81â!?\\81C?oE??\81N?\81E?A\\81\91\\81~\e\\81}!?\\81E\c\o?o?aI\81â?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\\81N\e!?\a\A\\81â!?\\81C\A\?\\81\91\i\\81\8b?oE??\81N(Windows\81EI?I?i1c)?\81E?A!\81\91\\81\91\\81~\e\\81}!?\\81E\c\o?o?aI\81â?\81E?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>errString</parametername><parameterdescription><para>
+?DIIE\81C\81âuIo?O?I\Y\?\o\? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/System.h" line="84"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1System_1a4" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>outputError</name>
+ <reimplementedby id="classsf_1_1system_1_1SystemImpl_1a5">outputError</reimplementedby> <param>
+ <type>const char *</type>
+ <declname>errString</declname>
+ </param>
+ <briefdescription>
+<para>
+\\81N\e!?\a\A\\81â!?\\81C?oE??\81N?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>errString</parametername><parameterdescription><para>
+?DIIE\81C\81âuIo?O?I\Y\?\o\? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/System.h" line="87"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1System_1a5" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>timerInterval</name>
+ <reimplementedby id="classsf_1_1system_1_1SystemImpl_1a6">timerInterval</reimplementedby> <param>
+ <type>const unsigned long</type>
+ <declname>msValue</declname>
+ </param>
+ <briefdescription>
+<para>
+\O\i!?\a\81LO3O?oAsAe?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>msValue</parametername><parameterdescription><para>
+1\O\i!?\a?I\81LO3O?omsA\81}\81\8bI?C\81âOAe?1?e </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/System.h" line="93"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1System_1a6" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const unsigned long</type>
+ <name>timerInterval</name>
+ <reimplementedby id="classsf_1_1system_1_1SystemImpl_1a7">timerInterval</reimplementedby> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\O\i!?\a\81LO3O?o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+1\O\i!?\a?I\81LO3O(ms) </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/System.h" line="97"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1System_1a7" virt="pure-virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const <ref idref="namespacesf_1a0">DWORD</ref></type>
+ <name>time</name>
+ <reimplementedby id="classsf_1_1system_1_1SystemImpl_1a8">time</reimplementedby> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+msA\81}\81\8bI?I\\81E\1\A\a\81ât\81LO?o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+msA\81}\81\8bI?I\\81E\1\A\a\81ât\81LO </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/System.h" line="101"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1System_1a8" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual <ref idref="classsf_1_1system_1_1console_1_1Console">console::Console</ref> *const</type>
+ <name>console</name>
+ <reimplementedby id="classsf_1_1system_1_1SystemImpl_1a9">console</reimplementedby> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\3\o\?!?\e\?\o\?!?\O\\81\98!?\1?I\Y\?\o\??o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+EA2e(\1\\81~\e\?\E!|CO\81EE2eAu) IN?I\?\o\?!?\O\\81\98!?\1?I\Y\?\o\??o?eAA?\81E?T?1!\81\92 2eII?O?IEA2eoi\81÷E?I?3?I\Y\?\o\??oAI?\81C?A1O?i?i?T?1!\81\92 </para>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+Console \?\o\?!?\O\\81\98!?\1?O?I\Y\?\o\? </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/System.h" line="107"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1System_1a9" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual <ref idref="classsf_1_1system_1_1sound_1_1Sound">sound::Sound</ref> *const</type>
+ <name>sound</name>
+ <reimplementedby id="classsf_1_1system_1_1SystemImpl_1a10">sound</reimplementedby> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\\83Ê\|\o\E\?\o\?!?\O\\81\98!?\1?I\Y\?\o\??o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\\83Ê\|\o\E?DII!EBGM!|\81Cu2I2\81â!EIN?I\?\o\?!?\O\\81\98!?\1?I\Y\?\o\??o?eAA?\81E?T?1!\81\92 \\83Ê\|\o\E?DII?I?3?I\Y\?\o\??oAI?\81C?A1O?i?i?T?1!\81\92 </para>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+Sound \?\o\?!?\O\\81\98!?\1?I\Y\?\o\? </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/System.h" line="113"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1System_1a10" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual <ref idref="classsf_1_1system_1_1input_1_1Input">input::Input</ref> *const</type>
+ <name>input</name>
+ <reimplementedby id="classsf_1_1system_1_1SystemImpl_1a11">input</reimplementedby> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+AtII\?\o\?!?\O\\81\98!?\1?I\Y\?\o\??o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+AtII!E\-!?\U!?\E!|\T\|\1!|\\81C\c\?\1\A\\81\92\A\\81P!EIN?I\?\o\?!?\O\\81\98!?\1?I\Y\?\o\??o?eAA?\81E?T?1. </para>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+Input \?\o\?!?\O\\81\98!?\1?I\Y\?\o\? </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/System.h" line="118"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1System_1a11" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual application::Main *const</type>
+ <name>main</name>
+ <reimplementedby id="classsf_1_1system_1_1SystemImpl_1a12">main</reimplementedby> <briefdescription>
+<para>
+\a\?\o\?\o\?!?\O\\81\98!?\1?I\Y\?\o\??o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\2!?\a\\81\91\\81~\e\\81}!?\\81E\c\o\a\?\o\?\o\?!?\O\\81\98!?\1?I\Y\?\o\??o?eAA?\81E?T?1!\81\92 ?3?I\?\o\?!?\O\\81\98!?\1?I!\81\91Scene?o\3\o\E\i!?\e?1?e???a?E?\81\91?e?T?1!\81\92 </para>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+Main \?\o\?!?\O\\81\98!?\1?O?I\Y\?\o\? </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/System.h" line="124"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1System_1a12" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>main</name>
+ <reimplementedby id="classsf_1_1system_1_1SystemImpl_1a13">main</reimplementedby> <param>
+ <type>application::Main *const</type>
+ <declname>pMain</declname>
+ </param>
+ <briefdescription>
+<para>
+\a\?\o\?\o\?!?\O\\81\98!?\1?O?I\Y\?\o\??o\\81â\A\E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+pMain \a\?\o\?\o\?!?\O\\81\98!?\1?O?I\Y\?\o\? </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/System.h" line="129"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1System_1a13" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual const float</type>
+ <name>deltaTime</name>
+ <reimplementedby id="classsf_1_1system_1_1SystemImpl_1a15">deltaTime</reimplementedby> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+30FPS?E?IEaI\81N?o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+?3?IAI?I1\O\i!?\a?C?I\81\8bUA\81\8bEaAI?I\81\8bUA\81\8b\81Ld?aAI?E?E?e!\81\9130FPS?I?i1c1.0f!\81\9160FPS?I?i1cIo0.5f?E?E?e?T?1!\81\92 \\81E\1\A\a?I\C\O\c\e\E?I30FPS?C?\81\91?e?I?C!\81\9160FPS?E?E?E?\81E???i1c!\81\91A\81N?I\81\8bUA\81\8bARAU?\81ÊCU?E?E?e?I?C\2!?\a?E?E?e?T?\81â?o!\81\92 ???I?e?|?E?i1c?3?IdeltaTime?IAI?oIoIN?\81E?AA\81N?I\81\8bUA\81\8bARAU?oA\81LA\81\8b?\81E?T?1!\81\92 </para>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+EaI\81N(TIMER_INTERVAL / 32.0f) </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/System.h" line="136"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1System_1a14" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual const float</type>
+ <name>framePerSec</name>
+ <reimplementedby id="classsf_1_1system_1_1SystemImpl_1a16">framePerSec</reimplementedby> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\81C?os?IFPS?o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\81C?osAsAe?\83Ê?i?A???eFPSAI?o?eAA?\81E?T?1 </para>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+FPSAI </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/System.h" line="141"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1System_1a15" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual bool</type>
+ <name>isActive</name>
+ <reimplementedby id="classsf_1_1system_1_1SystemImpl_1a14">isActive</reimplementedby> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\\81E\1\A\a?\81Ê\\81\91\\81P\A\\81\92\O?C?\81\91?e?\81á?E?|?\81áIa??1c?i?\81â?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+3eA\81\8bAa </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+3eA\81\8bAa?C?E???I?C<ref idref="classsf_1_1system_1_1System">System</ref>p.\?\o\?!?\O\\81\98!?\1?I\81âEIN?C?-?T?\81â?o </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/System.h" line="147"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+\\81E\1\A\a\\81P\e\1. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+At?DII?E?E!\81\91\\81E\1\A\a\e\?!?\1?O?I\\81\91\\81P\\81â\1?oAe?Y2??1?e???a?E Ae\83ÊA?\83Ê?i?A???e\?\o\?!?\O\\81\98!?\1?C?1!\81\92 <ref idref="namespacesf_1_1system_1a4">sf::system::instance</ref>()p.?C\?\o\?!?\O\\81\98!?\1?I\Y\?\o\?!E?AoY?I?AAo\\81P\e\1?I\?\o\1\?\o\1?I\Y\?\o\??o\-\a\1\E?\81E???a?I!E?o?eAA?\81E!\81\91\\81\91\\81P\\81â\1?\81E?T?1!\81\92 </para>
+ </detaileddescription>
+ <inheritancegraph>
+ <node id="242">
+ <label>sf::system::SystemImpl</label>
+ <link id="classsf_1_1system_1_1SystemImpl"/>
+ <childnode id="241" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="241">
+ <label>sf::system::System</label>
+ <link id="classsf_1_1system_1_1System"/>
+ </node>
+ </inheritancegraph>
+ <location file="J:/project/sfglib/System.h" line="68" bodystart="67" bodyend="148"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1SystemImpl" kind="class">
+ <compoundname>sf::system::SystemImpl</compoundname>
+ <basecompoundref idref="classsf_1_1system_1_1System" prot="public" virt="non-virtual"/>
+ <basecompoundref idref="classsf_1_1system_1_1Win32" prot="private" virt="non-virtual"/>
+ <sectiondef kind="public-type">
+ <memberdef kind="typedef" id="classsf_1_1system_1_1SystemImpl_1s0" virt="normal" prot="public">
+ <type>std::map< <ref idref="namespacesf_1a0">DWORD</ref>, <ref idref="classsf_1_1system_1_1WindowMessage">WindowMessage</ref> * ></type>
+ <name>WindowMessageMap</name>
+ <briefdescription>
+<para>
+?eIy?1?e\|\\81\92\o\E\|\a\A\\81â!?\\81C?o3EC??1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="38" bodystart="38" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1a0" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~SystemImpl</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="40" bodystart="108" bodyend="113"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1a1" virt="normal" prot="public" const="no" volatile="no">
+ <type>int</type>
+ <name>winMain</name>
+ <reimplements id="classsf_1_1system_1_1Win32_1a2">winMain</reimplements> <param>
+ <type>const HINSTANCE</type>
+ <declname>hThisInstance</declname>
+ </param>
+ <param>
+ <type>const HINSTANCE</type>
+ <declname>hPrevInstance</declname>
+ </param>
+ <param>
+ <type>const LPSTR</type>
+ <declname>lpszCmdParam</declname>
+ </param>
+ <param>
+ <type>const int</type>
+ <declname>nCmdShow</declname>
+ </param>
+ <briefdescription>
+<para>
+WinMain ?\81á?e\81CA?D?i?e\a\?\A\E. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+WinMain()Aa?\81á?e<ref idref="classsf_1_1system_1_1SystemImpl">SystemImpl</ref>p.?o\?\o\1\?\o\1?oA\81CAR?\81E!\81\91?3?I\a\?\A\E?o\81CA?O?D?\81E?T?1!\81\92 </para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="46" bodystart="160" bodyend="307"/>
+ <references id="SystemImpl_8cpp_1a4">errorTerminate</references>
+ <references id="SystemImpl_8cpp_1c4">initTimer</references>
+ <references id="SystemImpl_8h_1c2">isWindowActive</references>
+ <references id="SystemImpl_8h_1o6">mbWindowed</references>
+ <references id="SystemImpl_8h_1o0">mHWNDMain</references>
+ <references id="SystemImpl_8h_1o1">mpConsole</references>
+ <references id="SystemImpl_8h_1o3">mpInput</references>
+ <references id="SystemImpl_8h_1o4">mpMain</references>
+ <references id="SystemImpl_8h_1o2">mpSound</references>
+ <references id="SystemImpl_8h_1o10">mTimerElapsed</references>
+ <references id="SystemImpl_8h_1o8">mTimerValue</references>
+ <references id="SystemImpl_8cpp_1c5">setupMessageMap</references>
+ <references id="SystemImpl_8cpp_1r1">smAppName</references>
+ <references id="SystemImpl_8cpp_1a3">wait</references>
+ <references id="SystemImpl_8h_1c3">windowActivate</references>
+ <references id="SystemImpl_8cpp_1d0">wndFunc</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1a2" virt="normal" prot="public" const="no" volatile="no">
+ <type>const bool</type>
+ <name>addWindowMessage</name>
+ <reimplements id="classsf_1_1system_1_1Win32_1a3">addWindowMessage</reimplements> <param>
+ <type>const <ref idref="namespacesf_1a0">DWORD</ref></type>
+ <declname>value</declname>
+ </param>
+ <param>
+ <type><ref idref="classsf_1_1system_1_1WindowMessage">WindowMessage</ref> *</type>
+ <declname>pWindowMessage</declname>
+ </param>
+ <briefdescription>
+<para>
+?eIy?1?e\|\\81\92\o\E\|\a\A\\81â!?\\81C?oAE2A?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+?eIy?\81E????\|\\81\92\o\E\|\a\A\\81â!?\\81C?o?3?3?CAE2A?\81E?T?1!\81\92 ?3?3?CAE2A?\83Ê?i?E??\a\A\\81â!?\\81C?I!\81\91\C\O\c\e\E?I?eIy?\81Ê\81CA?D?i?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>value</parametername><parameterdescription><para>
+\|\\81\92\o\E\|\a\A\\81â!?\\81C </para>
+</parameterdescription><parametername>pWindowMessage</parametername><parameterdescription><para>
+<ref idref="classsf_1_1system_1_1WindowMessage">WindowMessage</ref>p.?I\Y\?\o\? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="57" bodystart="56" bodyend="64"/>
+ <references id="System_8h_1a0">sf::DWORD</references>
+ <references id="SystemImpl_8h_1o11">mWindowMessageMap</references>
+ <referencedby id="SystemImpl_8cpp_1c5">setupMessageMap</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1a3" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>wait</name>
+ <reimplements id="classsf_1_1system_1_1System_1a2">wait</reimplements> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+?!?I\O\i!?\a?I\?\?\s\o\\81\8b?T?CAO?A. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="66" bodystart="426" bodyend="444"/>
+ <references id="System_8h_1a0">sf::DWORD</references>
+ <references id="SystemImpl_8h_1o9">mTimerBefore</references>
+ <references id="SystemImpl_8h_1o7">mTimerInterval</references>
+ <references id="SystemImpl_8h_1o8">mTimerValue</references>
+ <referencedby id="SystemImpl_8cpp_1a1">winMain</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1a4" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>errorTerminate</name>
+ <reimplements id="classsf_1_1system_1_1System_1a3">errorTerminate</reimplements> <param>
+ <type>const char *</type>
+ <declname>errString</declname>
+ </param>
+ <briefdescription>
+<para>
+\\81N\e!?\a\A\\81â!?\\81C?oE??\81N?\81E?A\\81\91\\81~\e\\81}!?\\81E\c\o?o?aI\81â?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\\81N\e!?\a\A\\81â!?\\81C\A\?\\81\91\i\\81\8b?oE??\81N(Windows\81EI?I?i1c)?\81E?A!\81\91\\81\91\\81~\e\\81}!?\\81E\c\o?o?aI\81â?\81E?T?1!\81\92 <parameterlist kind="param"><title>\81\8bu?o: </title><parametername>errString</parametername><parameterdescription><para>
+?DIIE\81C\81âuIo?O?I\Y\?\o\? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="68" bodystart="447" bodyend="451"/>
+ <references id="SystemImpl_8h_1o0">mHWNDMain</references>
+ <references id="SystemImpl_8cpp_1a5">outputError</references>
+ <referencedby id="SystemImpl_8cpp_1a1">winMain</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1a5" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>outputError</name>
+ <reimplements id="classsf_1_1system_1_1System_1a4">outputError</reimplements> <param>
+ <type>const char *</type>
+ <declname>errString</declname>
+ </param>
+ <briefdescription>
+<para>
+\\81N\e!?\a\A\\81â!?\\81C?oE??\81N?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>errString</parametername><parameterdescription><para>
+?DIIE\81C\81âuIo?O?I\Y\?\o\? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="70" bodystart="454" bodyend="460"/>
+ <references id="SystemImpl_8cpp_1r1">smAppName</references>
+ <referencedby id="SystemImpl_8cpp_1a4">errorTerminate</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1a6" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>timerInterval</name>
+ <reimplements id="classsf_1_1system_1_1System_1a5">timerInterval</reimplements> <param>
+ <type>const unsigned long</type>
+ <declname>msValue</declname>
+ </param>
+ <briefdescription>
+<para>
+\O\i!?\a\81LO3O?oAsAe?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>msValue</parametername><parameterdescription><para>
+1\O\i!?\a?I\81LO3O?omsA\81}\81\8bI?C\81âOAe?1?e </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="73" bodystart="73" bodyend="73"/>
+ <references id="SystemImpl_8h_1o7">mTimerInterval</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1a7" virt="virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const unsigned long</type>
+ <name>timerInterval</name>
+ <reimplements id="classsf_1_1system_1_1System_1a6">timerInterval</reimplements> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\O\i!?\a\81LO3O?o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+1\O\i!?\a?I\81LO3O(ms) </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="74" bodystart="74" bodyend="74"/>
+ <references id="SystemImpl_8h_1o7">mTimerInterval</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1a8" virt="virtual" prot="public" const="yes" volatile="no">
+ <type>virtual const <ref idref="namespacesf_1a0">DWORD</ref></type>
+ <name>time</name>
+ <reimplements id="classsf_1_1system_1_1System_1a7">time</reimplements> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+msA\81}\81\8bI?I\\81E\1\A\a\81ât\81LO?o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+msA\81}\81\8bI?I\\81E\1\A\a\81ât\81LO </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="75" bodystart="75" bodyend="75"/>
+ <references id="System_8h_1a0">sf::DWORD</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1a9" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual <ref idref="classsf_1_1system_1_1console_1_1Console">console::Console</ref> *const</type>
+ <name>console</name>
+ <reimplements id="classsf_1_1system_1_1System_1a8">console</reimplements> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\3\o\?!?\e\?\o\?!?\O\\81\98!?\1?I\Y\?\o\??o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+EA2e(\1\\81~\e\?\E!|CO\81EE2eAu) IN?I\?\o\?!?\O\\81\98!?\1?I\Y\?\o\??o?eAA?\81E?T?1!\81\92 2eII?O?IEA2eoi\81÷E?I?3?I\Y\?\o\??oAI?\81C?A1O?i?i?T?1!\81\92 </para>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+Console \?\o\?!?\O\\81\98!?\1?O?I\Y\?\o\? </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="77" bodystart="77" bodyend="77"/>
+ <references id="SystemImpl_8h_1o1">mpConsole</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1a10" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual <ref idref="classsf_1_1system_1_1sound_1_1Sound">sound::Sound</ref> *const</type>
+ <name>sound</name>
+ <reimplements id="classsf_1_1system_1_1System_1a9">sound</reimplements> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\\83Ê\|\o\E\?\o\?!?\O\\81\98!?\1?I\Y\?\o\??o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\\83Ê\|\o\E?DII!EBGM!|\81Cu2I2\81â!EIN?I\?\o\?!?\O\\81\98!?\1?I\Y\?\o\??o?eAA?\81E?T?1!\81\92 \\83Ê\|\o\E?DII?I?3?I\Y\?\o\??oAI?\81C?A1O?i?i?T?1!\81\92 </para>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+Sound \?\o\?!?\O\\81\98!?\1?I\Y\?\o\? </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="78" bodystart="78" bodyend="78"/>
+ <references id="SystemImpl_8h_1o2">mpSound</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1a11" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual <ref idref="classsf_1_1system_1_1input_1_1Input">input::Input</ref> *const</type>
+ <name>input</name>
+ <reimplements id="classsf_1_1system_1_1System_1a10">input</reimplements> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+AtII\?\o\?!?\O\\81\98!?\1?I\Y\?\o\??o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+AtII!E\-!?\U!?\E!|\T\|\1!|\\81C\c\?\1\A\\81\92\A\\81P!EIN?I\?\o\?!?\O\\81\98!?\1?I\Y\?\o\??o?eAA?\81E?T?1. </para>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+Input \?\o\?!?\O\\81\98!?\1?I\Y\?\o\? </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="79" bodystart="79" bodyend="79"/>
+ <references id="SystemImpl_8h_1o3">mpInput</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1a12" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual application::Main *const</type>
+ <name>main</name>
+ <reimplements id="classsf_1_1system_1_1System_1a11">main</reimplements> <briefdescription>
+<para>
+\a\?\o\?\o\?!?\O\\81\98!?\1?I\Y\?\o\??o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\2!?\a\\81\91\\81~\e\\81}!?\\81E\c\o\a\?\o\?\o\?!?\O\\81\98!?\1?I\Y\?\o\??o?eAA?\81E?T?1!\81\92 ?3?I\?\o\?!?\O\\81\98!?\1?I!\81\91Scene?o\3\o\E\i!?\e?1?e???a?E?\81\91?e?T?1!\81\92 </para>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+Main \?\o\?!?\O\\81\98!?\1?O?I\Y\?\o\? </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="81" bodystart="81" bodyend="81"/>
+ <references id="SystemImpl_8h_1o4">mpMain</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1a13" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual void</type>
+ <name>main</name>
+ <reimplements id="classsf_1_1system_1_1System_1a12">main</reimplements> <param>
+ <type>application::Main *const</type>
+ <declname>pMain</declname>
+ </param>
+ <briefdescription>
+<para>
+\a\?\o\?\o\?!?\O\\81\98!?\1?O?I\Y\?\o\??o\\81â\A\E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+pMain \a\?\o\?\o\?!?\O\\81\98!?\1?O?I\Y\?\o\? </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="82" bodystart="82" bodyend="82"/>
+ <references id="SystemImpl_8h_1o4">mpMain</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1a14" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual bool</type>
+ <name>isActive</name>
+ <reimplements id="classsf_1_1system_1_1System_1a15">isActive</reimplements> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\\81E\1\A\a?\81Ê\\81\91\\81P\A\\81\92\O?C?\81\91?e?\81á?E?|?\81áIa??1c?i?\81â?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="retval"><title>Ia?eAI: </title><parametername>true</parametername><parameterdescription><para>
+3eA\81\8bAa </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+3eA\81\8bAa?C?E???I?C<ref idref="classsf_1_1system_1_1System">System</ref>p.\?\o\?!?\O\\81\98!?\1?I\81âEIN?C?-?T?\81â?o </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="85" bodystart="85" bodyend="85"/>
+ <references id="SystemImpl_8h_1o5">mIsWindowActive</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1a15" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual const float</type>
+ <name>deltaTime</name>
+ <reimplements id="classsf_1_1system_1_1System_1a13">deltaTime</reimplements> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+30FPS?E?IEaI\81N?o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+?3?IAI?I1\O\i!?\a?C?I\81\8bUA\81\8bEaAI?I\81\8bUA\81\8b\81Ld?aAI?E?E?e!\81\9130FPS?I?i1c1.0f!\81\9160FPS?I?i1cIo0.5f?E?E?e?T?1!\81\92 \\81E\1\A\a?I\C\O\c\e\E?I30FPS?C?\81\91?e?I?C!\81\9160FPS?E?E?E?\81E???i1c!\81\91A\81N?I\81\8bUA\81\8bARAU?\81ÊCU?E?E?e?I?C\2!?\a?E?E?e?T?\81â?o!\81\92 ???I?e?|?E?i1c?3?IdeltaTime?IAI?oIoIN?\81E?AA\81N?I\81\8bUA\81\8bARAU?oA\81LA\81\8b?\81E?T?1!\81\92 </para>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+EaI\81N(TIMER_INTERVAL / 32.0f) </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="86" bodystart="86" bodyend="86"/>
+ <references id="SystemImpl_8h_1o12">mFrameStep</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1a16" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual const float</type>
+ <name>framePerSec</name>
+ <reimplements id="classsf_1_1system_1_1System_1a14">framePerSec</reimplements> <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\81C?os?IFPS?o?eAA?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\81C?osAsAe?\83Ê?i?A???eFPSAI?o?eAA?\81E?T?1 </para>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+FPSAI </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="87" bodystart="87" bodyend="87"/>
+ <references id="SystemImpl_8h_1o13">mFramePerSec</references>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="public-static-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1d0" virt="normal" prot="public" const="no" volatile="no">
+ <type>LRESULT CALLBACK</type>
+ <name>wndFunc</name>
+ <param>
+ <type>HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <param>
+ <type>UINT</type>
+ <declname>message</declname>
+ </param>
+ <param>
+ <type>WPARAM</type>
+ <declname>wParam</declname>
+ </param>
+ <param>
+ <type>LPARAM</type>
+ <declname>lParam</declname>
+ </param>
+ <briefdescription>
+<para>
+Windows\?\U\o\E ?eIyIN. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="49" bodystart="311" bodyend="345"/>
+ <references id="SystemImpl_8cpp_1a4">sf::system::instance</references>
+ <referencedby id="SystemImpl_8cpp_1a1">winMain</referencedby>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1c0" virt="normal" prot="private" const="no" volatile="no">
+ <type></type>
+ <name>SystemImpl</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="35" bodystart="84" bodyend="104"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1c1" virt="normal" prot="private" const="no" volatile="no">
+ <type>void</type>
+ <name>uninitialize</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+?aI\81â?eIy. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+3\81áEu?\81E?E?\81P???\81}?E??\a\a\e!\81\91Release()?\81E?E?\81P?A?I???\81}?E??COM\?\o\?!?\O\\81\98!?\1?E?E?I?3?3?C3\81áEu?\81E?T?1!\81\92 </para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="91" bodystart="117" bodyend="156"/>
+ <references id="SystemImpl_8h_1o1">mpConsole</references>
+ <references id="SystemImpl_8h_1o3">mpInput</references>
+ <references id="SystemImpl_8h_1o4">mpMain</references>
+ <references id="SystemImpl_8h_1o2">mpSound</references>
+ <references id="SystemImpl_8h_1o11">mWindowMessageMap</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1c2" virt="normal" prot="private" const="yes" volatile="no">
+ <type>const bool</type>
+ <name>isWindowActive</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+\81C?os\|\\81\92\o\E\|?\81Ê\\81\91\\81P\A\\81\92\O?C?\81\91?e?\81á?E?|?\81áIa??1c?i?\81â?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>true</parametername><parameterdescription><para>
+\\81\91\\81P\A\\81\92\O?C?\81\91?e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\\81\91\\81P\A\\81\92\O?C?E?? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="96" bodystart="96" bodyend="96"/>
+ <references id="SystemImpl_8h_1o5">mIsWindowActive</references>
+ <referencedby id="SystemImpl_8cpp_1a1">winMain</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1c3" virt="normal" prot="private" const="no" volatile="no">
+ <type>void</type>
+ <name>windowActivate</name>
+ <param>
+ <type>const bool</type>
+ <declname>value</declname>
+ </param>
+ <briefdescription>
+<para>
+\81C?os\|\\81\92\o\E\|?\81Ê\\81\91\\81P\A\\81\92\O?C?\81\91?e?\81á?E?|?\81áAsAe?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>true</parametername><parameterdescription><para>
+\\81\91\\81P\A\\81\92\O?C?\81\91?e </para>
+</parameterdescription><parametername>false</parametername><parameterdescription><para>
+\\81\91\\81P\A\\81\92\O?C?E?? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="101" bodystart="101" bodyend="101"/>
+ <references id="SystemImpl_8h_1o5">mIsWindowActive</references>
+ <referencedby id="SystemImpl_8cpp_1c8">onActivate</referencedby>
+ <referencedby id="SystemImpl_8cpp_1a1">winMain</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1c4" virt="normal" prot="private" const="no" volatile="no">
+ <type>void</type>
+ <name>initTimer</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+AaEo\?\?\T!?EN?o?o?e\81Lu2??1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="103" bodystart="411" bodyend="423"/>
+ <referencedby id="SystemImpl_8cpp_1a1">winMain</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1c5" virt="normal" prot="private" const="no" volatile="no">
+ <type>void</type>
+ <name>setupMessageMap</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+mWindowMessageMap ?o\\81â\A\E\\81\91\A\\81~?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="105" bodystart="463" bodyend="478"/>
+ <references id="SystemImpl_8h_1a2">addWindowMessage</references>
+ <references id="SystemImpl_8h_1o11">mWindowMessageMap</references>
+ <referencedby id="SystemImpl_8cpp_1a1">winMain</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1c6" virt="normal" prot="private" const="no" volatile="no">
+ <type>LRESULT</type>
+ <name>onAbout</name>
+ <param>
+ <type>const HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <briefdescription>
+<para>
+WM_ABOUT\a\A\\81â!?\\81C?I?eIy. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>hwnd</parametername><parameterdescription><para>
+\|\\81\92\o\E\|\I\o\E\e </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="111"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1c7" virt="normal" prot="private" const="no" volatile="no">
+ <type>LRESULT</type>
+ <name>onCommand</name>
+ <param>
+ <type>const HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <param>
+ <type>const WPARAM</type>
+ <declname>wParam</declname>
+ </param>
+ <param>
+ <type>const LPARAM</type>
+ <declname>lParam</declname>
+ </param>
+ <briefdescription>
+<para>
+WM_COMMAND\a\A\\81â!?\\81C?I?eIy. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>hwnd</parametername><parameterdescription><para>
+\|\\81\92\o\E\|\I\o\E\e </para>
+</parameterdescription><parametername>wParam</parametername><parameterdescription><para>
+WPARAM </para>
+</parameterdescription><parametername>lParam</parametername><parameterdescription><para>
+LPARAM </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="117" bodystart="376" bodyend="381"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1c8" virt="normal" prot="private" const="no" volatile="no">
+ <type>LRESULT</type>
+ <name>onActivate</name>
+ <param>
+ <type>const HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <param>
+ <type>const WPARAM</type>
+ <declname>wParam</declname>
+ </param>
+ <param>
+ <type>const LPARAM</type>
+ <declname>lParam</declname>
+ </param>
+ <briefdescription>
+<para>
+WM_ACTIVATE\a\A\\81â!?\\81C?I?eIy. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>hwnd</parametername><parameterdescription><para>
+\|\\81\92\o\E\|\I\o\E\e </para>
+</parameterdescription><parametername>wParam</parametername><parameterdescription><para>
+WPARAM </para>
+</parameterdescription><parametername>lParam</parametername><parameterdescription><para>
+LPARAM </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="123" bodystart="364" bodyend="372"/>
+ <references id="SystemImpl_8h_1c3">windowActivate</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1c9" virt="normal" prot="private" const="no" volatile="no">
+ <type>LRESULT</type>
+ <name>onMove</name>
+ <param>
+ <type>const HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <param>
+ <type>const WPARAM</type>
+ <declname>wParam</declname>
+ </param>
+ <param>
+ <type>const LPARAM</type>
+ <declname>lParam</declname>
+ </param>
+ <briefdescription>
+<para>
+WM_MOVE\a\A\\81â!?\\81C?I?eIy. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>hwnd</parametername><parameterdescription><para>
+\|\\81\92\o\E\|\I\o\E\e </para>
+</parameterdescription><parametername>wParam</parametername><parameterdescription><para>
+WPARAM </para>
+</parameterdescription><parametername>lParam</parametername><parameterdescription><para>
+LPARAM </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="129"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1c10" virt="normal" prot="private" const="no" volatile="no">
+ <type>LRESULT</type>
+ <name>onSize</name>
+ <param>
+ <type>const HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <param>
+ <type>const WPARAM</type>
+ <declname>wParam</declname>
+ </param>
+ <param>
+ <type>const LPARAM</type>
+ <declname>lParam</declname>
+ </param>
+ <briefdescription>
+<para>
+WM_SIZE\a\A\\81â!?\\81C?I?eIy. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>hwnd</parametername><parameterdescription><para>
+\|\\81\92\o\E\|\I\o\E\e </para>
+</parameterdescription><parametername>wParam</parametername><parameterdescription><para>
+WPARAM </para>
+</parameterdescription><parametername>lParam</parametername><parameterdescription><para>
+LPARAM </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="135" bodystart="386" bodyend="389"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1c11" virt="normal" prot="private" const="no" volatile="no">
+ <type>LRESULT</type>
+ <name>onPaint</name>
+ <param>
+ <type>const HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <param>
+ <type>const WPARAM</type>
+ <declname>wParam</declname>
+ </param>
+ <param>
+ <type>const LPARAM</type>
+ <declname>lParam</declname>
+ </param>
+ <briefdescription>
+<para>
+WM_PAINT\a\A\\81â!?\\81C?I?eIy. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>hwnd</parametername><parameterdescription><para>
+\|\\81\92\o\E\|\I\o\E\e </para>
+</parameterdescription><parametername>wParam</parametername><parameterdescription><para>
+WPARAM </para>
+</parameterdescription><parametername>lParam</parametername><parameterdescription><para>
+LPARAM </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="141" bodystart="348" bodyend="361"/>
+ <references id="SystemImpl_8h_1o1">mpConsole</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1SystemImpl_1c12" virt="normal" prot="private" const="no" volatile="no">
+ <type>LRESULT</type>
+ <name>onSysCommand</name>
+ <param>
+ <type>const HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <param>
+ <type>const WPARAM</type>
+ <declname>wParam</declname>
+ </param>
+ <param>
+ <type>const LPARAM</type>
+ <declname>lParam</declname>
+ </param>
+ <briefdescription>
+<para>
+WM_SYSCOMMAND\a\A\\81â!?\\81C?I?eIy. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>hwnd</parametername><parameterdescription><para>
+\|\\81\92\o\E\|\I\o\E\e </para>
+</parameterdescription><parametername>wParam</parametername><parameterdescription><para>
+WPARAM </para>
+</parameterdescription><parametername>lParam</parametername><parameterdescription><para>
+LPARAM </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="147" bodystart="392" bodyend="407"/>
+ <references id="SystemImpl_8h_1o6">mbWindowed</references>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-attrib">
+ <memberdef kind="variable" id="classsf_1_1system_1_1SystemImpl_1o0" virt="normal" prot="private">
+ <type>HWND</type>
+ <name>mHWNDMain</name>
+ <briefdescription>
+<para>
+\a\?\o\|\\81\92\o\E\|\I\o\E\e. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="150" bodystart="149" bodyend="-1"/>
+ <referencedby id="SystemImpl_8cpp_1a4">errorTerminate</referencedby>
+ <referencedby id="SystemImpl_8cpp_1a1">winMain</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1SystemImpl_1o1" virt="normal" prot="private">
+ <type><ref idref="classsf_1_1system_1_1console_1_1Console">console::Console</ref> *</type>
+ <name>mpConsole</name>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1console_1_1Console">console::Console</ref>p.\?\o\?!?\O\\81\98!?\1?I\Y\?\o\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="152" bodystart="151" bodyend="-1"/>
+ <referencedby id="SystemImpl_8h_1a9">console</referencedby>
+ <referencedby id="SystemImpl_8cpp_1c11">onPaint</referencedby>
+ <referencedby id="SystemImpl_8cpp_1c1">uninitialize</referencedby>
+ <referencedby id="SystemImpl_8cpp_1a1">winMain</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1SystemImpl_1o2" virt="normal" prot="private">
+ <type><ref idref="classsf_1_1system_1_1sound_1_1Sound">sound::Sound</ref> *</type>
+ <name>mpSound</name>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1sound_1_1Sound">sound::Sound</ref>p.\?\o\?!?\O\\81\98!?\1?I\Y\?\o\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="153" bodystart="152" bodyend="-1"/>
+ <referencedby id="SystemImpl_8h_1a10">sound</referencedby>
+ <referencedby id="SystemImpl_8cpp_1c1">uninitialize</referencedby>
+ <referencedby id="SystemImpl_8cpp_1a1">winMain</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1SystemImpl_1o3" virt="normal" prot="private">
+ <type><ref idref="classsf_1_1system_1_1input_1_1Input">input::Input</ref> *</type>
+ <name>mpInput</name>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1input_1_1Input">input::Input</ref>p.\?\o\?!?\O\\81\98!?\1?I\Y\?\o\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="154" bodystart="153" bodyend="-1"/>
+ <referencedby id="SystemImpl_8h_1a11">input</referencedby>
+ <referencedby id="SystemImpl_8cpp_1c1">uninitialize</referencedby>
+ <referencedby id="SystemImpl_8cpp_1a1">winMain</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1SystemImpl_1o4" virt="normal" prot="private">
+ <type>::sf::application::Main *</type>
+ <name>mpMain</name>
+ <briefdescription>
+<para>
+sf::application::Main\?\o\?!?\O\\81\98!?\1?I\Y\?\o\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="156" bodystart="155" bodyend="-1"/>
+ <referencedby id="SystemImpl_8h_1a12">main</referencedby>
+ <referencedby id="SystemImpl_8cpp_1c1">uninitialize</referencedby>
+ <referencedby id="SystemImpl_8cpp_1a1">winMain</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1SystemImpl_1o5" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mIsWindowActive</name>
+ <briefdescription>
+<para>
+\81C?os\|\\81\92\o\E\|?\81Ê\\81\91\\81P\A\\81\92\O?\81á?E?|?\81á!c. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="159" bodystart="158" bodyend="-1"/>
+ <referencedby id="SystemImpl_8h_1a14">isActive</referencedby>
+ <referencedby id="SystemImpl_8h_1c2">isWindowActive</referencedby>
+ <referencedby id="SystemImpl_8h_1c3">windowActivate</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1SystemImpl_1o6" virt="normal" prot="private">
+ <type>bool</type>
+ <name>mbWindowed</name>
+ <briefdescription>
+<para>
+\|\\81\92\o\E\|\a!?\E?\81á\O\e\1\\81P\e!?\o\a!?\E?\81á!c. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="160" bodystart="159" bodyend="-1"/>
+ <referencedby id="SystemImpl_8cpp_1c12">onSysCommand</referencedby>
+ <referencedby id="SystemImpl_8cpp_1a1">winMain</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1SystemImpl_1o7" virt="normal" prot="private">
+ <type><ref idref="namespacesf_1a0">DWORD</ref></type>
+ <name>mTimerInterval</name>
+ <briefdescription>
+<para>
+\O\i!?\a\81\8bY\81ây\?\?\T!??I\81LO3O(ms). </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="162" bodystart="161" bodyend="-1"/>
+ <referencedby id="SystemImpl_8h_1a6">timerInterval</referencedby>
+ <referencedby id="SystemImpl_8cpp_1a3">wait</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1SystemImpl_1o8" virt="normal" prot="private">
+ <type><ref idref="namespacesf_1a0">DWORD</ref></type>
+ <name>mTimerValue</name>
+ <briefdescription>
+<para>
+\81C?os?I\?\?\T!??IAI(ms). </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="163" bodystart="162" bodyend="-1"/>
+ <referencedby id="SystemImpl_8cpp_1a3">wait</referencedby>
+ <referencedby id="SystemImpl_8cpp_1a1">winMain</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1SystemImpl_1o9" virt="normal" prot="private">
+ <type><ref idref="namespacesf_1a0">DWORD</ref></type>
+ <name>mTimerBefore</name>
+ <briefdescription>
+<para>
+1\O\i!?\aA\81\8b?I\?\?\T!??IAI(ms). </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="164" bodystart="163" bodyend="-1"/>
+ <referencedby id="SystemImpl_8cpp_1a3">wait</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1SystemImpl_1o10" virt="normal" prot="private">
+ <type><ref idref="namespacesf_1a0">DWORD</ref></type>
+ <name>mTimerElapsed</name>
+ <briefdescription>
+<para>
+1\O\i!?\aAa?I?o!1?I?eIy?EI\81~?\81E??\81ât\81LO(ms). </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="165" bodystart="164" bodyend="-1"/>
+ <referencedby id="SystemImpl_8cpp_1a1">winMain</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1SystemImpl_1o11" virt="normal" prot="private">
+ <type><ref idref="classsf_1_1system_1_1SystemImpl_1s0">WindowMessageMap</ref></type>
+ <name>mWindowMessageMap</name>
+ <briefdescription>
+<para>
+\|\\81\92\o\E\|\a\A\\81â!?\\81C\T\A\\81~. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="167" bodystart="166" bodyend="-1"/>
+ <referencedby id="SystemImpl_8h_1a2">addWindowMessage</referencedby>
+ <referencedby id="SystemImpl_8cpp_1c5">setupMessageMap</referencedby>
+ <referencedby id="SystemImpl_8cpp_1c1">uninitialize</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1SystemImpl_1o12" virt="normal" prot="private">
+ <type>float</type>
+ <name>mFrameStep</name>
+ <briefdescription>
+<para>
+1\O\i!?\a?I\81LdEU?oAI. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="168" bodystart="167" bodyend="-1"/>
+ <referencedby id="SystemImpl_8h_1a15">deltaTime</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1SystemImpl_1o13" virt="normal" prot="private">
+ <type>float</type>
+ <name>mFramePerSec</name>
+ <briefdescription>
+<para>
+FPSAI. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="169" bodystart="168" bodyend="-1"/>
+ <referencedby id="SystemImpl_8h_1a16">framePerSec</referencedby>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-static-attrib">
+ <memberdef kind="variable" id="classsf_1_1system_1_1SystemImpl_1r0" virt="normal" prot="private">
+ <type>SystemImpl *</type>
+ <name>pSystemImpl</name>
+ <briefdescription>
+<para>
+?\81áE\81Ê?\81á?E?I\Y\?\o\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="170" bodystart="169" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1SystemImpl_1r1" virt="normal" prot="private">
+ <type>const char</type>
+ <name>smAppName</name>
+ <initializer> "Shooting Game!"</initializer>
+ <briefdescription>
+<para>
+\\81\91\\81~\e\\81}!?\\81E\c\oI?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="172" bodystart="78" bodyend="-1"/>
+ <referencedby id="SystemImpl_8cpp_1a5">outputError</referencedby>
+ <referencedby id="SystemImpl_8cpp_1a1">winMain</referencedby>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1System">System</ref>p. \?\o\?!?\O\\81\98!?\1?I?AAo\\81P\e\1. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\\81E\1\A\a\?\o\?!?\O\\81\98!?\1?I?AAo\\81P\e\1?C?1!\81\92 \\81E\1\A\a\e\?!?\1IoIN?1?eoY?I!\81\91<ref idref="classsf_1_1system_1_1System">System</ref>p. \?\o\?!?\O\\81\98!?\1?o\81âEIN?\81E?T?1?\81Ê!\81\91?AoY?I2?AU\81LO?o?I\81âAAE?s?E?e?e!\81\91?3?I?AAo\\81P\e\1?I\a\?\A\E?\81Ê\81CA?D?i?T?1!\81\92 ?3?i?I!\81\91OS?E\81\8bIA\81C?1?eEoE\81Ê?o?3?I\\81P\e\1?E\81}\81\92EA?1?e???a?E1O?A?A???T?1 </para>
+ </detaileddescription>
+ <inheritancegraph>
+ <node id="246">
+ <label>sf::system::Win32</label>
+ <link id="classsf_1_1system_1_1Win32"/>
+ </node>
+ <node id="244">
+ <label>sf::system::SystemImpl</label>
+ <link id="classsf_1_1system_1_1SystemImpl"/>
+ <childnode id="245" relation="public-inheritance">
+ </childnode>
+ <childnode id="246" relation="private-inheritance">
+ </childnode>
+ </node>
+ <node id="245">
+ <label>sf::system::System</label>
+ <link id="classsf_1_1system_1_1System"/>
+ </node>
+ </inheritancegraph>
+ <collaborationgraph>
+ <node id="251">
+ <label>sf::system::console::Console</label>
+ <link id="classsf_1_1system_1_1console_1_1Console"/>
+ </node>
+ <node id="249">
+ <label>sf::system::Win32</label>
+ <link id="classsf_1_1system_1_1Win32"/>
+ </node>
+ <node id="247">
+ <label>sf::system::SystemImpl</label>
+ <link id="classsf_1_1system_1_1SystemImpl"/>
+ <childnode id="248" relation="public-inheritance">
+ </childnode>
+ <childnode id="249" relation="private-inheritance">
+ </childnode>
+ <childnode id="250" relation="usage">
+ <edgelabel>mpMain</edgelabel>
+ </childnode>
+ <childnode id="251" relation="usage">
+ <edgelabel>mpConsole</edgelabel>
+ </childnode>
+ <childnode id="247" relation="usage">
+ <edgelabel>pSystemImpl</edgelabel>
+ </childnode>
+ <childnode id="252" relation="usage">
+ <edgelabel>mpSound</edgelabel>
+ </childnode>
+ <childnode id="253" relation="usage">
+ <edgelabel>mpInput</edgelabel>
+ </childnode>
+ </node>
+ <node id="248">
+ <label>sf::system::System</label>
+ <link id="classsf_1_1system_1_1System"/>
+ </node>
+ <node id="253">
+ <label>sf::system::input::Input</label>
+ <link id="classsf_1_1system_1_1input_1_1Input"/>
+ </node>
+ <node id="250">
+ <label>sf::application::Main</label>
+ </node>
+ <node id="252">
+ <label>sf::system::sound::Sound</label>
+ <link id="classsf_1_1system_1_1sound_1_1Sound"/>
+ </node>
+ </collaborationgraph>
+ <location file="J:/project/sfglib/SystemImpl.h" line="31" bodystart="30" bodyend="172"/>
+ </compounddef>
+ <compounddef id="structsf_1_1system_1_1console_1_1Vertex" kind="struct">
+ <compoundname>sf::system::console::Vertex</compoundname>
+ <sectiondef kind="public-attrib">
+ <memberdef kind="variable" id="structsf_1_1system_1_1console_1_1Vertex_1m0" virt="normal" prot="public">
+ <type>float</type>
+ <name>x</name>
+ <briefdescription>
+<para>
+xoAE\81C. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="218" bodystart="218" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="structsf_1_1system_1_1console_1_1Vertex_1m1" virt="normal" prot="public">
+ <type>float</type>
+ <name>y</name>
+ <briefdescription>
+<para>
+yoAE\81C. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="219" bodystart="218" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="structsf_1_1system_1_1console_1_1Vertex_1m2" virt="normal" prot="public">
+ <type>float</type>
+ <name>z</name>
+ <briefdescription>
+<para>
+zoAE\81C. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="220" bodystart="218" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="structsf_1_1system_1_1console_1_1Vertex_1m3" virt="normal" prot="public">
+ <type>float</type>
+ <name>rhw</name>
+ <briefdescription>
+<para>
+??? </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="221" bodystart="218" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="structsf_1_1system_1_1console_1_1Vertex_1m4" virt="normal" prot="public">
+ <type><ref idref="namespacesf_1a0">DWORD</ref></type>
+ <name>diffuse</name>
+ <briefdescription>
+<para>
+\C\\81\92\O\a!?\oARE\81Ê. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="222" bodystart="222" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="structsf_1_1system_1_1console_1_1Vertex_1m5" virt="normal" prot="public">
+ <type><ref idref="namespacesf_1a0">DWORD</ref></type>
+ <name>specular</name>
+ <briefdescription>
+<para>
+\1\U\-\a\e!?ARE\81Ê. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="223" bodystart="222" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="structsf_1_1system_1_1console_1_1Vertex_1m6" virt="normal" prot="public">
+ <type>float</type>
+ <name>tu</name>
+ <briefdescription>
+<para>
+\A\\81P\1\A\a?IuARE\81Ê. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="224" bodystart="224" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="structsf_1_1system_1_1console_1_1Vertex_1m7" virt="normal" prot="public">
+ <type>float</type>
+ <name>tv</name>
+ <briefdescription>
+<para>
+\A\\81P\1\A\a?IvARE\81Ê. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="225" bodystart="224" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+\\81á\1\?\aAoAA\O\c!?\T\A\E. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="216" bodystart="216" bodyend="225"/>
+ </compounddef>
+ <compounddef id="structsf_1_1system_1_1console_1_1Vertex2" kind="struct">
+ <compoundname>sf::system::console::Vertex2</compoundname>
+ <sectiondef kind="public-attrib">
+ <memberdef kind="variable" id="structsf_1_1system_1_1console_1_1Vertex2_1m0" virt="normal" prot="public">
+ <type>D3DVECTOR</type>
+ <name>position</name>
+ <briefdescription>
+<para>
+\a\O\\81C\\81\98\\81P\EoAE\81C!\81\92. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="34" bodystart="33" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="structsf_1_1system_1_1console_1_1Vertex2_1m1" virt="normal" prot="public">
+ <type><ref idref="namespacesf_1a0">DWORD</ref></type>
+ <name>diffuse</name>
+ <briefdescription>
+<para>
+\C\\81\92\O\a!?\o. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="35" bodystart="34" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="structsf_1_1system_1_1console_1_1Vertex2_1m2" virt="normal" prot="public">
+ <type><ref idref="namespacesf_1a0">DWORD</ref></type>
+ <name>specular</name>
+ <briefdescription>
+<para>
+\1\U\-\a\eARE\81Ê. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="36" bodystart="35" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="structsf_1_1system_1_1console_1_1Vertex2_1m3" virt="normal" prot="public">
+ <type>float</type>
+ <name>tu</name>
+ <briefdescription>
+<para>
+\A\\81P\1\A\auoAE\81C. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="37" bodystart="36" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="structsf_1_1system_1_1console_1_1Vertex2_1m4" virt="normal" prot="public">
+ <type>float</type>
+ <name>tv</name>
+ <briefdescription>
+<para>
+\A\\81P\1\A\avoAE\81C. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="38" bodystart="37" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+3D\\81á\1\?\aAoAA\O\c!?\T\A\E. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="32" bodystart="32" bodyend="38"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1input_1_1keyboard_1_1VKey" kind="class">
+ <compoundname>sf::system::input::keyboard::VKey</compoundname>
+ <sectiondef kind="public-static-attrib">
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1keyboard_1_1VKey_1p0" virt="normal" prot="public">
+ <type>const int</type>
+ <name>UP</name>
+ <briefdescription>
+<para>
+?a\\81á!?\?\e\-!?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="137" bodystart="136" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1keyboard_1_1VKey_1p1" virt="normal" prot="public">
+ <type>const int</type>
+ <name>DOWN</name>
+ <briefdescription>
+<para>
+2?\\81á!?\?\e\-!?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="138" bodystart="137" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1keyboard_1_1VKey_1p2" virt="normal" prot="public">
+ <type>const int</type>
+ <name>LEFT</name>
+ <briefdescription>
+<para>
+o\81C\\81á!?\?\e\-!?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="139" bodystart="138" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1input_1_1keyboard_1_1VKey_1p3" virt="normal" prot="public">
+ <type>const int</type>
+ <name>RIGHT</name>
+ <briefdescription>
+<para>
+\81}|\\81á!?\?\e\-!?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="140" bodystart="139" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+2?AU\-!?\3!?\E\\81P\e\1. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="note"><title>3D?\81N?n?-: </title><para>
+?E???3?o?E\\81P\e\1?\81Ê?\81\91?e?I?\81á\81C?osEOIA </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="134" bodystart="134" bodyend="140"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1Win32" kind="class">
+ <compoundname>sf::system::Win32</compoundname>
+ <derivedcompoundref idref="classsf_1_1system_1_1SystemImpl" prot="private" virt="non-virtual"/>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1Win32_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>Win32</name>
+ <briefdescription>
+<para>
+\3\o\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemWin32.h" line="95" bodystart="95" bodyend="95"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1Win32_1a1" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~Win32</name>
+ <briefdescription>
+<para>
+\C\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemWin32.h" line="97" bodystart="97" bodyend="97"/>
+ <references id="System_8h_1a0">sf::DWORD</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1Win32_1a2" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual int</type>
+ <name>winMain</name>
+ <reimplementedby id="classsf_1_1system_1_1SystemImpl_1a1">winMain</reimplementedby> <param>
+ <type>const HINSTANCE</type>
+ <declname>hThisInstance</declname>
+ </param>
+ <param>
+ <type>const HINSTANCE</type>
+ <declname>hPrevInstance</declname>
+ </param>
+ <param>
+ <type>const LPSTR</type>
+ <declname>lpszCmdParam</declname>
+ </param>
+ <param>
+ <type>const int</type>
+ <declname>nCmdShow</declname>
+ </param>
+ <briefdescription>
+<para>
+WinMain \e\A\N!?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemWin32.h" line="101"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1Win32_1a3" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual const bool</type>
+ <name>addWindowMessage</name>
+ <reimplementedby id="classsf_1_1system_1_1SystemImpl_1a2">addWindowMessage</reimplementedby> <param>
+ <type>const <ref idref="namespacesf_1a0">DWORD</ref></type>
+ <declname>value</declname>
+ </param>
+ <param>
+ <type><ref idref="classsf_1_1system_1_1WindowMessage">WindowMessage</ref> *</type>
+ <declname>pWindowMessage</declname>
+ </param>
+ <briefdescription>
+<para>
+Window Message?IADI?. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>value</parametername><parameterdescription><para>
+Window\a\A\\81â!?\\81C </para>
+</parameterdescription><parametername>pWindowMessage</parametername><parameterdescription><para>
+<ref idref="classsf_1_1system_1_1WindowMessage">WindowMessage</ref>p.?I\Y\?\o\? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemWin32.h" line="106"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1Win32">Win32</ref>p. \?\o\?!?\O\\81\98!?\1. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inheritancegraph>
+ <node id="260">
+ <label>sf::system::Win32</label>
+ <link id="classsf_1_1system_1_1Win32"/>
+ </node>
+ <node id="261">
+ <label>sf::system::SystemImpl</label>
+ <link id="classsf_1_1system_1_1SystemImpl"/>
+ <childnode id="260" relation="private-inheritance">
+ </childnode>
+ </node>
+ </inheritancegraph>
+ <location file="J:/project/sfglib/SystemWin32.h" line="92" bodystart="91" bodyend="108"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1WindowMessage" kind="class">
+ <compoundname>sf::system::WindowMessage</compoundname>
+ <derivedcompoundref idref="classsf_1_1system_1_1WindowMessageImpl" prot="public" virt="non-virtual"/>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1WindowMessage_1a0" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~WindowMessage</name>
+ <briefdescription>
+<para>
+\C\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemWin32.h" line="31" bodystart="31" bodyend="31"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1WindowMessage_1a1" virt="pure-virtual" prot="public" const="no" volatile="no">
+ <type>virtual LRESULT</type>
+ <name>call</name>
+ <reimplementedby id="classsf_1_1system_1_1WindowMessageImpl_1a4">call</reimplementedby> <param>
+ <type>const HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <param>
+ <type>const WPARAM</type>
+ <declname>wParam</declname>
+ </param>
+ <param>
+ <type>const LPARAM</type>
+ <declname>lParam</declname>
+ </param>
+ <briefdescription>
+<para>
+\a\A\\81â!?\\81C?eIy?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>hwnd</parametername><parameterdescription><para>
+HWND \|\\81\92\o\E\|\I\o\E\e </para>
+</parameterdescription><parametername>wParam</parametername><parameterdescription><para>
+WPARAM </para>
+</parameterdescription><parametername>lParam</parametername><parameterdescription><para>
+LPARAM </para>
+</parameterdescription></parameterlist></para>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+LRESULT </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/SystemWin32.h" line="37"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1WindowMessage">WindowMessage</ref>p.\?\o\?!?\O\\81\98!?\1. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+Window\a\A\\81â!?\\81C?o?eIy?1?e???a?I\?\o\?!?\O\\81\98!?\1?C?1!\81\92 ?3?i?I!\81\91std::map?EAE?s1c?i?\81â?A!\81\91Window\a\A\\81â!?\\81C?o\81CuI\81NAa?E?eIy?1?e???a?EAe\83ÊA?\83Ê?i?A???T?1!\81\92 </para>
+<simplesect kind="note"><title>3D?\81N?n?-: </title><para>
+?3?IEO?I?AAo?I1I?\81NEy?I!\81\91<ulink url="http://puyon.pns.to/program/afl/h0003.html">?\81~?e?c?o?\83Ê?o?I\e\?\O\e\e?I\U!?\\81C</ulink> ?o\81â2?E?\81E?A?\81P?A?\83Ê??!\81\92<linebreak/> ?a\81L3?\81~?e?c?o?\83Ê?o?I\e\?\O\e\e?oAA2??\81E?A???e?O?O?o?I?\81\91?e?T?1!\81\92 </para>
+</simplesect> </detaileddescription>
+ <inheritancegraph>
+ <node id="263">
+ <label>sf::system::WindowMessage</label>
+ <link id="classsf_1_1system_1_1WindowMessage"/>
+ </node>
+ <node id="264">
+ <label>sf::system::WindowMessageImpl< T ></label>
+ <link id="classsf_1_1system_1_1WindowMessageImpl"/>
+ <childnode id="263" relation="public-inheritance">
+ </childnode>
+ </node>
+ </inheritancegraph>
+ <location file="J:/project/sfglib/SystemWin32.h" line="28" bodystart="27" bodyend="38"/>
+ </compounddef>
+ <compounddef id="classsf_1_1system_1_1WindowMessageImpl" kind="class">
+ <compoundname>sf::system::WindowMessageImpl</compoundname>
+ <basecompoundref idref="classsf_1_1system_1_1WindowMessage" prot="public" virt="non-virtual"/>
+ <sectiondef kind="public-func">
+ <memberdef kind="function" id="classsf_1_1system_1_1WindowMessageImpl_1a0" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>WindowMessageImpl</name>
+ <briefdescription>
+<para>
+\3\o\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemWin32.h" line="45" bodystart="64" bodyend="68"/>
+ <references id="classsf_1_1system_1_1WindowMessageImpl_1o1">mpAddress</references>
+ <references id="SystemWin32_8h_1o0">mpClass</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1WindowMessageImpl_1a1" virt="virtual" prot="public" const="no" volatile="no">
+ <type>virtual</type>
+ <name>~WindowMessageImpl</name>
+ <briefdescription>
+<para>
+\C\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemWin32.h" line="47" bodystart="47" bodyend="47"/>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1WindowMessageImpl_1a2" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>WindowMessageImpl</name>
+ <param>
+ <type>T *const</type>
+ <declname>pClass</declname>
+ </param>
+ <param>
+ <type>LRESULT(T::*)(const HWND, const WPARAM, const LPARAM)</type>
+ <declname>pAddress</declname>
+ </param>
+ <briefdescription>
+<para>
+\3\o\1\E\e\\81P\?. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>pClass</parametername><parameterdescription><para>
+\81CA?O?D?\81E????\a\?\A\E?oI-?\81E?A???e\\81P\e\1?I\?\o\1\?\o\1?I\Y\?\o\? </para>
+</parameterdescription><parametername>pAddress</parametername><parameterdescription><para>
+\81CA?O?D?\81E????\a\o\D\a\?\A\E?I\\81\91\E\i\1?\81ÊAt?A?A???e\Y\?\o\? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemWin32.h" line="51" bodystart="70" bodyend="74"/>
+ <references id="classsf_1_1system_1_1WindowMessageImpl_1o1">mpAddress</references>
+ <references id="SystemWin32_8h_1o0">mpClass</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1WindowMessageImpl_1a3" virt="normal" prot="public" const="no" volatile="no">
+ <type>void</type>
+ <name>setAddress</name>
+ <param>
+ <type>T *const</type>
+ <declname>pClass</declname>
+ </param>
+ <param>
+ <type>LRESULT(T::*)(const HWND, const WPARAM, const LPARAM)</type>
+ <declname>pAddress</declname>
+ </param>
+ <briefdescription>
+<para>
+\81CA?O?D?\81E????\a\?\A\E?I?dEo?o\\81â\A\E?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>pClass</parametername><parameterdescription><para>
+\81CA?O?D?\81E????\a\?\A\E?oI-?\81E?A???e\\81P\e\1?I\?\o\1\?\o\1?I\Y\?\o\? </para>
+</parameterdescription><parametername>pAddress</parametername><parameterdescription><para>
+\81CA?O?D?\81E????\a\o\D\a\?\A\E?I\\81\91\E\i\1?\81ÊAt?A?A???e\Y\?\o\? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemWin32.h" line="56" bodystart="77" bodyend="81"/>
+ <references id="classsf_1_1system_1_1WindowMessageImpl_1o1">mpAddress</references>
+ <references id="SystemWin32_8h_1o0">mpClass</references>
+ </memberdef>
+ <memberdef kind="function" id="classsf_1_1system_1_1WindowMessageImpl_1a4" virt="normal" prot="public" const="no" volatile="no">
+ <type>LRESULT</type>
+ <name>call</name>
+ <reimplements id="classsf_1_1system_1_1WindowMessage_1a1">call</reimplements> <param>
+ <type>const HWND</type>
+ <declname>hwnd</declname>
+ </param>
+ <param>
+ <type>const WPARAM</type>
+ <declname>wParam</declname>
+ </param>
+ <param>
+ <type>const LPARAM</type>
+ <declname>lParam</declname>
+ </param>
+ <briefdescription>
+<para>
+\a\A\\81â!?\\81C?eIy?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>hwnd</parametername><parameterdescription><para>
+HWND \|\\81\92\o\E\|\I\o\E\e </para>
+</parameterdescription><parametername>wParam</parametername><parameterdescription><para>
+WPARAM </para>
+</parameterdescription><parametername>lParam</parametername><parameterdescription><para>
+LPARAM </para>
+</parameterdescription></parameterlist></para>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+LRESULT </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/SystemWin32.h" line="58" bodystart="83" bodyend="88"/>
+ <references id="classsf_1_1system_1_1WindowMessageImpl_1o1">mpAddress</references>
+ <references id="SystemWin32_8h_1o0">mpClass</references>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="private-attrib">
+ <memberdef kind="variable" id="classsf_1_1system_1_1WindowMessageImpl_1o0" virt="normal" prot="private">
+ <type>T *</type>
+ <name>mpClass</name>
+ <briefdescription>
+<para>
+\81CA?O?D?\81E????\a\?\A\E?\81ÊAt?A?A???e\\81P\e\1?I\?\o\1\?\o\1?I\Y\?\o\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemWin32.h" line="61" bodystart="60" bodyend="-1"/>
+ <referencedby id="SystemWin32_8h_1a4">call</referencedby>
+ <referencedby id="SystemWin32_8h_1a3">setAddress</referencedby>
+ <referencedby id="SystemWin32_8h_1a0">WindowMessageImpl</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="classsf_1_1system_1_1WindowMessageImpl_1o1" virt="normal" prot="private">
+ <type>LRESULT(T::*</type>
+ <name>mpAddress</name>
+ <briefdescription>
+<para>
+\81CA?O?D?\81E????\a\o\D\a\?\A\E?I\\81\91\E\i\1. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemWin32.h" line="62"/>
+ <referencedby id="SystemWin32_8h_1a4">call</referencedby>
+ <referencedby id="SystemWin32_8h_1a3">setAddress</referencedby>
+ <referencedby id="SystemWin32_8h_1a0">WindowMessageImpl</referencedby>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1WindowMessage">WindowMessage</ref>p.\?\o\?!?\O\\81\98!?\1?I?AAo\\81P\e\1. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inheritancegraph>
+ <node id="267">
+ <label>sf::system::WindowMessage</label>
+ <link id="classsf_1_1system_1_1WindowMessage"/>
+ </node>
+ <node id="266">
+ <label>sf::system::WindowMessageImpl< T ></label>
+ <link id="classsf_1_1system_1_1WindowMessageImpl"/>
+ <childnode id="267" relation="public-inheritance">
+ </childnode>
+ </node>
+ </inheritancegraph>
+ <collaborationgraph>
+ <node id="270">
+ <label>T</label>
+ </node>
+ <node id="269">
+ <label>sf::system::WindowMessage</label>
+ <link id="classsf_1_1system_1_1WindowMessage"/>
+ </node>
+ <node id="268">
+ <label>sf::system::WindowMessageImpl< T ></label>
+ <link id="classsf_1_1system_1_1WindowMessageImpl"/>
+ <childnode id="269" relation="public-inheritance">
+ </childnode>
+ <childnode id="270" relation="usage">
+ <edgelabel>mpClass</edgelabel>
+ </childnode>
+ </node>
+ </collaborationgraph>
+ <location file="J:/project/sfglib/SystemWin32.h" line="42" bodystart="41" bodyend="62"/>
+ </compounddef>
+ <compounddef id="namespacesf" kind="namespace">
+ <compoundname>sf</compoundname>
+ <sectiondef kind="typedef">
+ <memberdef kind="typedef" id="namespacesf_1a0" virt="normal" prot="public">
+ <type>unsigned long</type>
+ <name>DWORD</name>
+ <briefdescription>
+<para>
+?3?i?I!\81\91WindowsAPI?I\e\?\O\e\e?o?e?e1t?T?E?\81P?A?a?e???e?|?EDWORD?oAe\83ÊA?\81E?A???T?1!\81\92. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/System.h" line="30" bodystart="29" bodyend="-1"/>
+ <referencedby id="SystemImpl_8h_1a2">sf::system::SystemImpl::addWindowMessage</referencedby>
+ <referencedby id="InputImpl_8h_1d1">sf::system::input::InputImpl::enumAxesCallback</referencedby>
+ <referencedby id="InputImpl_8cpp_1a14">sf::system::input::InputImpl::onKeyDown</referencedby>
+ <referencedby id="InputImpl_8cpp_1a11">sf::system::input::InputImpl::onMouseWheel</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a5">sf::system::sound::SoundImpl::play</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a3">sf::system::sound::SoundImpl::Queue::set</referencedby>
+ <referencedby id="SystemImpl_8h_1a8">sf::system::SystemImpl::time</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a7">sf::system::sound::SoundImpl::update</referencedby>
+ <referencedby id="SystemImpl_8cpp_1a3">sf::system::SystemImpl::wait</referencedby>
+ <referencedby id="Sound_8h_1a1">sf::system::sound::Sound::~Sound</referencedby>
+ <referencedby id="System_8h_1a1">sf::system::System::~System</referencedby>
+ <referencedby id="SystemWin32_8h_1a1">sf::system::Win32::~Win32</referencedby>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+S.F.?II?A\81\8b\81÷o\81LO. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+?3?i?IA??I\e\?\O\e\e?EI?A\81\8b?I?\81~AI?o2oEo?1?e???a?EAe\83ÊA?\83Ê?i?A???T?1!\81\92 S.F.?\81ÊAe\83ÊA?1?eI?A\81\8b\81÷o\81LO!|\\81P\e\1!|EN?o!|Ae?o?I?1?U?A?3?IAa?E\81LT?T?i?T?1!\81\92 </para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="37"/>
+ </compounddef>
+ <compounddef id="namespacesf_1_1application" kind="namespace">
+ <compoundname>sf::application</compoundname>
+ <innerclass refid="classsf_1_1application_1_1Main">sf::application::Main</innerclass>
+ <sectiondef kind="var">
+ <memberdef kind="variable" id="namespacesf_1_1application_1a0" virt="normal" prot="public">
+ <type>const int</type>
+ <name>INIT_PLAYER</name>
+ <initializer> 3</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Main.h" line="31" bodystart="31" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="namespacesf_1_1application_1a1" virt="normal" prot="public">
+ <type>const int</type>
+ <name>STAGE_NUM_MAX</name>
+ <initializer> 1</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Main.h" line="32" bodystart="32" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Main.h" line="29"/>
+ </compounddef>
+ <compounddef id="namespacesf_1_1system" kind="namespace">
+ <compoundname>sf::system</compoundname>
+ <innerclass refid="classsf_1_1system_1_1Exception">sf::system::Exception</innerclass>
+ <innerclass refid="classsf_1_1system_1_1FatalErrorException">sf::system::FatalErrorException</innerclass>
+ <innerclass refid="classsf_1_1system_1_1RecoverbleErrorException">sf::system::RecoverbleErrorException</innerclass>
+ <innerclass refid="classsf_1_1system_1_1System">sf::system::System</innerclass>
+ <innerclass refid="classsf_1_1system_1_1SystemImpl">sf::system::SystemImpl</innerclass>
+ <innerclass refid="classsf_1_1system_1_1Win32">sf::system::Win32</innerclass>
+ <innerclass refid="classsf_1_1system_1_1WindowMessage">sf::system::WindowMessage</innerclass>
+ <innerclass refid="classsf_1_1system_1_1WindowMessageImpl">sf::system::WindowMessageImpl</innerclass>
+ <sectiondef kind="func">
+ <memberdef kind="function" id="namespacesf_1_1system_1a4" virt="normal" prot="public" const="no" volatile="no">
+ <type>SFDLL <ref idref="classsf_1_1system_1_1System">System</ref> *const</type>
+ <name>instance</name>
+ <param>
+ <type>void</type>
+ </param>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1System">System</ref>p.\?\o\1\?\o\1?O?I\Y\?\o\??oAA?e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<ref idref="classsf_1_1system_1_1System">System</ref>p.\?\o\?!?\O\\81\98!?\1?O?I\Y\?\o\??o?eAA?\81E?T?1!\81\92 ?3?I\a\?\A\E?o\81âEIN?\81E?A!\81\91<ref idref="classsf_1_1system_1_1System">System</ref>p.\?\o\?!?\O\\81\98!?\1?o?eAA?\81E!\81\91\\81E\1\A\a\e\?!?\1?E\\81\91\\81P\\81â\1?\81E?T?1!\81\92 </para>
+<simplesect kind="return"><title>Ia?eAI: </title><para>
+<ref idref="classsf_1_1system_1_1System">System</ref>p. \?\o\?!?\O\\81\98!?\1?I\Y\?\o\? </para>
+</simplesect> </detaileddescription>
+ <location file="J:/project/sfglib/System.h" line="154" bodystart="73" bodyend="76"/>
+ <referencedby id="SystemImpl_8cpp_1d0">sf::system::SystemImpl::wndFunc</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="namespacesf_1_1system_1a5" virt="normal" prot="public" const="no" volatile="no">
+ <type></type>
+ <name>IMPLEMENT_SINGLETON</name>
+ <param>
+ <type><ref idref="classsf_1_1system_1_1SystemImpl">SystemImpl</ref></type>
+ </param>
+ <param>
+ <type><ref idref="classsf_1_1system_1_1SystemImpl">SystemImpl</ref></type>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.cpp" line="81"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="var">
+ <memberdef kind="variable" id="namespacesf_1_1system_1a0" virt="normal" prot="public">
+ <type>const float</type>
+ <name>PI</name>
+ <initializer> 3.1415926f</initializer>
+ <briefdescription>
+<para>
+|D. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/System.h" line="42" bodystart="41" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="namespacesf_1_1system_1a1" virt="normal" prot="public">
+ <type>const int</type>
+ <name>MAX_PATH_</name>
+ <initializer> 256</initializer>
+ <briefdescription>
+<para>
+oCAc\O\!\?\ePATH?IA1?\83Ê. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/System.h" line="43" bodystart="42" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="namespacesf_1_1system_1a2" virt="normal" prot="public">
+ <type>const <ref idref="namespacesf_1a0">DWORD</ref></type>
+ <name>TIMER_INTERVAL</name>
+ <initializer> 32</initializer>
+ <briefdescription>
+<para>
+1\O\i!?\a?I\81ât\81LO(ms). </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/System.h" line="59" bodystart="58" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="namespacesf_1_1system_1a3" virt="normal" prot="public">
+ <type>const float</type>
+ <name>FRAME_SEC</name>
+ <initializer> 30.0f</initializer>
+ <briefdescription>
+<para>
+Frame Per Second (FPS). </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/System.h" line="61" bodystart="60" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+\\81E\1\A\aI?A\81\8b\81÷o\81LO. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+?3?II?A\81\8b\81÷o\81LO?I!\81\91\\81E\1\A\a\e\?!?\1?I\\81\91\\81P\\81â\1?o1O?|\\81P\e\1?a!\81\91 ?E?I?e?|?EI?A\81\8b\81÷o\81LO?C?a\81âEIN?\83Ê?i?e\81LdEUAa?EAe?o?\81Ê3EC??\83Ê?i?T?1!\81\92 </para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="38"/>
+ </compounddef>
+ <compounddef id="namespacesf_1_1system_1_1console" kind="namespace">
+ <compoundname>sf::system::console</compoundname>
+ <innerclass refid="structsf_1_1system_1_1console_1_1Color_1_1@0_1_1@1">sf::system::console::Color::@0::@1</innerclass>
+ <innerclass refid="unionsf_1_1system_1_1console_1_1Color_1_1@0">sf::system::console::Color::@0</innerclass>
+ <innerclass refid="classsf_1_1system_1_1console_1_1Background">sf::system::console::Background</innerclass>
+ <innerclass refid="classsf_1_1system_1_1console_1_1Background_1_1Map">sf::system::console::Background::Map</innerclass>
+ <innerclass refid="classsf_1_1system_1_1console_1_1Color">sf::system::console::Color</innerclass>
+ <innerclass refid="classsf_1_1system_1_1console_1_1Console">sf::system::console::Console</innerclass>
+ <innerclass refid="classsf_1_1system_1_1console_1_1ConsoleImpl">sf::system::console::ConsoleImpl</innerclass>
+ <innerclass refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData">sf::system::console::ConsoleImpl::TextQueueData</innerclass>
+ <innerclass refid="classsf_1_1system_1_1console_1_1Obj2D">sf::system::console::Obj2D</innerclass>
+ <innerclass refid="classsf_1_1system_1_1console_1_1Obj3D">sf::system::console::Obj3D</innerclass>
+ <innerclass refid="classsf_1_1system_1_1console_1_1Obj3DL">sf::system::console::Obj3DL</innerclass>
+ <innerclass refid="classsf_1_1system_1_1console_1_1Obj_1_1List">sf::system::console::Obj::List</innerclass>
+ <innerclass refid="classsf_1_1system_1_1console_1_1Obj">sf::system::console::Obj</innerclass>
+ <innerclass refid="classsf_1_1system_1_1console_1_1ObjQuadrangle">sf::system::console::ObjQuadrangle</innerclass>
+ <innerclass refid="classsf_1_1system_1_1console_1_1ObjRectangle">sf::system::console::ObjRectangle</innerclass>
+ <innerclass refid="structsf_1_1system_1_1console_1_1Vertex">sf::system::console::Vertex</innerclass>
+ <innerclass refid="structsf_1_1system_1_1console_1_1Vertex2">sf::system::console::Vertex2</innerclass>
+ <sectiondef kind="typedef">
+ <memberdef kind="typedef" id="namespacesf_1_1system_1_1console_1a0" virt="normal" prot="public">
+ <type>unsigned long</type>
+ <name>COLOR</name>
+ <briefdescription>
+<para>
+\\81á\e!?\81E??IAe\83ÊA. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="35" bodystart="35" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="typedef" id="namespacesf_1_1system_1_1console_1a11" virt="normal" prot="public">
+ <type>int</type>
+ <name>OBJNO</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="36" bodystart="36" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="enum">
+ <memberdef kind="enum" id="namespacesf_1_1system_1_1console_1a12" virt="normal" prot="public">
+ <name>DrawMode</name>
+ <enumvalue>
+ <name>DRAW_TRANS</name>
+ </enumvalue>
+ <enumvalue>
+ <name>DRAW_ADD</name>
+ </enumvalue>
+ <enumvalue>
+ <name>DRAW_ADD1</name>
+ </enumvalue>
+ <enumvalue>
+ <name>DRAW_SHADOW</name>
+ </enumvalue>
+ <enumvalue>
+ <name>DRAW_INV</name>
+ </enumvalue>
+ <enumvalue>
+ <name>DRAW_MUL</name>
+ </enumvalue>
+ <briefdescription>
+<para>
+\1\\81~\e\?\EEA2e\?\?\\81~. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+\1\\81~\e\?\E?IAc2a?eIy?o?E?I\?\?\\81~?C1O?|?\81á\81âOAe?\81E?T?1!\81\92 </para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="292" bodystart="292" bodyend="299"/>
+ <referencedby id="Console_8h_1a0">sf::system::console::Console::~Console</referencedby>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="var">
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1console_1a1" virt="normal" prot="public">
+ <type>const int</type>
+ <name>TEXTURE_COUNT_MIN</name>
+ <initializer> 0</initializer>
+ <briefdescription>
+<para>
+\A\\81P\1\A\a!??o?IoC?RAI. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="120" bodystart="119" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1console_1a2" virt="normal" prot="public">
+ <type>const int</type>
+ <name>TEXTURE_COUNT_MAX</name>
+ <initializer> 1024</initializer>
+ <briefdescription>
+<para>
+\A\\81P\1\A\a!??o?IoCAcAI. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="121" bodystart="120" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1console_1a9" virt="normal" prot="public">
+ <type>const <ref idref="namespacesf_1a0">DWORD</ref></type>
+ <name>VertexFVF</name>
+ <initializer>
+ (D3DFVF_XYZRHW | ///< oAE\81C\81EI
+ D3DFVF_DIFFUSE | ///< \C\\81\92\O\a!?\o
+ D3DFVF_SPECULAR | ///< \1\U\-\a\e
+ D3DFVF_TEX1 )</initializer>
+ <briefdescription>
+<para>
+\1\\81~\e\?\EIN \D!?\A\A\\81P\1\D\A\O\!?I\O\e\\81\8b. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="29" bodystart="25" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1console_1a10" virt="normal" prot="public">
+ <type>const <ref idref="namespacesf_1a0">DWORD</ref></type>
+ <name>Vertex2FVF</name>
+ <initializer> (D3DFVF_DIFFUSE | D3DFVF_SPECULAR | D3DFVF_XYZ | D3DFVF_TEX1)</initializer>
+ <briefdescription>
+<para>
+3D\1\\81~\e\?\EIN \D!?\A\A\\81P\1\D\A\O\!?I\O\e\\81\8b. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="41" bodystart="41" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+2eII\81LOI\81\91?I\\81P\e\1!|Ae?o. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+2eII\81LOI\81\91?I\\81P\e\1!|Ae?o?I?1?U?A?I?3?II?A\81\8b\81÷o\81LO?E\81LT?T?i?T?1!\81\92 </para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="39"/>
+ </compounddef>
+ <compounddef id="namespacesf_1_1system_1_1console_1_1font" kind="namespace">
+ <compoundname>sf::system::console::font</compoundname>
+ <sectiondef kind="var">
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1console_1_1font_1a0" virt="normal" prot="public">
+ <type>const int</type>
+ <name>COUNT_MAX</name>
+ <initializer> 2</initializer>
+ <briefdescription>
+<para>
+\O\c\o\E?I?o. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="197" bodystart="196" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1console_1_1font_1a1" virt="normal" prot="public">
+ <type>const int</type>
+ <name>TEXTURE_WIDTH</name>
+ <initializer> 128</initializer>
+ <briefdescription>
+<para>
+\O\c\o\E\O\A\E\T\A\\81~?IEy. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="198" bodystart="197" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1console_1_1font_1a2" virt="normal" prot="public">
+ <type>const int</type>
+ <name>TEXTURE_HEIGHT</name>
+ <initializer> 64</initializer>
+ <briefdescription>
+<para>
+\O\c\o\E\O\A\E\T\A\\81~?I1a?\83Ê. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="199" bodystart="198" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1console_1_1font_1a3" virt="normal" prot="public">
+ <type>const int</type>
+ <name>WIDTH</name>
+ <initializer> 8</initializer>
+ <briefdescription>
+<para>
+\O\c\o\E?IEy. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="200" bodystart="199" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1console_1_1font_1a4" virt="normal" prot="public">
+ <type>const int</type>
+ <name>HEIGHT</name>
+ <initializer> 8</initializer>
+ <briefdescription>
+<para>
+\O\c\o\E?I1a?\83Ê. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="201" bodystart="200" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1console_1_1font_1a5" virt="normal" prot="public">
+ <type>const char</type>
+ <name>FILE_PATH</name>
+ <initializer> { "media\\font1.png",
+ "media\\font2.png"
+ }</initializer>
+ <briefdescription>
+<para>
+\O\c\o\E\O\!\?\e\I!?\aCUIo. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="205" bodystart="203" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+\O\c\o\E\81LOI\81\91 ?3?3?C???|\O\c\o\E?I!\81\91OS?\81Ê\81ây?A?a?I?C?I?E?\81P!\81\91AE?\81á?E\O\A\E\T\A\\81~?CEY\81ây?\81E?A???e?a?I?o?\83Ê?\81E?T?1!\81\92. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="195"/>
+ </compounddef>
+ <compounddef id="namespacesf_1_1system_1_1console_1_1screen" kind="namespace">
+ <compoundname>sf::system::console::screen</compoundname>
+ <sectiondef kind="var">
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1console_1_1screen_1a0" virt="normal" prot="public">
+ <type>const int</type>
+ <name>WIDTH</name>
+ <initializer> 640</initializer>
+ <briefdescription>
+<para>
+\1\\81P\e!?\o?IEy. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="106" bodystart="105" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1console_1_1screen_1a1" virt="normal" prot="public">
+ <type>const int</type>
+ <name>HEIGHT</name>
+ <initializer> 480</initializer>
+ <briefdescription>
+<para>
+\1\\81P\e!?\o?I1a?\83Ê. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="107" bodystart="106" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+\1\\81P\e!?\o\81LOI\81\91. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="104"/>
+ </compounddef>
+ <compounddef id="namespacesf_1_1system_1_1console_1_1sprite" kind="namespace">
+ <compoundname>sf::system::console::sprite</compoundname>
+ <innerclass refid="classsf_1_1system_1_1console_1_1sprite_1_1AbstractSprite">sf::system::console::sprite::AbstractSprite</innerclass>
+ <innerclass refid="structsf_1_1system_1_1console_1_1sprite_1_1Info">sf::system::console::sprite::Info</innerclass>
+ <innerclass refid="classsf_1_1system_1_1console_1_1sprite_1_1Sprite">sf::system::console::sprite::Sprite</innerclass>
+ <innerclass refid="classsf_1_1system_1_1console_1_1sprite_1_1Sprite2D">sf::system::console::sprite::Sprite2D</innerclass>
+ <innerclass refid="classsf_1_1system_1_1console_1_1sprite_1_1Sprite3D">sf::system::console::sprite::Sprite3D</innerclass>
+ <innerclass refid="classsf_1_1system_1_1console_1_1sprite_1_1SpriteMesh">sf::system::console::sprite::SpriteMesh</innerclass>
+ <sectiondef kind="typedef">
+ <memberdef kind="typedef" id="namespacesf_1_1system_1_1console_1_1sprite_1a2" virt="normal" prot="public">
+ <type>std::auto_ptr< <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite">Sprite</ref> ></type>
+ <name>PSprite</name>
+ <briefdescription>
+<para>
+<ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite">Sprite</ref>p.?I\1\T!?\E\Y\?\o\?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="189" bodystart="189" bodyend="-1"/>
+ <referencedby id="Console_8h_1a0">sf::system::console::sprite::Sprite::~Sprite</referencedby>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="enum">
+ <memberdef kind="enum" id="namespacesf_1_1system_1_1console_1_1sprite_1a6" virt="normal" prot="public">
+ <name>TYPE</name>
+ <enumvalue>
+ <name>SPRITE2D</name>
+ </enumvalue>
+ <enumvalue>
+ <name>SPRITE3D</name>
+ </enumvalue>
+ <enumvalue>
+ <name>MESH</name>
+ </enumvalue>
+ <briefdescription>
+<para>
+\1\\81~\e\?\E?I\?\?\\81~. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="136" bodystart="135" bodyend="140"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="var">
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1console_1_1sprite_1a0" virt="normal" prot="public">
+ <type>const int</type>
+ <name>MIN</name>
+ <initializer> 0</initializer>
+ <briefdescription>
+<para>
+\1\\81~\e\?\E?ooC?RAI!c. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="132" bodystart="131" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1console_1_1sprite_1a1" virt="normal" prot="public">
+ <type>const int</type>
+ <name>MAX</name>
+ <initializer> 1024</initializer>
+ <briefdescription>
+<para>
+\1\\81~\e\?\E?ooCAcAI. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="133" bodystart="132" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+\1\\81~\e\?\E\81LOI\81\91. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="40"/>
+ </compounddef>
+ <compounddef id="namespacesf_1_1system_1_1console_1_1text" kind="namespace">
+ <compoundname>sf::system::console::text</compoundname>
+ <sectiondef kind="var">
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1console_1_1text_1a0" virt="normal" prot="public">
+ <type>const int</type>
+ <name>BUFFER_LENGTH</name>
+ <initializer> 1024</initializer>
+ <briefdescription>
+<para>
+\A\-\1\EEY\81ây\D\A\O\!?I\\83Ê\?\o. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="211" bodystart="210" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1console_1_1text_1a1" virt="normal" prot="public">
+ <type>const float</type>
+ <name>COLUMN_PITCH</name>
+ <initializer> 8.0f</initializer>
+ <briefdescription>
+<para>
+\A\-\1\E?I\\81á\e\a\O\A\A. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="212" bodystart="211" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1console_1_1text_1a2" virt="normal" prot="public">
+ <type>const float</type>
+ <name>LINE_PITCH</name>
+ <initializer> 10.0f</initializer>
+ <briefdescription>
+<para>
+\A\-\1\E?I1O\O\A\A. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="213" bodystart="212" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+\A\-\1\EAc\81Ca\81LOI\81\91. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="209"/>
+ </compounddef>
+ <compounddef id="namespacesf_1_1system_1_1console_1_1viewport" kind="namespace">
+ <compoundname>sf::system::console::viewport</compoundname>
+ <sectiondef kind="var">
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1console_1_1viewport_1a0" virt="normal" prot="public">
+ <type>const int</type>
+ <name>X</name>
+ <initializer> 120</initializer>
+ <briefdescription>
+<para>
+\O\a!?\Y!?\Eo\81CA? X. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="112" bodystart="111" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1console_1_1viewport_1a1" virt="normal" prot="public">
+ <type>const int</type>
+ <name>Y</name>
+ <initializer> 0</initializer>
+ <briefdescription>
+<para>
+\O\a!?\Y!?\Eo\81CA? Y. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="113" bodystart="112" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1console_1_1viewport_1a2" virt="normal" prot="public">
+ <type>const float</type>
+ <name>Z_MIN</name>
+ <initializer> 0.0f</initializer>
+ <briefdescription>
+<para>
+\O\a!?\Y!?\E\81\92UoC?R. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="114" bodystart="113" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1console_1_1viewport_1a3" virt="normal" prot="public">
+ <type>const float</type>
+ <name>Z_MAX</name>
+ <initializer> 1.0f</initializer>
+ <briefdescription>
+<para>
+\O\a!?\Y!?\E\81\92UoCAc. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="115" bodystart="114" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1console_1_1viewport_1a4" virt="normal" prot="public">
+ <type>const int</type>
+ <name>WIDTH</name>
+ <initializer> 400</initializer>
+ <briefdescription>
+<para>
+\O\a!?\Y!?\E?IEy. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="116" bodystart="115" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1console_1_1viewport_1a5" virt="normal" prot="public">
+ <type>const int</type>
+ <name>HEIGHT</name>
+ <initializer> 480</initializer>
+ <briefdescription>
+<para>
+\O\a!?\Y!?\E?I1a?\83Ê. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="117" bodystart="116" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+\O\a!?\Y!?\E\81LOI\81\91. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="110"/>
+ </compounddef>
+ <compounddef id="namespacesf_1_1system_1_1input" kind="namespace">
+ <compoundname>sf::system::input</compoundname>
+ <innerclass refid="classsf_1_1system_1_1input_1_1Input">sf::system::input::Input</innerclass>
+ <innerclass refid="classsf_1_1system_1_1input_1_1InputImpl">sf::system::input::InputImpl</innerclass>
+ <innerclass refid="classsf_1_1system_1_1input_1_1Listener">sf::system::input::Listener</innerclass>
+ <briefdescription>
+<para>
+AtII?t?e?I\\81P\e\1!|Ae?o?E?E?I?1?U?A?3?3?E\81LT?T?i?T?1!\81\92. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.cpp" line="40"/>
+ </compounddef>
+ <compounddef id="namespacesf_1_1system_1_1input_1_1keyboard" kind="namespace">
+ <compoundname>sf::system::input::keyboard</compoundname>
+ <innerclass refid="classsf_1_1system_1_1input_1_1keyboard_1_1Listener">sf::system::input::keyboard::Listener</innerclass>
+ <innerclass refid="classsf_1_1system_1_1input_1_1keyboard_1_1VKey">sf::system::input::keyboard::VKey</innerclass>
+ <sectiondef kind="enum">
+ <memberdef kind="enum" id="namespacesf_1_1system_1_1input_1_1keyboard_1a6" virt="normal" prot="public">
+ <name>EXTEND_KEYCODE</name>
+ <enumvalue>
+ <name>CONTROL</name>
+ <initializer> 0x1</initializer>
+ </enumvalue>
+ <enumvalue>
+ <name>SHIFT</name>
+ <initializer> 0x8</initializer>
+ </enumvalue>
+ <briefdescription>
+<para>
+AA?i\-!?\3!?\E. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="118" bodystart="118" bodyend="121"/>
+ </memberdef>
+ <memberdef kind="enum" id="namespacesf_1_1system_1_1input_1_1keyboard_1a7" virt="normal" prot="public">
+ <name>VIRTUAL_KEYCODE</name>
+ <enumvalue>
+ <name>VKEY_LEFT</name>
+ <initializer> 0x25</initializer>
+ </enumvalue>
+ <enumvalue>
+ <name>VKEY_UP</name>
+ <initializer> 0x26</initializer>
+ </enumvalue>
+ <enumvalue>
+ <name>VKEY_RIGHT</name>
+ <initializer> 0x27</initializer>
+ </enumvalue>
+ <enumvalue>
+ <name>VKEY_DOWN</name>
+ <initializer> 0x28</initializer>
+ </enumvalue>
+ <briefdescription>
+<para>
+2?AU\-!?\3!?\E. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="124" bodystart="124" bodyend="129"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+\-!?\U!?\E\81LOI\81\91?IAe?o!|\\81P\e\1?I?1?U?A?3?3?E\81LT?T?i?T?1!\81\92. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="116"/>
+ </compounddef>
+ <compounddef id="namespacesf_1_1system_1_1input_1_1mouse" kind="namespace">
+ <compoundname>sf::system::input::mouse</compoundname>
+ <innerclass refid="classsf_1_1system_1_1input_1_1mouse_1_1Listener">sf::system::input::mouse::Listener</innerclass>
+ <sectiondef kind="enum">
+ <memberdef kind="enum" id="namespacesf_1_1system_1_1input_1_1mouse_1a5" virt="normal" prot="public">
+ <name>MKEY_CODE</name>
+ <enumvalue>
+ <name>MKEY_CONTROL</name>
+ <initializer> 0x1</initializer>
+ </enumvalue>
+ <enumvalue>
+ <name>MKEY_LBUTTON</name>
+ <initializer> 0x2</initializer>
+ </enumvalue>
+ <enumvalue>
+ <name>MKEY_RBUTTON</name>
+ <initializer> 0x4</initializer>
+ </enumvalue>
+ <enumvalue>
+ <name>MKEY_SHIFT</name>
+ <initializer> 0x8</initializer>
+ </enumvalue>
+ <enumvalue>
+ <name>WHEEL_MASK</name>
+ <initializer> 0xffff0000</initializer>
+ </enumvalue>
+ <briefdescription>
+<para>
+\T\|\1\?\U\o\E?CA\81}\81ât?E2!?\83Ê?i??\-!?\3!?\E?oIo\83Êo?1?e. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="29" bodystart="29" bodyend="35"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+\T\|\1\81LOI\81\91?I\\81P\e\1!|Ae?o?E?E?I?1?U?A?3?3?E\81LT?T?i?T?1. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="27"/>
+ </compounddef>
+ <compounddef id="namespacesf_1_1system_1_1sound" kind="namespace">
+ <compoundname>sf::system::sound</compoundname>
+ <innerclass refid="structsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1_1Data">sf::system::sound::SoundImpl::Queue::Data</innerclass>
+ <innerclass refid="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue">sf::system::sound::SoundImpl::Queue</innerclass>
+ <innerclass refid="classsf_1_1system_1_1sound_1_1Sound">sf::system::sound::Sound</innerclass>
+ <innerclass refid="classsf_1_1system_1_1sound_1_1SoundImpl">sf::system::sound::SoundImpl</innerclass>
+ <sectiondef kind="enum">
+ <memberdef kind="enum" id="namespacesf_1_1system_1_1sound_1a5" virt="normal" prot="public">
+ <name>TYPE</name>
+ <enumvalue>
+ <name>NONE</name>
+ </enumvalue>
+ <enumvalue>
+ <name>TEST</name>
+ </enumvalue>
+ <briefdescription>
+<para>
+\\83Ê\|\o\E?I\?\?\\81~. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sound.h" line="28" bodystart="27" bodyend="31"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="var">
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1sound_1a0" virt="normal" prot="public">
+ <type>const int</type>
+ <name>OBJECT_MAX</name>
+ <initializer> 128</initializer>
+ <briefdescription>
+<para>
+\\83Ê\|\o\E\a\O\\81C\\81\98\\81P\E?IoCAc?o. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sound.h" line="25" bodystart="24" bodyend="-1"/>
+ <referencedby id="SoundImpl_8cpp_1a2">sf::system::sound::SoundImpl::load</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a0">sf::system::sound::SoundImpl::SoundImpl</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a4">sf::system::sound::SoundImpl::unload</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1sound_1a1" virt="normal" prot="public">
+ <type>const int</type>
+ <name>LOAD_ERROR</name>
+ <initializer> -1</initializer>
+ <briefdescription>
+<para>
+\i!?\E\\81N\e!?. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sound.h" line="26" bodystart="25" bodyend="-1"/>
+ <referencedby id="SoundImpl_8cpp_1a3">sf::system::sound::SoundImpl::load</referencedby>
+ </memberdef>
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1sound_1a4" virt="normal" prot="public">
+ <type>const int</type>
+ <name>Q_MAX</name>
+ <initializer> 32</initializer>
+ <briefdescription>
+<para>
+\\83Ê\|\o\E\-\a!?\D\A\O\!?I?o. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="27" bodystart="26" bodyend="-1"/>
+ <referencedby id="SoundImpl_8cpp_1a2">sf::system::sound::SoundImpl::Queue::get</referencedby>
+ <referencedby id="SoundImpl_8cpp_1a3">sf::system::sound::SoundImpl::Queue::set</referencedby>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+\\83Ê\|\o\E\81LO\81E\81C?I\\81P\e\1!|Ae?o?E?E?I?1?U?A?3?3?E\81LT?T?i?T?1!\81\92. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sound.cpp" line="34"/>
+ </compounddef>
+ <compounddef id="namespacesf_1_1system_1_1sound_1_1volume" kind="namespace">
+ <compoundname>sf::system::sound::volume</compoundname>
+ <sectiondef kind="var">
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1sound_1_1volume_1a0" virt="normal" prot="public">
+ <type>const int</type>
+ <name>MAX</name>
+ <initializer> 0</initializer>
+ <briefdescription>
+<para>
+oCAc2\81âII. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sound.h" line="36" bodystart="35" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="variable" id="namespacesf_1_1system_1_1sound_1_1volume_1a1" virt="normal" prot="public">
+ <type>const int</type>
+ <name>MIN</name>
+ <initializer> -9600</initializer>
+ <briefdescription>
+<para>
+oC?R2\81âII. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sound.h" line="37" bodystart="36" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+\\83Ê\|\o\E!|\U\e\a!?\a. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sound.h" line="34"/>
+ </compounddef>
+ <compounddef id="AbstractSprite_8cpp" kind="file">
+ <compoundname>AbstractSprite.cpp</compoundname>
+ <includes id="sfdebug_8h" local="yes">sfdebug.h</includes>
+ <includes local="no">stdio.h</includes>
+ <includes local="no">queue</includes>
+ <includes local="yes">windows.h</includes>
+ <includes local="yes">windowsx.h</includes>
+ <includes local="yes">d3d8.h</includes>
+ <includes local="yes">d3dx8.h</includes>
+ <includes id="dxerr8sf_8h" local="yes">dxerr8sf.h</includes>
+ <includes local="yes">exception.h</includes>
+ <includes local="yes">sound.h</includes>
+ <includes id="System_8h" local="yes">System.h</includes>
+ <includes local="yes">console.h</includes>
+ <includes id="Obj_8h" local="yes">Obj.h</includes>
+ <includes id="Obj2D_8h" local="yes">Obj2D.h</includes>
+ <includes id="ObjRectangle_8h" local="yes">ObjRectangle.h</includes>
+ <includes id="ObjQuadrangle_8h" local="yes">ObjQuadrangle.h</includes>
+ <includes id="Obj3D_8h" local="yes">Obj3D.h</includes>
+ <includes id="Obj3DL_8h" local="yes">Obj3DL.h</includes>
+ <includes local="yes">input.h</includes>
+ <includes id="AbstractSprite_8h" local="yes">AbstractSprite.h</includes>
+ <includes id="ConsoleImpl_8h" local="yes">ConsoleImpl.h</includes>
+ <includes id="Main_8h" local="yes">Main.h</includes>
+ <incdepgraph>
+ <node id="133">
+ <label>dxerr8.h</label>
+ </node>
+ <node id="127">
+ <label>queue</label>
+ </node>
+ <node id="128">
+ <label>windows.h</label>
+ </node>
+ <node id="136">
+ <label>System.h</label>
+ <link id="System_8h"/>
+ <childnode id="137" relation="public-inheritance">
+ </childnode>
+ <childnode id="138" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="129">
+ <label>windowsx.h</label>
+ </node>
+ <node id="137">
+ <label>string</label>
+ </node>
+ <node id="150">
+ <label>ConsoleImpl.h</label>
+ <link id="ConsoleImpl_8h"/>
+ <childnode id="138" relation="public-inheritance">
+ </childnode>
+ <childnode id="148" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="132">
+ <label>dxerr8sf.h</label>
+ <link id="dxerr8sf_8h-source"/>
+ <childnode id="133" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="125">
+ <label>sfdebug.h</label>
+ <link id="sfdebug_8h"/>
+ </node>
+ <node id="147">
+ <label>AbstractSprite.h</label>
+ <link id="AbstractSprite_8h-source"/>
+ <childnode id="138" relation="public-inheritance">
+ </childnode>
+ <childnode id="148" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="146">
+ <label>input.h</label>
+ </node>
+ <node id="138">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="135">
+ <label>sound.h</label>
+ </node>
+ <node id="148">
+ <label>Console.h</label>
+ <link id="Console_8h"/>
+ <childnode id="149" relation="public-inheritance">
+ </childnode>
+ <childnode id="138" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="139">
+ <label>console.h</label>
+ </node>
+ <node id="144">
+ <label>Obj3D.h</label>
+ <link id="Obj3D_8h-source"/>
+ <childnode id="138" relation="public-inheritance">
+ </childnode>
+ <childnode id="140" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="141">
+ <label>Obj2D.h</label>
+ <link id="Obj2D_8h-source"/>
+ <childnode id="138" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="142">
+ <label>ObjRectangle.h</label>
+ <link id="ObjRectangle_8h-source"/>
+ <childnode id="138" relation="public-inheritance">
+ </childnode>
+ <childnode id="140" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="145">
+ <label>Obj3DL.h</label>
+ <link id="Obj3DL_8h-source"/>
+ <childnode id="138" relation="public-inheritance">
+ </childnode>
+ <childnode id="144" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="140">
+ <label>Obj.h</label>
+ <link id="Obj_8h-source"/>
+ <childnode id="138" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="143">
+ <label>ObjQuadrangle.h</label>
+ <link id="ObjQuadrangle_8h-source"/>
+ <childnode id="138" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="130">
+ <label>d3d8.h</label>
+ </node>
+ <node id="124">
+ <label>AbstractSprite.cpp</label>
+ <link id="AbstractSprite.cpp"/>
+ <childnode id="125" relation="public-inheritance">
+ </childnode>
+ <childnode id="126" relation="public-inheritance">
+ </childnode>
+ <childnode id="127" relation="public-inheritance">
+ </childnode>
+ <childnode id="128" relation="public-inheritance">
+ </childnode>
+ <childnode id="129" relation="public-inheritance">
+ </childnode>
+ <childnode id="130" relation="public-inheritance">
+ </childnode>
+ <childnode id="131" relation="public-inheritance">
+ </childnode>
+ <childnode id="132" relation="public-inheritance">
+ </childnode>
+ <childnode id="134" relation="public-inheritance">
+ </childnode>
+ <childnode id="135" relation="public-inheritance">
+ </childnode>
+ <childnode id="136" relation="public-inheritance">
+ </childnode>
+ <childnode id="139" relation="public-inheritance">
+ </childnode>
+ <childnode id="140" relation="public-inheritance">
+ </childnode>
+ <childnode id="141" relation="public-inheritance">
+ </childnode>
+ <childnode id="142" relation="public-inheritance">
+ </childnode>
+ <childnode id="143" relation="public-inheritance">
+ </childnode>
+ <childnode id="144" relation="public-inheritance">
+ </childnode>
+ <childnode id="145" relation="public-inheritance">
+ </childnode>
+ <childnode id="146" relation="public-inheritance">
+ </childnode>
+ <childnode id="147" relation="public-inheritance">
+ </childnode>
+ <childnode id="150" relation="public-inheritance">
+ </childnode>
+ <childnode id="151" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="151">
+ <label>Main.h</label>
+ <link id="Main_8h-source"/>
+ </node>
+ <node id="134">
+ <label>exception.h</label>
+ </node>
+ <node id="131">
+ <label>d3dx8.h</label>
+ </node>
+ <node id="126">
+ <label>stdio.h</label>
+ </node>
+ <node id="149">
+ <label>memory</label>
+ </node>
+ </incdepgraph>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// AbstractSprite.cpp: AbstractSprite \\81P\e\1?I\?\o\\81~\e\a\o\A!?\\81E\c\o</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// IuIo!\81\98</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// $Log: AbstractSprite.cpp,v $</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:34 fujiwara</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">// Revision 1.4 2001/07/09 20:30:07 fujiwara</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">// Revision 1.3 2001/07/01 21:30:33 fujiwara</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// \a\a\e\e!?\\81P\A\\81\98\A\\81P\81C\81áA??\81E</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:48:13 fujiwara</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="comment">#pragma warning( disable : 4786 ) //STL?I\81EU1d3\81\8b?\81E</highlight></codeline>
+<linenumber line="23"/><codeline></codeline>
+<linenumber line="24"/><codeline><highlight class="comment">// \a\a\e!?\e!?\\81P\81C!?DIN</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="preprocessor">#include "<ref idref="sfdebug_8h">sfdebug.h</ref>"</highlight></codeline>
+<linenumber line="26"/><codeline></codeline>
+<linenumber line="27"/><codeline><highlight class="comment">// SYSTEM INCLUDES</highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="preprocessor">#include <stdio.h></highlight></codeline>
+<linenumber line="30"/><codeline><highlight class="preprocessor">#include <queue></highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="preprocessor">#include "windows.h"</highlight></codeline>
+<linenumber line="32"/><codeline><highlight class="preprocessor">#include "windowsx.h"</highlight></codeline>
+<linenumber line="33"/><codeline></codeline>
+<linenumber line="34"/><codeline><highlight class="preprocessor">#include "d3d8.h"</highlight></codeline>
+<linenumber line="35"/><codeline><highlight class="preprocessor">#include "d3dx8.h"</highlight></codeline>
+<linenumber line="36"/><codeline><highlight class="preprocessor">#include "dxerr8sf.h"</highlight></codeline>
+<linenumber line="37"/><codeline></codeline>
+<linenumber line="38"/><codeline><highlight class="comment">// PROJECT INCLUDES</highlight></codeline>
+<linenumber line="39"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="40"/><codeline></codeline>
+<linenumber line="41"/><codeline></codeline>
+<linenumber line="42"/><codeline><highlight class="preprocessor">#include "exception.h"</highlight></codeline>
+<linenumber line="43"/><codeline><highlight class="preprocessor">#include "sound.h"</highlight></codeline>
+<linenumber line="44"/><codeline><highlight class="preprocessor">#include "<ref idref="System_8h">System.h</ref>"</highlight></codeline>
+<linenumber line="45"/><codeline><highlight class="preprocessor">#include "console.h"</highlight></codeline>
+<linenumber line="46"/><codeline></codeline>
+<linenumber line="47"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="48"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define new DEBUG_NEW</highlight></codeline>
+<linenumber line="49"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="50"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="51"/><codeline><highlight class="preprocessor">#include "Obj.h"</highlight></codeline>
+<linenumber line="52"/><codeline><highlight class="preprocessor">#include "Obj2D.h"</highlight></codeline>
+<linenumber line="53"/><codeline><highlight class="preprocessor">#include "ObjRectangle.h"</highlight></codeline>
+<linenumber line="54"/><codeline><highlight class="preprocessor">#include "ObjQuadrangle.h"</highlight></codeline>
+<linenumber line="55"/><codeline><highlight class="preprocessor">#include "Obj3D.h"</highlight></codeline>
+<linenumber line="56"/><codeline><highlight class="preprocessor">#include "Obj3DL.h"</highlight></codeline>
+<linenumber line="57"/><codeline><highlight class="preprocessor">#include "input.h"</highlight></codeline>
+<linenumber line="58"/><codeline><highlight class="preprocessor">#include "AbstractSprite.h"</highlight></codeline>
+<linenumber line="59"/><codeline><highlight class="preprocessor">#include "<ref idref="ConsoleImpl_8h">ConsoleImpl.h</ref>"</highlight></codeline>
+<linenumber line="60"/><codeline><highlight class="preprocessor">#include "Main.h"</highlight></codeline>
+<linenumber line="61"/><codeline></codeline>
+<linenumber line="62"/><codeline><highlight class="comment">//template class SFDLL std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >;</highlight></codeline>
+<linenumber line="63"/><codeline></codeline>
+<linenumber line="64"/><codeline><highlight class="keyword">using</highlight> <highlight class="keyword">namespace </highlight>sf::system::console;</codeline>
+<linenumber line="65"/><codeline>using namespace sf::system::console::sprite;</codeline>
+<linenumber line="66"/><codeline></codeline>
+<linenumber line="68"/><codeline><highlight class="comment">// 1?AU/?AIC</highlight></codeline>
+<linenumber line="70"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="71"/><codeline>AbstractSprite::AbstractSprite()</codeline>
+<linenumber line="72"/><codeline>{</codeline>
+<linenumber line="73"/><codeline><highlight class="comment">// mpSpriteVtBuf = NULL;</highlight></codeline>
+<linenumber line="74"/><codeline><highlight class="comment">// mpSpriteTexture = NULL;</highlight></codeline>
+<linenumber line="75"/><codeline><highlight class="comment">// mpSprite3DVtBuf = NULL;</highlight></codeline>
+<linenumber line="76"/><codeline> mpD3DDevice = NULL;</codeline>
+<linenumber line="77"/><codeline> mbUse = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="78"/><codeline> mCenterX = mCenterY = 0.0f;</codeline>
+<linenumber line="79"/><codeline> mWidth = mHeight = 0.0f;</codeline>
+<linenumber line="80"/><codeline><highlight class="comment">// mpMeshMaterials = NULL;</highlight></codeline>
+<linenumber line="81"/><codeline><highlight class="comment">// mpMeshTextures = NULL;</highlight></codeline>
+<linenumber line="82"/><codeline><highlight class="comment">// mNumMaterials = 0L; </highlight></codeline>
+<linenumber line="83"/><codeline><highlight class="comment">// mpMesh = NULL;</highlight></codeline>
+<linenumber line="84"/><codeline><highlight class="comment">// mCellWidth = 0.0f;</highlight></codeline>
+<linenumber line="85"/><codeline><highlight class="comment">// mCellHeight = 0.0f;</highlight></codeline>
+<linenumber line="86"/><codeline><highlight class="comment">// mCellCount = 0;</highlight></codeline>
+<linenumber line="87"/><codeline>}</codeline>
+<linenumber line="88"/><codeline></codeline>
+<linenumber line="89"/><codeline>AbstractSprite::~AbstractSprite()</codeline>
+<linenumber line="90"/><codeline>{</codeline>
+<linenumber line="91"/><codeline></codeline>
+<linenumber line="92"/><codeline>}</codeline>
+<linenumber line="93"/><codeline></codeline>
+<linenumber line="94"/><codeline><highlight class="comment">// EA2eIN\i\o\A\e\o\\81\8b\1\A!?\E?IAsAe --------------------------------------------</highlight></codeline>
+<linenumber line="95"/><codeline><highlight class="keywordtype">void</highlight> AbstractSprite::setRenderState(<highlight class="keyword">const</highlight> <ref idref="namespacesf_1_1system_1_1console_1a12">DrawMode</ref> value)</codeline>
+<linenumber line="96"/><codeline>{</codeline>
+<linenumber line="97"/><codeline> <highlight class="keywordflow">switch</highlight> (value)</codeline>
+<linenumber line="98"/><codeline> {</codeline>
+<linenumber line="99"/><codeline> <highlight class="keywordflow">case</highlight> <ref idref="namespacesf_1_1system_1_1console_1a12a3">DRAW_TRANS</ref>:</codeline>
+<linenumber line="100"/><codeline> mpD3DDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA);</codeline>
+<linenumber line="101"/><codeline> mpD3DDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);</codeline>
+<linenumber line="102"/><codeline> <highlight class="keywordflow">break</highlight>;</codeline>
+<linenumber line="103"/><codeline> <highlight class="keywordflow">case</highlight> <ref idref="namespacesf_1_1system_1_1console_1a12a4">DRAW_ADD</ref>:</codeline>
+<linenumber line="104"/><codeline> mpD3DDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_ONE);</codeline>
+<linenumber line="105"/><codeline> mpD3DDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_ONE);</codeline>
+<linenumber line="106"/><codeline> <highlight class="keywordflow">break</highlight>;</codeline>
+<linenumber line="107"/><codeline> <highlight class="keywordflow">case</highlight> <ref idref="namespacesf_1_1system_1_1console_1a12a5">DRAW_ADD1</ref>:</codeline>
+<linenumber line="108"/><codeline> mpD3DDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_ONE);</codeline>
+<linenumber line="109"/><codeline> mpD3DDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);</codeline>
+<linenumber line="110"/><codeline> <highlight class="keywordflow">break</highlight>;</codeline>
+<linenumber line="111"/><codeline> <highlight class="keywordflow">case</highlight> <ref idref="namespacesf_1_1system_1_1console_1a12a6">DRAW_SHADOW</ref>:</codeline>
+<linenumber line="112"/><codeline> mpD3DDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_ZERO);</codeline>
+<linenumber line="113"/><codeline> mpD3DDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);</codeline>
+<linenumber line="114"/><codeline> <highlight class="keywordflow">break</highlight>;</codeline>
+<linenumber line="115"/><codeline> <highlight class="keywordflow">case</highlight> <ref idref="namespacesf_1_1system_1_1console_1a12a7">DRAW_INV</ref>:</codeline>
+<linenumber line="116"/><codeline> mpD3DDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_INVSRCCOLOR);</codeline>
+<linenumber line="117"/><codeline> mpD3DDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_ZERO);</codeline>
+<linenumber line="118"/><codeline> <highlight class="keywordflow">break</highlight>;</codeline>
+<linenumber line="119"/><codeline> <highlight class="keywordflow">case</highlight> <ref idref="namespacesf_1_1system_1_1console_1a12a8">DRAW_MUL</ref>:</codeline>
+<linenumber line="120"/><codeline> mpD3DDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_ZERO);</codeline>
+<linenumber line="121"/><codeline> mpD3DDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_SRCCOLOR);</codeline>
+<linenumber line="122"/><codeline> <highlight class="keywordflow">break</highlight>;</codeline>
+<linenumber line="123"/><codeline> }</codeline>
+<linenumber line="124"/><codeline></codeline>
+<linenumber line="125"/><codeline>}<highlight class="comment">// setRenderState</highlight></codeline>
+<linenumber line="126"/><codeline></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/AbstractSprite.cpp"/>
+ </compounddef>
+ <compounddef id="AbstractSprite_8h" kind="file">
+ <compoundname>AbstractSprite.h</compoundname>
+ <includes id="sf_8h" local="yes">sf.h</includes>
+ <includes id="Console_8h" local="yes">Console.h</includes>
+ <includedby id="AbstractSprite_8cpp" local="yes">AbstractSprite.cpp</includedby>
+ <includedby id="ConsoleImpl_8cpp" local="yes">ConsoleImpl.cpp</includedby>
+ <includedby id="Sprite3D_8h" local="yes">Sprite3D.h</includedby>
+ <includedby id="SpriteMesh_8h" local="yes">SpriteMesh.h</includedby>
+ <includedby id="InputImpl_8cpp" local="yes">InputImpl.cpp</includedby>
+ <includedby id="sfglib_8cpp" local="yes">sfglib.cpp</includedby>
+ <includedby id="Sprite2D_8cpp" local="yes">Sprite2D.cpp</includedby>
+ <includedby id="Sprite3D_8cpp" local="yes">Sprite3D.cpp</includedby>
+ <includedby id="SpriteMesh_8cpp" local="yes">SpriteMesh.cpp</includedby>
+ <includedby id="System_8cpp" local="yes">System.cpp</includedby>
+ <includedby id="SystemImpl_8cpp" local="yes">SystemImpl.cpp</includedby>
+ <incdepgraph>
+ <node id="153">
+ <label>AbstractSprite.h</label>
+ <link id="AbstractSprite.h"/>
+ <childnode id="154" relation="public-inheritance">
+ </childnode>
+ <childnode id="155" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="154">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="155">
+ <label>Console.h</label>
+ <link id="Console_8h"/>
+ <childnode id="156" relation="public-inheritance">
+ </childnode>
+ <childnode id="154" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="156">
+ <label>memory</label>
+ </node>
+ </incdepgraph>
+ <invincdepgraph>
+ <node id="165">
+ <label>sfglib.cpp</label>
+ <link id="sfglib_8cpp-source"/>
+ </node>
+ <node id="166">
+ <label>Sprite2D.cpp</label>
+ <link id="Sprite2D_8cpp-source"/>
+ </node>
+ <node id="168">
+ <label>SystemImpl.cpp</label>
+ <link id="SystemImpl_8cpp-source"/>
+ </node>
+ <node id="164">
+ <label>InputImpl.cpp</label>
+ <link id="InputImpl_8cpp-source"/>
+ </node>
+ <node id="157">
+ <label>AbstractSprite.h</label>
+ <link id="AbstractSprite.h"/>
+ <childnode id="158" relation="public-inheritance">
+ </childnode>
+ <childnode id="159" relation="public-inheritance">
+ </childnode>
+ <childnode id="160" relation="public-inheritance">
+ </childnode>
+ <childnode id="162" relation="public-inheritance">
+ </childnode>
+ <childnode id="164" relation="public-inheritance">
+ </childnode>
+ <childnode id="165" relation="public-inheritance">
+ </childnode>
+ <childnode id="166" relation="public-inheritance">
+ </childnode>
+ <childnode id="161" relation="public-inheritance">
+ </childnode>
+ <childnode id="163" relation="public-inheritance">
+ </childnode>
+ <childnode id="167" relation="public-inheritance">
+ </childnode>
+ <childnode id="168" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="162">
+ <label>SpriteMesh.h</label>
+ <link id="SpriteMesh_8h-source"/>
+ <childnode id="159" relation="public-inheritance">
+ </childnode>
+ <childnode id="163" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="159">
+ <label>ConsoleImpl.cpp</label>
+ <link id="ConsoleImpl_8cpp-source"/>
+ </node>
+ <node id="163">
+ <label>SpriteMesh.cpp</label>
+ <link id="SpriteMesh_8cpp-source"/>
+ </node>
+ <node id="167">
+ <label>System.cpp</label>
+ <link id="System_8cpp-source"/>
+ </node>
+ <node id="160">
+ <label>Sprite3D.h</label>
+ <link id="Sprite3D_8h-source"/>
+ <childnode id="159" relation="public-inheritance">
+ </childnode>
+ <childnode id="161" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="158">
+ <label>AbstractSprite.cpp</label>
+ <link id="AbstractSprite_8cpp-source"/>
+ </node>
+ <node id="161">
+ <label>Sprite3D.cpp</label>
+ <link id="Sprite3D_8cpp-source"/>
+ </node>
+ </invincdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1console">sf::system::console</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1console_1_1sprite">sf::system::console::sprite</innernamespace>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="AbstractSprite_8h_1a0" virt="normal" prot="public">
+ <name>AFX_ABSTRACTSPRITE_H__13F6E957_5370_42BC_B5F5_FEF71D80C1DE__INCLUDED_</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/AbstractSprite.h" line="27" bodystart="27" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// AbstractSprite.h: AbstractSprite \\81P\e\1?I\?\o\?!?\O\\81\98\?\1</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// IuIo!\81\98</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// $Log: AbstractSprite.h,v $</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// Revision 1.3 2001/11/06 21:27:42 fujiwara</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// AcEy11?\81EA\81\8b\D\A\\81P\\81\91\A\\81~</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">// Revision 1.2 2001/10/28 21:35:56 fujiwara</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:34 fujiwara</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">// Revision 1.3 2001/07/09 20:30:07 fujiwara</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:48:13 fujiwara</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="preprocessor">#if !defined(AFX_ABSTRACTSPRITE_H__13F6E957_5370_42BC_B5F5_FEF71D80C1DE__INCLUDED_)</highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define AFX_ABSTRACTSPRITE_H__13F6E957_5370_42BC_B5F5_FEF71D80C1DE__INCLUDED_</highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="preprocessor">#if _MSC_VER > 1000</highlight></codeline>
+<linenumber line="30"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#pragma once</highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif // _MSC_VER > 1000</highlight></codeline>
+<linenumber line="32"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include "sf.h"</highlight></codeline>
+<linenumber line="33"/><codeline><highlight class="preprocessor">#include "<ref idref="Console_8h">Console.h</ref>"</highlight></codeline>
+<linenumber line="34"/><codeline></codeline>
+<linenumber line="35"/><codeline><highlight class="keyword">extern</highlight> <highlight class="stringliteral">"C"</highlight> {</codeline>
+<linenumber line="36"/><codeline></codeline>
+<linenumber line="37" refid="namespacesf_1"/><codeline><highlight class="keyword">namespace </highlight>sf{</codeline>
+<linenumber line="38" refid="namespacesf_1_1system_1"/><codeline> <highlight class="keyword">namespace </highlight>system{</codeline>
+<linenumber line="39" refid="namespacesf_1_1system_1_1console_1"/><codeline> <highlight class="keyword">namespace </highlight>console {</codeline>
+<linenumber line="40" refid="namespacesf_1_1system_1_1console_1_1sprite_1"/><codeline> <highlight class="keyword">namespace </highlight>sprite {</codeline>
+<linenumber line="41"/><codeline></codeline>
+<linenumber line="42"/><codeline><highlight class="comment">// </highlight></codeline>
+<linenumber line="43"/><codeline><highlight class="comment">// </highlight></codeline>
+<linenumber line="44"/><codeline><highlight class="keyword">class </highlight>AbstractSprite : <highlight class="keyword">public</highlight> Sprite </codeline>
+<linenumber line="45"/><codeline>{</codeline>
+<linenumber line="46"/><codeline><highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="47"/><codeline> AbstractSprite();</codeline>
+<linenumber line="48"/><codeline> <highlight class="keyword">virtual</highlight> ~AbstractSprite();</codeline>
+<linenumber line="49"/><codeline> <highlight class="comment">// OPERATIONS //</highlight></codeline>
+<linenumber line="50"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> initialize(<highlight class="keywordtype">void</highlight>) = 0;</codeline>
+<linenumber line="51"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> initialize(LPDIRECT3DDEVICE8 pD3DDevice) = 0;</codeline>
+<linenumber line="52"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> uninitialize(<highlight class="keywordtype">void</highlight>) = 0;</codeline>
+<linenumber line="53"/><codeline></codeline>
+<linenumber line="54"/><codeline> <highlight class="comment">// \A\\81P\1\A\a\O\!\?\e?I\i!?\E</highlight></codeline>
+<linenumber line="55"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> load(<highlight class="keyword">const</highlight> sprite::Info *pInfo,<highlight class="keyword">const</highlight> D3DFORMAT textureFormat,<highlight class="keyword">const</highlight> COLOR color) = 0;</codeline>
+<linenumber line="56"/><codeline></codeline>
+<linenumber line="57"/><codeline> <highlight class="comment">// EA2eIN\i\o\A\e\o\\81\8b\1\A!?\E?IAsAe</highlight></codeline>
+<linenumber line="58"/><codeline> <highlight class="keywordtype">void</highlight> setRenderState(<highlight class="keyword">const</highlight> <ref idref="namespacesf_1_1system_1_1console_1a12">DrawMode</ref> value);</codeline>
+<linenumber line="59"/><codeline> </codeline>
+<linenumber line="60"/><codeline> <highlight class="comment">// ACCESS //</highlight></codeline>
+<linenumber line="61"/><codeline></codeline>
+<linenumber line="62"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> use(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mbUse;};</codeline>
+<linenumber line="63"/><codeline> <highlight class="keywordtype">void</highlight> use(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> value){mbUse = value;};</codeline>
+<linenumber line="64"/><codeline> </codeline>
+<linenumber line="65"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> width(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mWidth;};</codeline>
+<linenumber line="66"/><codeline> <highlight class="keywordtype">void</highlight> width(<highlight class="keyword">const</highlight> value) {mWidth = value;};</codeline>
+<linenumber line="67"/><codeline> </codeline>
+<linenumber line="68"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> height(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mHeight;};</codeline>
+<linenumber line="69"/><codeline> <highlight class="keywordtype">void</highlight> height(<highlight class="keyword">const</highlight> value) {mHeight = value;};</codeline>
+<linenumber line="70"/><codeline></codeline>
+<linenumber line="71"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> centerX(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mCenterX;};</codeline>
+<linenumber line="72"/><codeline> <highlight class="keywordtype">void</highlight> centerX(<highlight class="keyword">const</highlight> value) {mCenterX = value;};</codeline>
+<linenumber line="73"/><codeline></codeline>
+<linenumber line="74"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> centerY(<highlight class="keywordtype">void</highlight>) <highlight class="keyword">const</highlight> {<highlight class="keywordflow">return</highlight> mCenterY;};</codeline>
+<linenumber line="75"/><codeline> <highlight class="keywordtype">void</highlight> centerY(<highlight class="keyword">const</highlight> value) {mCenterY = value;};</codeline>
+<linenumber line="76"/><codeline></codeline>
+<linenumber line="77"/><codeline></codeline>
+<linenumber line="78"/><codeline> <highlight class="comment">// INQUIRY //</highlight></codeline>
+<linenumber line="79"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> isUsed()<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mbUse;};</codeline>
+<linenumber line="80"/><codeline><highlight class="keyword">protected</highlight>:</codeline>
+<linenumber line="81"/><codeline></codeline>
+<linenumber line="82"/><codeline> <highlight class="keywordtype">bool</highlight> mbUse;</codeline>
+<linenumber line="83"/><codeline> LPDIRECT3DDEVICE8 mpD3DDevice;</codeline>
+<linenumber line="84"/><codeline></codeline>
+<linenumber line="85"/><codeline> <highlight class="keywordtype">float</highlight> mWidth;</codeline>
+<linenumber line="86"/><codeline> <highlight class="keywordtype">float</highlight> mHeight;</codeline>
+<linenumber line="87"/><codeline> <highlight class="keywordtype">float</highlight> mCenterX;</codeline>
+<linenumber line="88"/><codeline> <highlight class="keywordtype">float</highlight> mCenterY;</codeline>
+<linenumber line="89"/><codeline></codeline>
+<linenumber line="90"/><codeline> TYPE mType;</codeline>
+<linenumber line="91"/><codeline></codeline>
+<linenumber line="92"/><codeline>};</codeline>
+<linenumber line="93"/><codeline> }</codeline>
+<linenumber line="94"/><codeline> }</codeline>
+<linenumber line="95"/><codeline> }</codeline>
+<linenumber line="96"/><codeline>}</codeline>
+<linenumber line="97"/><codeline>}</codeline>
+<linenumber line="98"/><codeline><highlight class="preprocessor">#endif // !defined(AFX_ABSTRACTSPRITE_H__13F6E957_5370_42BC_B5F5_FEF71D80C1DE__INCLUDED_)</highlight></codeline>
+<linenumber line="99"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/AbstractSprite.h"/>
+ </compounddef>
+ <compounddef id="BackGround_8cpp" kind="file">
+ <compoundname>BackGround.cpp</compoundname>
+ <includes id="sfdebug_8h" local="yes">sfdebug.h</includes>
+ <includes local="yes">stdio.h</includes>
+ <includes local="no">string</includes>
+ <includes local="no">iostream</includes>
+ <includes local="no">fstream</includes>
+ <includes local="no">vector</includes>
+ <includes local="yes">exception.h</includes>
+ <includes local="yes">system.h</includes>
+ <includes local="yes">console.h</includes>
+ <includes id="Obj_8h" local="yes">Obj.h</includes>
+ <includes id="Obj2D_8h" local="yes">Obj2D.h</includes>
+ <includes id="ObjRectangle_8h" local="yes">ObjRectangle.h</includes>
+ <includes id="ObjQuadrangle_8h" local="yes">ObjQuadrangle.h</includes>
+ <includes id="BackGround_8h" local="yes">BackGround.h</includes>
+ <incdepgraph>
+ <node id="169">
+ <label>BackGround.cpp</label>
+ <link id="BackGround.cpp"/>
+ <childnode id="170" relation="public-inheritance">
+ </childnode>
+ <childnode id="171" relation="public-inheritance">
+ </childnode>
+ <childnode id="172" relation="public-inheritance">
+ </childnode>
+ <childnode id="173" relation="public-inheritance">
+ </childnode>
+ <childnode id="174" relation="public-inheritance">
+ </childnode>
+ <childnode id="175" relation="public-inheritance">
+ </childnode>
+ <childnode id="176" relation="public-inheritance">
+ </childnode>
+ <childnode id="177" relation="public-inheritance">
+ </childnode>
+ <childnode id="178" relation="public-inheritance">
+ </childnode>
+ <childnode id="179" relation="public-inheritance">
+ </childnode>
+ <childnode id="181" relation="public-inheritance">
+ </childnode>
+ <childnode id="182" relation="public-inheritance">
+ </childnode>
+ <childnode id="183" relation="public-inheritance">
+ </childnode>
+ <childnode id="184" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="172">
+ <label>string</label>
+ </node>
+ <node id="170">
+ <label>sfdebug.h</label>
+ <link id="sfdebug_8h"/>
+ </node>
+ <node id="180">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="174">
+ <label>fstream</label>
+ </node>
+ <node id="184">
+ <label>BackGround.h</label>
+ <link id="BackGround_8h-source"/>
+ <childnode id="180" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="175">
+ <label>vector</label>
+ </node>
+ <node id="178">
+ <label>console.h</label>
+ </node>
+ <node id="181">
+ <label>Obj2D.h</label>
+ <link id="Obj2D_8h-source"/>
+ <childnode id="180" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="182">
+ <label>ObjRectangle.h</label>
+ <link id="ObjRectangle_8h-source"/>
+ <childnode id="180" relation="public-inheritance">
+ </childnode>
+ <childnode id="179" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="173">
+ <label>iostream</label>
+ </node>
+ <node id="179">
+ <label>Obj.h</label>
+ <link id="Obj_8h-source"/>
+ <childnode id="180" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="183">
+ <label>ObjQuadrangle.h</label>
+ <link id="ObjQuadrangle_8h-source"/>
+ <childnode id="180" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="176">
+ <label>exception.h</label>
+ </node>
+ <node id="177">
+ <label>system.h</label>
+ </node>
+ <node id="171">
+ <label>stdio.h</label>
+ </node>
+ </incdepgraph>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// BackGround.cpp: BackGround \\81P\e\1?I\?\o\\81~\e\a\o\A!?\\81E\c\o</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// \1\\81P\i!?\eCO\81EEEA2e\\81P\e\1</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// IuIo!\81\98</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// $Log: BackGround.cpp,v $</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:34 fujiwara</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// Revision 1.3 2001/07/09 20:30:08 fujiwara</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// Revision 1.2 2001/07/01 21:30:33 fujiwara</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">// \a\a\e\e!?\\81P\A\\81\98\A\\81P\81C\81áA??\81E</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// Revision 1.1 2001/05/12 01:10:17 fujiwara</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="comment">// $Log: BackGround.cpp,v $</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:34 fujiwara</highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="comment">// Revision 1.3 2001/07/09 20:30:08 fujiwara</highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="comment">// Revision 1.2 2001/07/01 21:30:33 fujiwara</highlight></codeline>
+<linenumber line="30"/><codeline><highlight class="comment">// \a\a\e\e!?\\81P\A\\81\98\A\\81P\81C\81áA??\81E</highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="32"/><codeline><highlight class="comment">// Revision 1.1 2001/05/12 01:10:17 fujiwara</highlight></codeline>
+<linenumber line="33"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="34"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="35"/><codeline><highlight class="comment">// Revision 1.2 2001/05/11 10:00:48 fujiwara</highlight></codeline>
+<linenumber line="36"/><codeline><highlight class="comment">// CUAO\\81N\C\\81\92\??I???a?E?\81P?\81E??A\83Ê</highlight></codeline>
+<linenumber line="37"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="38"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="40"/><codeline><highlight class="comment">#pragma warning( disable : 4786 ) //STL?I\81EU1d3\81\8b?\81E</highlight></codeline>
+<linenumber line="41"/><codeline><highlight class="comment">// \a\a\e!?\e!?\\81P\81C!?DIN</highlight></codeline>
+<linenumber line="42"/><codeline><highlight class="preprocessor">#include "<ref idref="sfdebug_8h">sfdebug.h</ref>"</highlight></codeline>
+<linenumber line="43"/><codeline></codeline>
+<linenumber line="44"/><codeline><highlight class="comment">// System Includes //</highlight></codeline>
+<linenumber line="45"/><codeline></codeline>
+<linenumber line="46"/><codeline><highlight class="preprocessor">#include "stdio.h"</highlight></codeline>
+<linenumber line="47"/><codeline><highlight class="preprocessor">#include <string></highlight></codeline>
+<linenumber line="48"/><codeline><highlight class="preprocessor">#include <iostream></highlight></codeline>
+<linenumber line="49"/><codeline><highlight class="preprocessor">#include <fstream></highlight></codeline>
+<linenumber line="50"/><codeline><highlight class="preprocessor">#include <vector></highlight></codeline>
+<linenumber line="51"/><codeline></codeline>
+<linenumber line="52"/><codeline><highlight class="comment">// Project Includes //</highlight></codeline>
+<linenumber line="53"/><codeline></codeline>
+<linenumber line="54"/><codeline></codeline>
+<linenumber line="55"/><codeline><highlight class="preprocessor">#include "exception.h"</highlight></codeline>
+<linenumber line="56"/><codeline></codeline>
+<linenumber line="57"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="58"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define new DEBUG_NEW</highlight></codeline>
+<linenumber line="59"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="60"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="61"/><codeline><highlight class="preprocessor">#include "system.h"</highlight></codeline>
+<linenumber line="62"/><codeline><highlight class="preprocessor">#include "console.h"</highlight></codeline>
+<linenumber line="63"/><codeline><highlight class="preprocessor">#include "Obj.h"</highlight></codeline>
+<linenumber line="64"/><codeline><highlight class="preprocessor">#include "Obj2D.h"</highlight></codeline>
+<linenumber line="65"/><codeline><highlight class="preprocessor">#include "ObjRectangle.h"</highlight></codeline>
+<linenumber line="66"/><codeline><highlight class="preprocessor">#include "ObjQuadrangle.h"</highlight></codeline>
+<linenumber line="67"/><codeline><highlight class="preprocessor">#include "BackGround.h"</highlight></codeline>
+<linenumber line="68"/><codeline></codeline>
+<linenumber line="70"/><codeline><highlight class="comment">// 1?AU/?AIC</highlight></codeline>
+<linenumber line="72"/><codeline><highlight class="comment">using namespace sf::system::console;</highlight></codeline>
+<linenumber line="73"/><codeline><highlight class="keyword">using</highlight> <highlight class="keyword">namespace </highlight>sf;</codeline>
+<linenumber line="74"/><codeline></codeline>
+<linenumber line="75"/><codeline><highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> Background::Map::HEIGHT_MAX = 64;</codeline>
+<linenumber line="76"/><codeline><highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> Background::Map::CELL_SIZE = 64;</codeline>
+<linenumber line="77"/><codeline><highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> Background::Map::WIDTH = 8;</codeline>
+<linenumber line="78"/><codeline></codeline>
+<linenumber line="79"/><codeline><highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> Background::Map::DRAW_HEIGHT = 9;</codeline>
+<linenumber line="80"/><codeline><highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> Background::Map::DRAW_START_X = 96.0f;</codeline>
+<linenumber line="81"/><codeline><highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> Background::Map::DRAW_START_Y = 448.0f;</codeline>
+<linenumber line="82"/><codeline><highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> Background::Map::DRAW_CENTER_Y = 256.0f;</codeline>
+<linenumber line="83"/><codeline></codeline>
+<linenumber line="84"/><codeline><highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> Background::Map::CELL_TEX_COUNT_W = 4;</codeline>
+<linenumber line="85"/><codeline><highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> Background::Map::CELL_TEX_COUNT_H = 4;</codeline>
+<linenumber line="86"/><codeline></codeline>
+<linenumber line="87"/><codeline><highlight class="keyword">const</highlight> <ref idref="structsf_1_1system_1_1console_1_1sprite_1_1Info">sf::system::console::sprite::Info</ref> Background::msBlankSpriteInfo = </codeline>
+<linenumber line="88"/><codeline>{</codeline>
+<linenumber line="89"/><codeline> <highlight class="stringliteral">"media\\blank.bmp"</highlight>,0.0f,0.0f,0.0f,0.0f,0xff000000,sprite::SPRITE2D</codeline>
+<linenumber line="90"/><codeline>};</codeline>
+<linenumber line="91"/><codeline></codeline>
+<linenumber line="92"/><codeline>Background::Background() : ObjRectangle()</codeline>
+<linenumber line="93"/><codeline>{</codeline>
+<linenumber line="94"/><codeline> <highlight class="keyword">using</highlight> <highlight class="keyword">namespace </highlight>sf::system;</codeline>
+<linenumber line="95"/><codeline></codeline>
+<linenumber line="96"/><codeline> System *psys = Factory::getInstance();</codeline>
+<linenumber line="97"/><codeline> mpConsole = psys->console();</codeline>
+<linenumber line="98"/><codeline></codeline>
+<linenumber line="99"/><codeline> z(0.99f);</codeline>
+<linenumber line="100"/><codeline> color(0xffffffff);</codeline>
+<linenumber line="101"/><codeline> mOffsetX = mOffsetY = 0.0f;</codeline>
+<linenumber line="102"/><codeline> mpMap = NULL;</codeline>
+<linenumber line="103"/><codeline> </codeline>
+<linenumber line="104"/><codeline> mStartOffsetX = mStartOffsetY = 0.0f;</codeline>
+<linenumber line="105"/><codeline> mpBlankSprite = Factory::getInstance()->console()->createSprite(&msBlankSpriteInfo);</codeline>
+<linenumber line="106"/><codeline> </codeline>
+<linenumber line="107"/><codeline> mObj[0].sprite(mpBlankSprite);</codeline>
+<linenumber line="108"/><codeline> mObj[1].sprite(mpBlankSprite);</codeline>
+<linenumber line="109"/><codeline> mObj[0].visibility(false);</codeline>
+<linenumber line="110"/><codeline> mObj[1].visibility(false);</codeline>
+<linenumber line="111"/><codeline> mObj[0].z(0.01f);</codeline>
+<linenumber line="112"/><codeline> mObj[1].z(0.01f);</codeline>
+<linenumber line="113"/><codeline> mObj[0].drawMode(<ref idref="namespacesf_1_1system_1_1console_1a12a4">DRAW_ADD</ref>);</codeline>
+<linenumber line="114"/><codeline> mObj[1].drawMode(<ref idref="namespacesf_1_1system_1_1console_1a12a4">DRAW_ADD</ref>);</codeline>
+<linenumber line="115"/><codeline> </codeline>
+<linenumber line="116"/><codeline> for(int i = 0;i < 4;i++){</codeline>
+<linenumber line="117"/><codeline> mObj[0].vertex(i)->diffuse = 0x40000020;</codeline>
+<linenumber line="118"/><codeline> mObj[1].vertex(i)->diffuse = 0x40400000;</codeline>
+<linenumber line="119"/><codeline></codeline>
+<linenumber line="120"/><codeline> mObj[0].vertex(i)->specular = 0.0f;</codeline>
+<linenumber line="121"/><codeline> mObj[1].vertex(i)->specular = 0.0f;</codeline>
+<linenumber line="122"/><codeline></codeline>
+<linenumber line="123"/><codeline> mObj[0].vertex(i)->z = 0.01f;</codeline>
+<linenumber line="124"/><codeline> mObj[1].vertex(i)->z = 0.01f;</codeline>
+<linenumber line="125"/><codeline> }</codeline>
+<linenumber line="126"/><codeline></codeline>
+<linenumber line="127"/><codeline>}</codeline>
+<linenumber line="128"/><codeline></codeline>
+<linenumber line="129"/><codeline>Background::~Background()</codeline>
+<linenumber line="130"/><codeline>{</codeline>
+<linenumber line="131"/><codeline> unload();</codeline>
+<linenumber line="132"/><codeline> <highlight class="keyword">delete</highlight> mpBlankSprite;</codeline>
+<linenumber line="133"/><codeline>}</codeline>
+<linenumber line="134"/><codeline></codeline>
+<linenumber line="135"/><codeline><highlight class="comment">// \A\\81P\1\A\a?a?e?O\T\A\\81~\C!?\??I\\81\91\o\i!?\E !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="136"/><codeline>Background::unload()</codeline>
+<linenumber line="137"/><codeline>{</codeline>
+<linenumber line="138"/><codeline> visibility(<highlight class="keyword">false</highlight>); </codeline>
+<linenumber line="139"/><codeline> sprite::Sprite * psprite;</codeline>
+<linenumber line="140"/><codeline> <highlight class="keywordflow">for</highlight>(TextureList::iterator it = mTextureList.begin();it != mTextureList.end();++it)</codeline>
+<linenumber line="141"/><codeline> {</codeline>
+<linenumber line="142"/><codeline> psprite = *it;</codeline>
+<linenumber line="143"/><codeline> <highlight class="keyword">delete</highlight> psprite;</codeline>
+<linenumber line="144"/><codeline> }</codeline>
+<linenumber line="145"/><codeline> mTextureList.clear();</codeline>
+<linenumber line="146"/><codeline> mMapData.clear();</codeline>
+<linenumber line="147"/><codeline>}<highlight class="comment">// unload()</highlight></codeline>
+<linenumber line="148"/><codeline></codeline>
+<linenumber line="149"/><codeline><highlight class="comment">// CO\81EE\C!?\??I\i!?\E !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="150"/><codeline><highlight class="keywordtype">void</highlight> Background::load(<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> * <highlight class="keyword">const</highlight> pMapFileName)</codeline>
+<linenumber line="151"/><codeline>{</codeline>
+<linenumber line="152"/><codeline> unload();</codeline>
+<linenumber line="153"/><codeline> </codeline>
+<linenumber line="154"/><codeline> <highlight class="comment">// \O\!\?\e\I!?\a?I\D\A\\81P\\81\91\A\\81~</highlight></codeline>
+<linenumber line="155"/><codeline> mFileName = pMapFileName;</codeline>
+<linenumber line="156"/><codeline></codeline>
+<linenumber line="157"/><codeline> std::fstream file(pMapFileName,std::ios::in);</codeline>
+<linenumber line="158"/><codeline> </codeline>
+<linenumber line="159"/><codeline> <highlight class="keywordflow">if</highlight>(!file.is_open()){</codeline>
+<linenumber line="160"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(<highlight class="stringliteral">"File Open Error"</highlight>,__FILE__,__LINE__);</codeline>
+<linenumber line="161"/><codeline> }</codeline>
+<linenumber line="162"/><codeline></codeline>
+<linenumber line="163"/><codeline> <highlight class="keywordtype">int</highlight> num_tex,i;</codeline>
+<linenumber line="164"/><codeline> sprite::Sprite *psp;</codeline>
+<linenumber line="165"/><codeline> sprite::Info sp_info;</codeline>
+<linenumber line="166"/><codeline></codeline>
+<linenumber line="167"/><codeline> <highlight class="comment">// \A\\81P\1\A\a?IAE?s1t?s </highlight></codeline>
+<linenumber line="168"/><codeline> file >> num_tex;</codeline>
+<linenumber line="169"/><codeline> <highlight class="keywordtype">long</highlight> flags = 0;</codeline>
+<linenumber line="170"/><codeline> <highlight class="keywordflow">for</highlight>(i = 0;i < num_tex;i++)</codeline>
+<linenumber line="171"/><codeline> {</codeline>
+<linenumber line="172"/><codeline> file >> sp_info.fileName;</codeline>
+<linenumber line="173"/><codeline> file >> sp_info.cellHeight;</codeline>
+<linenumber line="174"/><codeline> file >> sp_info.cellWidth;</codeline>
+<linenumber line="175"/><codeline> file >> sp_info.centerX;</codeline>
+<linenumber line="176"/><codeline> file >> sp_info.centerY;</codeline>
+<linenumber line="177"/><codeline></codeline>
+<linenumber line="178"/><codeline> flags = file.flags();</codeline>
+<linenumber line="179"/><codeline> flags = ((flags ^ std::ios::dec) | std::ios::hex | std::ios::showbase);</codeline>
+<linenumber line="180"/><codeline> file.flags(flags); </codeline>
+<linenumber line="181"/><codeline> file >> sp_info.transparentColor;</codeline>
+<linenumber line="182"/><codeline></codeline>
+<linenumber line="183"/><codeline> flags = ((flags ^ std::ios::hex) | std::ios::dec);</codeline>
+<linenumber line="184"/><codeline></codeline>
+<linenumber line="185"/><codeline> file.flags(flags);</codeline>
+<linenumber line="186"/><codeline> sp_info.type = sprite::SPRITE2D;</codeline>
+<linenumber line="187"/><codeline></codeline>
+<linenumber line="188"/><codeline> psp = mpConsole->createSprite(&sp_info);</codeline>
+<linenumber line="189"/><codeline> </codeline>
+<linenumber line="190"/><codeline> </codeline>
+<linenumber line="191"/><codeline> <highlight class="keywordflow">if</highlight>(file.fail())</codeline>
+<linenumber line="192"/><codeline> {</codeline>
+<linenumber line="193"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(<highlight class="stringliteral">"File Read Error"</highlight>,__FILE__,__LINE__);</codeline>
+<linenumber line="194"/><codeline> };</codeline>
+<linenumber line="195"/><codeline></codeline>
+<linenumber line="196"/><codeline> mTextureList.push_back(psp);</codeline>
+<linenumber line="197"/><codeline> mTextureInfoList.push_back(sp_info);</codeline>
+<linenumber line="198"/><codeline> }</codeline>
+<linenumber line="199"/><codeline></codeline>
+<linenumber line="200"/><codeline> file >> mMapWidth >> mMapHeight;</codeline>
+<linenumber line="201"/><codeline> </codeline>
+<linenumber line="202"/><codeline> mOffsetYLimit = (float) (mMapHeight - 1) * Map::CELL_SIZE - screen::HEIGHT;</codeline>
+<linenumber line="203"/><codeline> flags = ((flags ^ std::ios::dec) | std::ios::hex);</codeline>
+<linenumber line="204"/><codeline> file.flags(flags); </codeline>
+<linenumber line="205"/><codeline> </codeline>
+<linenumber line="206"/><codeline> <highlight class="comment">//mpMap = new int[ mMapHeight * mMapWidth];</highlight></codeline>
+<linenumber line="207"/><codeline> <ref idref="namespacesf_1a0">DWORD</ref> data;</codeline>
+<linenumber line="208"/><codeline> <highlight class="keywordflow">for</highlight>(i = 0;i < mMapWidth * mMapHeight;i ++)</codeline>
+<linenumber line="209"/><codeline> {</codeline>
+<linenumber line="210"/><codeline> file >> data;</codeline>
+<linenumber line="211"/><codeline> <highlight class="keywordflow">if</highlight>(file.fail()){</codeline>
+<linenumber line="212"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(<highlight class="stringliteral">"File Read Error"</highlight>,__FILE__,__LINE__);</codeline>
+<linenumber line="213"/><codeline> }</codeline>
+<linenumber line="214"/><codeline> mMapData.push_back(data);</codeline>
+<linenumber line="215"/><codeline> }</codeline>
+<linenumber line="216"/><codeline></codeline>
+<linenumber line="217"/><codeline>}<highlight class="comment">//load()</highlight></codeline>
+<linenumber line="218"/><codeline></codeline>
+<linenumber line="219"/><codeline><highlight class="comment">// \T\A\\81~\C!?\??o2eII?EEA2e?1?e !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="220"/><codeline><highlight class="keywordtype">void</highlight> Background::draw()</codeline>
+<linenumber line="221"/><codeline>{</codeline>
+<linenumber line="222"/><codeline> <highlight class="keywordflow">if</highlight>(!visibility()) <highlight class="keywordflow">return</highlight>;</codeline>
+<linenumber line="223"/><codeline> </codeline>
+<linenumber line="224"/><codeline> <highlight class="keywordtype">int</highlight> map_offset_y = (int)(mOffsetY + startOffsetY() )/ Map::CELL_SIZE;</codeline>
+<linenumber line="225"/><codeline> <highlight class="keywordtype">float</highlight> screen_offset_y = (int)(mOffsetY + startOffsetY()) % Map::CELL_SIZE;</codeline>
+<linenumber line="226"/><codeline></codeline>
+<linenumber line="227"/><codeline> <highlight class="comment">//float sy = Map::DRAW_START_Y + screen_offset_y + map_start_offset_y1;</highlight></codeline>
+<linenumber line="228"/><codeline> <highlight class="keywordtype">float</highlight> sy = Map::DRAW_START_Y + screen_offset_y;</codeline>
+<linenumber line="229"/><codeline></codeline>
+<linenumber line="230"/><codeline> <highlight class="keywordtype">float</highlight> sx = 0.0f;</codeline>
+<linenumber line="231"/><codeline> </codeline>
+<linenumber line="232"/><codeline> <highlight class="keywordtype">float</highlight> ex = 0.0f;</codeline>
+<linenumber line="233"/><codeline> <highlight class="keywordtype">float</highlight> ey = 0.0f;</codeline>
+<linenumber line="234"/><codeline></codeline>
+<linenumber line="235"/><codeline> <highlight class="comment">// ?O?E?A?I\\81â\e\\83Ê\?\o</highlight></codeline>
+<linenumber line="236"/><codeline> <highlight class="keywordtype">float</highlight> cell_size = (float)Map::CELL_SIZE;</codeline>
+<linenumber line="237"/><codeline> </codeline>
+<linenumber line="238"/><codeline> <highlight class="keywordtype">int</highlight> data,index,spriteNo,dy;</codeline>
+<linenumber line="239"/><codeline></codeline>
+<linenumber line="240"/><codeline></codeline>
+<linenumber line="241"/><codeline> ObjRectangle *pobj = (ObjRectangle *)<highlight class="keyword">this</highlight>;</codeline>
+<linenumber line="242"/><codeline> </codeline>
+<linenumber line="243"/><codeline> </codeline>
+<linenumber line="244"/><codeline> <highlight class="keywordflow">for</highlight>(<highlight class="keywordtype">int</highlight> i = map_offset_y;i < Map::DRAW_HEIGHT + map_offset_y; i++){</codeline>
+<linenumber line="245"/><codeline> <highlight class="keywordflow">if</highlight>(i >= 0 && i < mMapHeight){</codeline>
+<linenumber line="246"/><codeline> sx = Map::DRAW_START_X + mOffsetX + startOffsetX();</codeline>
+<linenumber line="247"/><codeline> dy = i * Map::WIDTH;</codeline>
+<linenumber line="248"/><codeline></codeline>
+<linenumber line="249"/><codeline> <highlight class="keywordflow">for</highlight>(<highlight class="keywordtype">int</highlight> j = 0;j < Map::WIDTH; j++)</codeline>
+<linenumber line="250"/><codeline> {</codeline>
+<linenumber line="251"/><codeline> data = mMapData[dy + j];</codeline>
+<linenumber line="252"/><codeline> <highlight class="keywordflow">if</highlight>(data){</codeline>
+<linenumber line="253"/><codeline> --data;</codeline>
+<linenumber line="254"/><codeline> index = data & 0xf;</codeline>
+<linenumber line="255"/><codeline> spriteNo = (data & 0xffff0000) >> 16;</codeline>
+<linenumber line="256"/><codeline> </codeline>
+<linenumber line="257"/><codeline> y(sy);</codeline>
+<linenumber line="258"/><codeline> x(sx);</codeline>
+<linenumber line="259"/><codeline> </codeline>
+<linenumber line="260"/><codeline> ObjRectangle::index(index);</codeline>
+<linenumber line="261"/><codeline></codeline>
+<linenumber line="262"/><codeline> mTextureList[spriteNo]->draw(pobj);</codeline>
+<linenumber line="263"/><codeline> }</codeline>
+<linenumber line="264"/><codeline></codeline>
+<linenumber line="265"/><codeline> sx += cell_size;</codeline>
+<linenumber line="266"/><codeline></codeline>
+<linenumber line="267"/><codeline> }</codeline>
+<linenumber line="268"/><codeline> }</codeline>
+<linenumber line="269"/><codeline> sy -= cell_size;</codeline>
+<linenumber line="270"/><codeline> }</codeline>
+<linenumber line="271"/><codeline></codeline>
+<linenumber line="272"/><codeline> <highlight class="comment">// ?AoY?IE??\81N\\81N\e\\81\91?o?i?\81á?e?e?|?E?1?e???a?IE??\81N </highlight></codeline>
+<linenumber line="273"/><codeline> <highlight class="keywordflow">if</highlight>(edit()){</codeline>
+<linenumber line="274"/><codeline> <highlight class="keywordflow">if</highlight>(startOffsetY() != 0){ </codeline>
+<linenumber line="275"/><codeline> mObj[0].visibility(<highlight class="keyword">true</highlight>);</codeline>
+<linenumber line="276"/><codeline> mObj[0].vertex(0)->x = (viewport::X);</codeline>
+<linenumber line="277"/><codeline> mObj[0].vertex(1)->x = (viewport::X + viewport::WIDTH);</codeline>
+<linenumber line="278"/><codeline> mObj[0].vertex(2)->x = (viewport::X);</codeline>
+<linenumber line="279"/><codeline> mObj[0].vertex(3)->x = (viewport::X + viewport::WIDTH);</codeline>
+<linenumber line="280"/><codeline></codeline>
+<linenumber line="281"/><codeline> <highlight class="keywordflow">if</highlight>(startOffsetY() > 0){</codeline>
+<linenumber line="282"/><codeline> sy = viewport::Y;</codeline>
+<linenumber line="283"/><codeline> ey = viewport::Y + </codeline>
+<linenumber line="284"/><codeline> ((viewport::Y + startOffsetY()) < (viewport::Y + viewport::HEIGHT)) </codeline>
+<linenumber line="285"/><codeline> ? (startOffsetY() + viewport::Y) </codeline>
+<linenumber line="286"/><codeline> : (viewport::Y + viewport::HEIGHT);</codeline>
+<linenumber line="287"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="288"/><codeline> sy = (((viewport::Y + viewport::HEIGHT) + startOffsetY()) > viewport::Y) </codeline>
+<linenumber line="289"/><codeline> ? (viewport::Y + viewport::HEIGHT + startOffsetY()) : viewport::Y ;</codeline>
+<linenumber line="290"/><codeline> ey = viewport::Y + viewport::HEIGHT;</codeline>
+<linenumber line="291"/><codeline> }</codeline>
+<linenumber line="292"/><codeline></codeline>
+<linenumber line="293"/><codeline> mObj[0].vertex(0)->y = (sy);</codeline>
+<linenumber line="294"/><codeline> mObj[0].vertex(1)->y = (sy);</codeline>
+<linenumber line="295"/><codeline> mObj[0].vertex(2)->y = (ey);</codeline>
+<linenumber line="296"/><codeline> mObj[0].vertex(3)->y = (ey);</codeline>
+<linenumber line="297"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="298"/><codeline> mObj[0].visibility(<highlight class="keyword">false</highlight>);</codeline>
+<linenumber line="299"/><codeline> }</codeline>
+<linenumber line="300"/><codeline> </codeline>
+<linenumber line="301"/><codeline> <highlight class="keywordflow">if</highlight>(startOffsetX() != 0){</codeline>
+<linenumber line="302"/><codeline> mObj[1].visibility(<highlight class="keyword">true</highlight>);</codeline>
+<linenumber line="303"/><codeline> mObj[1].vertex(0)->y = (viewport::Y);</codeline>
+<linenumber line="304"/><codeline> mObj[1].vertex(1)->y = (viewport::Y);</codeline>
+<linenumber line="305"/><codeline> mObj[1].vertex(2)->y = (viewport::Y + viewport::HEIGHT);</codeline>
+<linenumber line="306"/><codeline> mObj[1].vertex(3)->y = (viewport::Y + viewport::HEIGHT);</codeline>
+<linenumber line="307"/><codeline></codeline>
+<linenumber line="308"/><codeline> <highlight class="keywordflow">if</highlight>(startOffsetX() > 0){</codeline>
+<linenumber line="309"/><codeline> sx = viewport::X;</codeline>
+<linenumber line="310"/><codeline> ex = viewport::X + </codeline>
+<linenumber line="311"/><codeline> (viewport::X + startOffsetX() < (viewport::X + viewport::WIDTH)) </codeline>
+<linenumber line="312"/><codeline> ? ( startOffsetX() + viewport::X)</codeline>
+<linenumber line="313"/><codeline> : (viewport::X + viewport::WIDTH);</codeline>
+<linenumber line="314"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="315"/><codeline> sx = (((viewport::X + viewport::WIDTH) + startOffsetX()) > viewport::X) </codeline>
+<linenumber line="316"/><codeline> ? (viewport::X + viewport::WIDTH + startOffsetX()) : viewport::X ;</codeline>
+<linenumber line="317"/><codeline> ex = viewport::X + viewport::WIDTH;</codeline>
+<linenumber line="318"/><codeline> }</codeline>
+<linenumber line="319"/><codeline></codeline>
+<linenumber line="320"/><codeline> mObj[1].vertex(0)->x = (sx);</codeline>
+<linenumber line="321"/><codeline> mObj[1].vertex(1)->x = (ex);</codeline>
+<linenumber line="322"/><codeline> mObj[1].vertex(2)->x = (sx);</codeline>
+<linenumber line="323"/><codeline> mObj[1].vertex(3)->x = (ex);</codeline>
+<linenumber line="324"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="325"/><codeline> mObj[1].visibility(<highlight class="keyword">false</highlight>);</codeline>
+<linenumber line="326"/><codeline> };</codeline>
+<linenumber line="327"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="328"/><codeline> mObj[1].visibility(<highlight class="keyword">false</highlight>);</codeline>
+<linenumber line="329"/><codeline> mObj[0].visibility(<highlight class="keyword">false</highlight>);</codeline>
+<linenumber line="330"/><codeline> }</codeline>
+<linenumber line="331"/><codeline></codeline>
+<linenumber line="332"/><codeline>}<highlight class="comment">// draw</highlight></codeline>
+<linenumber line="333"/><codeline></codeline>
+<linenumber line="334"/><codeline><highlight class="comment">// Map\C!?\??I\\81â!?\O !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="335"/><codeline><highlight class="keywordtype">bool</highlight> Background::save(<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> *pMapFileName)</codeline>
+<linenumber line="336"/><codeline>{</codeline>
+<linenumber line="337"/><codeline> <highlight class="keywordtype">char</highlight> err_savestr[] = <highlight class="stringliteral">"Background:save() Error!"</highlight>;</codeline>
+<linenumber line="338"/><codeline> <highlight class="keywordtype">int</highlight> i;</codeline>
+<linenumber line="339"/><codeline></codeline>
+<linenumber line="340"/><codeline> <highlight class="comment">// \O\!\?\e\I!?\a?\81ÊNULL?I?i1c!\81\91\i!?\E\81ât?I\O\!\?\e\I!?\a?o\81âEIN</highlight></codeline>
+<linenumber line="341"/><codeline> <highlight class="keywordflow">if</highlight>(pMapFileName == NULL){</codeline>
+<linenumber line="342"/><codeline> <highlight class="keywordflow">if</highlight>(mFileName.c_str() == NULL){</codeline>
+<linenumber line="343"/><codeline> <highlight class="keywordflow">return</highlight> <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="344"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="345"/><codeline> pMapFileName = mFileName.c_str();</codeline>
+<linenumber line="346"/><codeline> }</codeline>
+<linenumber line="347"/><codeline> }</codeline>
+<linenumber line="348"/><codeline></codeline>
+<linenumber line="349"/><codeline> std::fstream file(pMapFileName,std::ios::out);</codeline>
+<linenumber line="350"/><codeline> </codeline>
+<linenumber line="351"/><codeline> <highlight class="keywordflow">if</highlight>(!file.is_open())</codeline>
+<linenumber line="352"/><codeline> <highlight class="keywordflow">return</highlight> <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="353"/><codeline></codeline>
+<linenumber line="354"/><codeline></codeline>
+<linenumber line="355"/><codeline> sprite::Info sp_info;</codeline>
+<linenumber line="356"/><codeline></codeline>
+<linenumber line="357"/><codeline> <highlight class="comment">// \A\\81P\1\A\a?o?I?n?-1t?s </highlight></codeline>
+<linenumber line="358"/><codeline></codeline>
+<linenumber line="359"/><codeline> file << mTextureInfoList.size() << std::endl;</codeline>
+<linenumber line="360"/><codeline></codeline>
+<linenumber line="361"/><codeline> <highlight class="keywordtype">long</highlight> flags = 0;</codeline>
+<linenumber line="362"/><codeline> </codeline>
+<linenumber line="363"/><codeline> <highlight class="keywordflow">for</highlight>(TextureInfoList::iterator it = mTextureInfoList.begin();</codeline>
+<linenumber line="364"/><codeline> it != mTextureInfoList.end(); it ++)</codeline>
+<linenumber line="365"/><codeline> {</codeline>
+<linenumber line="366"/><codeline> sp_info = *it;</codeline>
+<linenumber line="367"/><codeline> </codeline>
+<linenumber line="368"/><codeline> file << sp_info.fileName << std::endl;</codeline>
+<linenumber line="369"/><codeline></codeline>
+<linenumber line="370"/><codeline> file << sp_info.cellHeight << <highlight class="stringliteral">" "</highlight>;</codeline>
+<linenumber line="371"/><codeline> file << sp_info.cellWidth << <highlight class="stringliteral">" "</highlight>;</codeline>
+<linenumber line="372"/><codeline> file << sp_info.centerX << <highlight class="stringliteral">" "</highlight>;</codeline>
+<linenumber line="373"/><codeline> file << sp_info.centerY << <highlight class="stringliteral">" "</highlight>;</codeline>
+<linenumber line="374"/><codeline></codeline>
+<linenumber line="375"/><codeline> flags = file.flags();</codeline>
+<linenumber line="376"/><codeline> flags = ((flags ^ std::ios::dec) | std::ios::hex | std::ios::showbase);</codeline>
+<linenumber line="377"/><codeline> file.flags(flags); </codeline>
+<linenumber line="378"/><codeline></codeline>
+<linenumber line="379"/><codeline> file << sp_info.transparentColor << std::endl;</codeline>
+<linenumber line="380"/><codeline></codeline>
+<linenumber line="381"/><codeline> flags = ((flags ^ std::ios::hex) | std::ios::dec);</codeline>
+<linenumber line="382"/><codeline></codeline>
+<linenumber line="383"/><codeline> file.flags(flags);</codeline>
+<linenumber line="384"/><codeline> </codeline>
+<linenumber line="385"/><codeline> <highlight class="keywordflow">if</highlight>(file.fail())</codeline>
+<linenumber line="386"/><codeline> {</codeline>
+<linenumber line="387"/><codeline> system::Factory::getInstance()->errorTerminate(err_savestr);</codeline>
+<linenumber line="388"/><codeline> };</codeline>
+<linenumber line="389"/><codeline> }</codeline>
+<linenumber line="390"/><codeline></codeline>
+<linenumber line="391"/><codeline> file << mMapWidth << <highlight class="stringliteral">" "</highlight> << mMapHeight << std::endl;</codeline>
+<linenumber line="392"/><codeline> </codeline>
+<linenumber line="393"/><codeline> flags = ((flags ^ std::ios::dec) | std::ios::hex);</codeline>
+<linenumber line="394"/><codeline> file.flags(flags); </codeline>
+<linenumber line="395"/><codeline> </codeline>
+<linenumber line="396"/><codeline> <highlight class="comment">//mpMap = new int[ mMapHeight * mMapWidth];</highlight></codeline>
+<linenumber line="397"/><codeline> <ref idref="namespacesf_1a0">DWORD</ref> data;</codeline>
+<linenumber line="398"/><codeline> <highlight class="keywordflow">for</highlight>(i = 0;i < mMapWidth * mMapHeight;i ++)</codeline>
+<linenumber line="399"/><codeline> {</codeline>
+<linenumber line="400"/><codeline> data = mMapData[i] ;</codeline>
+<linenumber line="401"/><codeline></codeline>
+<linenumber line="402"/><codeline> file << data;</codeline>
+<linenumber line="403"/><codeline> </codeline>
+<linenumber line="404"/><codeline> <highlight class="keywordflow">if</highlight>((i & 0x7) == 7) {</codeline>
+<linenumber line="405"/><codeline> file << std::endl;</codeline>
+<linenumber line="406"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="407"/><codeline> file << <highlight class="stringliteral">" "</highlight>;</codeline>
+<linenumber line="408"/><codeline> }</codeline>
+<linenumber line="409"/><codeline> </codeline>
+<linenumber line="410"/><codeline> <highlight class="keywordflow">if</highlight>(file.fail()){</codeline>
+<linenumber line="411"/><codeline> system::Factory::getInstance()->errorTerminate(err_savestr);</codeline>
+<linenumber line="412"/><codeline> <highlight class="keywordflow">return</highlight> <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="413"/><codeline> }</codeline>
+<linenumber line="414"/><codeline> }</codeline>
+<linenumber line="415"/><codeline> <highlight class="keywordflow">return</highlight> <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="416"/><codeline>}</codeline>
+<linenumber line="417"/><codeline></codeline>
+<linenumber line="418"/><codeline><highlight class="comment">// Map\C!?\??o\\81â\A\E !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="419"/><codeline><highlight class="keywordtype">void</highlight> Background::setData(<highlight class="keywordtype">float</highlight> screenX, <highlight class="keywordtype">float</highlight> screenY, <ref idref="namespacesf_1a0">DWORD</ref> value)</codeline>
+<linenumber line="420"/><codeline>{</codeline>
+<linenumber line="421"/><codeline> <highlight class="keywordtype">int</highlight> y = (int)(viewport::HEIGHT - screenY + mOffsetY) / Map::CELL_SIZE;</codeline>
+<linenumber line="422"/><codeline> <highlight class="keywordtype">int</highlight> x = (int)(screenX + mOffsetX - Map::DRAW_START_X + Map::CELL_SIZE / 2) / Map::CELL_SIZE;</codeline>
+<linenumber line="423"/><codeline> mMapData[x + y * Map::WIDTH] = value;</codeline>
+<linenumber line="424"/><codeline>}</codeline>
+<linenumber line="425"/><codeline></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/BackGround.cpp"/>
+ </compounddef>
+ <compounddef id="BackGround_8h" kind="file">
+ <compoundname>BackGround.h</compoundname>
+ <includes id="sf_8h" local="yes">sf.h</includes>
+ <includedby id="BackGround_8cpp" local="yes">BackGround.cpp</includedby>
+ <incdepgraph>
+ <node id="187">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="186">
+ <label>BackGround.h</label>
+ <link id="BackGround.h"/>
+ <childnode id="187" relation="public-inheritance">
+ </childnode>
+ </node>
+ </incdepgraph>
+ <invincdepgraph>
+ <node id="189">
+ <label>BackGround.cpp</label>
+ <link id="BackGround_8cpp-source"/>
+ </node>
+ <node id="188">
+ <label>BackGround.h</label>
+ <link id="BackGround.h"/>
+ <childnode id="189" relation="public-inheritance">
+ </childnode>
+ </node>
+ </invincdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1console">sf::system::console</innernamespace>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="BackGround_8h_1a0" virt="normal" prot="public">
+ <name>AFX_Background_H__78BD459C_E52C_4BE9_B8DB_8A6DDAFE1E52__INCLUDED_</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/BackGround.h" line="27" bodystart="27" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// Background.h: Background \\81P\e\1?I\?\o\?!?\O\\81\98\?\1</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// IuIo!\81\98</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// $Log: BackGround.h,v $</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">// Revision 1.3 2001/11/06 21:27:42 fujiwara</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">// AcEy11?\81EA\81\8b\D\A\\81P\\81\91\A\\81~</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">// Revision 1.2 2001/10/28 21:35:56 fujiwara</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:35 fujiwara</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">// Revision 1.2 2001/07/09 20:30:08 fujiwara</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment">// Revision 1.1 2001/05/12 01:10:11 fujiwara</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="preprocessor">#if !defined(AFX_Background_H__78BD459C_E52C_4BE9_B8DB_8A6DDAFE1E52__INCLUDED_)</highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define AFX_Background_H__78BD459C_E52C_4BE9_B8DB_8A6DDAFE1E52__INCLUDED_</highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="preprocessor">#if _MSC_VER > 1000</highlight></codeline>
+<linenumber line="30"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#pragma once</highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif // _MSC_VER > 1000</highlight></codeline>
+<linenumber line="32"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include "sf.h"</highlight></codeline>
+<linenumber line="33"/><codeline><highlight class="keyword">extern</highlight> <highlight class="stringliteral">"C"</highlight> {</codeline>
+<linenumber line="34"/><codeline><highlight class="keyword">namespace </highlight>sf {</codeline>
+<linenumber line="35"/><codeline> <highlight class="keyword">namespace </highlight>system {</codeline>
+<linenumber line="36"/><codeline> <highlight class="keyword">namespace </highlight>console {</codeline>
+<linenumber line="37"/><codeline></codeline>
+<linenumber line="38"/><codeline></codeline>
+<linenumber line="39"/><codeline></codeline>
+<linenumber line="40"/><codeline><highlight class="keyword">class </highlight>Background : <highlight class="keyword">public</highlight> ObjRectangle </codeline>
+<linenumber line="41"/><codeline>{</codeline>
+<linenumber line="42"/><codeline><highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="43"/><codeline> <highlight class="keyword">typedef</highlight> std::vector<sprite::Sprite *> TextureList;</codeline>
+<linenumber line="44"/><codeline> <highlight class="keyword">typedef</highlight> std::vector<sprite::Info> TextureInfoList;</codeline>
+<linenumber line="45"/><codeline> <highlight class="keyword">typedef</highlight> std::vector<int> MapData;</codeline>
+<linenumber line="46"/><codeline></codeline>
+<linenumber line="47"/><codeline> Background();</codeline>
+<linenumber line="48"/><codeline> <highlight class="keyword">virtual</highlight> ~Background();</codeline>
+<linenumber line="49"/><codeline> <highlight class="comment">// CO\81EEEA2e </highlight></codeline>
+<linenumber line="50"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> draw();</codeline>
+<linenumber line="51"/><codeline> <highlight class="comment">// ACCESS //</highlight></codeline>
+<linenumber line="52"/><codeline></codeline>
+<linenumber line="53"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> offsetX()<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mOffsetX;};</codeline>
+<linenumber line="54"/><codeline> <highlight class="keywordtype">void</highlight> offsetX(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value){mOffsetX = value;};</codeline>
+<linenumber line="55"/><codeline> </codeline>
+<linenumber line="56"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> offsetY()<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mOffsetY;};</codeline>
+<linenumber line="57"/><codeline> <highlight class="keywordtype">void</highlight> offsetY(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value)</codeline>
+<linenumber line="58"/><codeline> {</codeline>
+<linenumber line="59"/><codeline> <highlight class="keywordflow">if</highlight>(value < mOffsetYLimit) mOffsetY = value ;<highlight class="keywordflow">else</highlight> mOffsetY = mOffsetYLimit;</codeline>
+<linenumber line="60"/><codeline> <highlight class="keywordflow">if</highlight>(mOffsetY < 0.0f) mOffsetY = 0.0f;};</codeline>
+<linenumber line="61"/><codeline> </codeline>
+<linenumber line="62"/><codeline> unload();</codeline>
+<linenumber line="63"/><codeline> <highlight class="keywordtype">void</highlight> load(<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> * <highlight class="keyword">const</highlight> pMapFileName);</codeline>
+<linenumber line="64"/><codeline></codeline>
+<linenumber line="65"/><codeline> <highlight class="comment">// EditorIN //</highlight></codeline>
+<linenumber line="66"/><codeline> <highlight class="keywordtype">void</highlight> setData(<highlight class="keywordtype">float</highlight> screenX,<highlight class="keywordtype">float</highlight> screenY,<ref idref="namespacesf_1a0">DWORD</ref> value);</codeline>
+<linenumber line="67"/><codeline> <highlight class="keywordtype">bool</highlight> save(<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> *pFileName);</codeline>
+<linenumber line="68"/><codeline> </codeline>
+<linenumber line="69"/><codeline> TextureList* textureList(<highlight class="keywordtype">void</highlight>){ <highlight class="keywordflow">return</highlight> &mTextureList;};</codeline>
+<linenumber line="70"/><codeline></codeline>
+<linenumber line="71"/><codeline> <highlight class="keyword">class </highlight>SFDLL Map {</codeline>
+<linenumber line="72"/><codeline> <highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="73"/><codeline> <highlight class="keyword">static</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> WIDTH;</codeline>
+<linenumber line="74"/><codeline> <highlight class="keyword">static</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> HEIGHT_MAX;</codeline>
+<linenumber line="75"/><codeline> <highlight class="keyword">static</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> CELL_SIZE;</codeline>
+<linenumber line="76"/><codeline> <highlight class="keyword">static</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> CELL_TEX_COUNT_W;</codeline>
+<linenumber line="77"/><codeline> <highlight class="keyword">static</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> CELL_TEX_COUNT_H;</codeline>
+<linenumber line="78"/><codeline></codeline>
+<linenumber line="79"/><codeline> <highlight class="keyword">static</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> DRAW_HEIGHT;</codeline>
+<linenumber line="80"/><codeline> <highlight class="keyword">static</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> DRAW_START_X;</codeline>
+<linenumber line="81"/><codeline> <highlight class="keyword">static</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> DRAW_START_Y;</codeline>
+<linenumber line="82"/><codeline> <highlight class="keyword">static</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> DRAW_CENTER_Y;</codeline>
+<linenumber line="83"/><codeline> };</codeline>
+<linenumber line="84"/><codeline> </codeline>
+<linenumber line="85"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> startOffsetX(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mbEdit ? mStartOffsetX : 0.0f;};</codeline>
+<linenumber line="86"/><codeline> <highlight class="keywordtype">void</highlight> startOffsetX(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value){mStartOffsetX = value;};</codeline>
+<linenumber line="87"/><codeline> </codeline>
+<linenumber line="88"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> startOffsetY(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mbEdit ? mStartOffsetY : 0.0f;};</codeline>
+<linenumber line="89"/><codeline> <highlight class="keywordtype">void</highlight> startOffsetY(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value){mStartOffsetY = value;};</codeline>
+<linenumber line="90"/><codeline> </codeline>
+<linenumber line="91"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> edit(<highlight class="keywordtype">void</highlight>) <highlight class="keyword">const</highlight> {<highlight class="keywordflow">return</highlight> mbEdit;};</codeline>
+<linenumber line="92"/><codeline> <highlight class="keywordtype">void</highlight> edit(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> value){mbEdit = value;};</codeline>
+<linenumber line="93"/><codeline></codeline>
+<linenumber line="94"/><codeline><highlight class="keyword">private</highlight>:</codeline>
+<linenumber line="95"/><codeline> <highlight class="keywordtype">int</highlight> mMapWidth,mMapHeight;</codeline>
+<linenumber line="96"/><codeline> <highlight class="keywordtype">float</highlight> mOffsetYLimit;</codeline>
+<linenumber line="97"/><codeline> <highlight class="keywordtype">float</highlight> mOffsetX,mOffsetY;</codeline>
+<linenumber line="98"/><codeline> </codeline>
+<linenumber line="99"/><codeline> <highlight class="keywordtype">float</highlight> mStartOffsetX,mStartOffsetY;</codeline>
+<linenumber line="100"/><codeline> <highlight class="keywordtype">bool</highlight> mbEdit;</codeline>
+<linenumber line="101"/><codeline> <highlight class="keywordtype">int</highlight> *mpMap;</codeline>
+<linenumber line="102"/><codeline> MapData mMapData;</codeline>
+<linenumber line="103"/><codeline> TextureList mTextureList;</codeline>
+<linenumber line="104"/><codeline> TextureInfoList mTextureInfoList;</codeline>
+<linenumber line="105"/><codeline> Console *mpConsole;</codeline>
+<linenumber line="106"/><codeline> std::string mFileName;</codeline>
+<linenumber line="107"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite">sf::system::console::sprite::Sprite</ref> * mpBlankSprite;</codeline>
+<linenumber line="108"/><codeline> sf::system::console::ObjQuadrangle mObj[2];</codeline>
+<linenumber line="109"/><codeline> <highlight class="keyword">static</highlight> <highlight class="keyword">const</highlight> <ref idref="structsf_1_1system_1_1console_1_1sprite_1_1Info">sf::system::console::sprite::Info</ref> Background::msBlankSpriteInfo; </codeline>
+<linenumber line="110"/><codeline>};</codeline>
+<linenumber line="111"/><codeline> }</codeline>
+<linenumber line="112"/><codeline> }</codeline>
+<linenumber line="113"/><codeline>}</codeline>
+<linenumber line="114"/><codeline>}</codeline>
+<linenumber line="115"/><codeline><highlight class="preprocessor">#endif // !defined(AFX_Background_H__78BD459C_E52C_4BE9_B8DB_8A6DDAFE1E52__INCLUDED_)</highlight></codeline>
+<linenumber line="116"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/BackGround.h"/>
+ </compounddef>
+ <compounddef id="Console_8cpp" kind="file">
+ <compoundname>Console.cpp</compoundname>
+ <includes local="no">string</includes>
+ <includes local="yes">system.h</includes>
+ <includes id="Console_8h" local="yes">Console.h</includes>
+ <includes local="yes">stdio.h</includes>
+ <incdepgraph>
+ <node id="191">
+ <label>string</label>
+ </node>
+ <node id="190">
+ <label>Console.cpp</label>
+ <link id="Console.cpp"/>
+ <childnode id="191" relation="public-inheritance">
+ </childnode>
+ <childnode id="192" relation="public-inheritance">
+ </childnode>
+ <childnode id="193" relation="public-inheritance">
+ </childnode>
+ <childnode id="196" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="195">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="193">
+ <label>Console.h</label>
+ <link id="Console_8h"/>
+ <childnode id="194" relation="public-inheritance">
+ </childnode>
+ <childnode id="195" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="192">
+ <label>system.h</label>
+ </node>
+ <node id="196">
+ <label>stdio.h</label>
+ </node>
+ <node id="194">
+ <label>memory</label>
+ </node>
+ </incdepgraph>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// Console Ae?Y\\81P\e\1</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// !!2eII?IAe?Y\\81P\e\1</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// IuIo:</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// $Log: Console.cpp,v $</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:35 fujiwara</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:48:13 fujiwara</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// 2001/01/29 \a\a\e!?\e!?\\81P\81C!?DIN\e\?\O\e\e?IAE2A </highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">// \a\a\e!?\e!?\\81P\81C!?DIN</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#ifndef _BORLAND</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define _CRTDBG_MAP_ALLOC</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include <stdlib.h></highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="preprocessor">#include <crtdbg.h></highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include <string></highlight></codeline>
+<linenumber line="28"/><codeline></codeline>
+<linenumber line="29"/><codeline><highlight class="preprocessor">#include "system.h"</highlight></codeline>
+<linenumber line="30"/><codeline><highlight class="preprocessor">#include "<ref idref="Console_8h">Console.h</ref>"</highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="preprocessor">#include "stdio.h"</highlight></codeline>
+<linenumber line="32"/><codeline></codeline>
+<linenumber line="33"/><codeline></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/Console.cpp"/>
+ </compounddef>
+ <compounddef id="Console_8h" kind="file">
+ <compoundname>Console.h</compoundname>
+ <includes local="no">memory</includes>
+ <includes id="sf_8h" local="yes">sf.h</includes>
+ <includedby id="AbstractSprite_8h" local="yes">AbstractSprite.h</includedby>
+ <includedby id="ConsoleImpl_8h" local="yes">ConsoleImpl.h</includedby>
+ <includedby id="Console_8cpp" local="yes">Console.cpp</includedby>
+ <includedby id="Sprite2D_8h" local="yes">Sprite2D.h</includedby>
+ <includedby id="InputImpl_8cpp" local="yes">InputImpl.cpp</includedby>
+ <includedby id="sfglib_8cpp" local="yes">sfglib.cpp</includedby>
+ <includedby id="SoundImpl_8cpp" local="yes">SoundImpl.cpp</includedby>
+ <includedby id="System_8cpp" local="yes">System.cpp</includedby>
+ <includedby id="SystemImpl_8cpp" local="yes">SystemImpl.cpp</includedby>
+ <incdepgraph>
+ <node id="200">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="198">
+ <label>Console.h</label>
+ <link id="Console.h"/>
+ <childnode id="199" relation="public-inheritance">
+ </childnode>
+ <childnode id="200" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="199">
+ <label>memory</label>
+ </node>
+ </incdepgraph>
+ <invincdepgraph>
+ <node id="210">
+ <label>sfglib.cpp</label>
+ <link id="sfglib_8cpp-source"/>
+ </node>
+ <node id="217">
+ <label>SoundImpl.cpp</label>
+ <link id="SoundImpl_8cpp-source"/>
+ </node>
+ <node id="211">
+ <label>Sprite2D.cpp</label>
+ <link id="Sprite2D_8cpp-source"/>
+ </node>
+ <node id="213">
+ <label>SystemImpl.cpp</label>
+ <link id="SystemImpl_8cpp-source"/>
+ </node>
+ <node id="214">
+ <label>ConsoleImpl.h</label>
+ <link id="ConsoleImpl_8h"/>
+ <childnode id="203" relation="public-inheritance">
+ </childnode>
+ <childnode id="204" relation="public-inheritance">
+ </childnode>
+ <childnode id="209" relation="public-inheritance">
+ </childnode>
+ <childnode id="210" relation="public-inheritance">
+ </childnode>
+ <childnode id="211" relation="public-inheritance">
+ </childnode>
+ <childnode id="206" relation="public-inheritance">
+ </childnode>
+ <childnode id="212" relation="public-inheritance">
+ </childnode>
+ <childnode id="213" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="209">
+ <label>InputImpl.cpp</label>
+ <link id="InputImpl_8cpp-source"/>
+ </node>
+ <node id="215">
+ <label>Console.cpp</label>
+ <link id="Console_8cpp-source"/>
+ </node>
+ <node id="202">
+ <label>AbstractSprite.h</label>
+ <link id="AbstractSprite_8h-source"/>
+ <childnode id="203" relation="public-inheritance">
+ </childnode>
+ <childnode id="204" relation="public-inheritance">
+ </childnode>
+ <childnode id="205" relation="public-inheritance">
+ </childnode>
+ <childnode id="207" relation="public-inheritance">
+ </childnode>
+ <childnode id="209" relation="public-inheritance">
+ </childnode>
+ <childnode id="210" relation="public-inheritance">
+ </childnode>
+ <childnode id="211" relation="public-inheritance">
+ </childnode>
+ <childnode id="206" relation="public-inheritance">
+ </childnode>
+ <childnode id="208" relation="public-inheritance">
+ </childnode>
+ <childnode id="212" relation="public-inheritance">
+ </childnode>
+ <childnode id="213" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="207">
+ <label>SpriteMesh.h</label>
+ <link id="SpriteMesh_8h-source"/>
+ <childnode id="204" relation="public-inheritance">
+ </childnode>
+ <childnode id="208" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="204">
+ <label>ConsoleImpl.cpp</label>
+ <link id="ConsoleImpl_8cpp-source"/>
+ </node>
+ <node id="208">
+ <label>SpriteMesh.cpp</label>
+ <link id="SpriteMesh_8cpp-source"/>
+ </node>
+ <node id="201">
+ <label>Console.h</label>
+ <link id="Console.h"/>
+ <childnode id="202" relation="public-inheritance">
+ </childnode>
+ <childnode id="214" relation="public-inheritance">
+ </childnode>
+ <childnode id="215" relation="public-inheritance">
+ </childnode>
+ <childnode id="216" relation="public-inheritance">
+ </childnode>
+ <childnode id="209" relation="public-inheritance">
+ </childnode>
+ <childnode id="210" relation="public-inheritance">
+ </childnode>
+ <childnode id="217" relation="public-inheritance">
+ </childnode>
+ <childnode id="212" relation="public-inheritance">
+ </childnode>
+ <childnode id="213" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="212">
+ <label>System.cpp</label>
+ <link id="System_8cpp-source"/>
+ </node>
+ <node id="205">
+ <label>Sprite3D.h</label>
+ <link id="Sprite3D_8h-source"/>
+ <childnode id="204" relation="public-inheritance">
+ </childnode>
+ <childnode id="206" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="216">
+ <label>Sprite2D.h</label>
+ <link id="Sprite2D_8h-source"/>
+ <childnode id="204" relation="public-inheritance">
+ </childnode>
+ <childnode id="211" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="203">
+ <label>AbstractSprite.cpp</label>
+ <link id="AbstractSprite_8cpp-source"/>
+ </node>
+ <node id="206">
+ <label>Sprite3D.cpp</label>
+ <link id="Sprite3D_8cpp-source"/>
+ </node>
+ </invincdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1console">sf::system::console</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1console_1_1font">sf::system::console::font</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1console_1_1screen">sf::system::console::screen</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1console_1_1sprite">sf::system::console::sprite</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1console_1_1text">sf::system::console::text</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1console_1_1viewport">sf::system::console::viewport</innernamespace>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="Console_8h_1a0" virt="normal" prot="public">
+ <name>AFX_IConsole_H__DB7BCF98_4A51_43E3_B919_9A26C58E6A90__INCLUDED_</name>
+ <briefdescription>
+<para>
+Ao?A\?\o\\81P\e!?\EEE\81âs\T\\81P\i. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="17" bodystart="17" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="define" id="Console_8h_1a1" virt="normal" prot="public">
+ <name>COLOR</name>
+ <param><defname>a</defname></param>
+ <param><defname>r</defname></param>
+ <param><defname>g</defname></param>
+ <param><defname>b</defname></param>
+ <initializer>((COLOR)((((a) & 0xff) << 24 )) | (((r) & 0xff) << 16) | (((g) & 0xff) << 8) | ((b) & 0xff)))</initializer>
+ <briefdescription>
+<para>
+R,G,B,A?I3A?\81\98?\81á?e!\81\9132bit?IAI?oAA?e Red,Green,Blue,Alpha?I3A?\81\98ARE\81Ê(8bit)?o?a?E?E!\81\9132bit?IlongAI?oA\81CAR?\81E?T?1. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>a</parametername><parameterdescription><para>
+ALPHAARE\81Ê </para>
+</parameterdescription><parametername>r</parametername><parameterdescription><para>
+REDARE\81Ê </para>
+</parameterdescription><parametername>g</parametername><parameterdescription><para>
+GREENARE\81Ê </para>
+</parameterdescription><parametername>b</parametername><parameterdescription><para>
+BLUEARE\81Ê </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Console.h" line="42" bodystart="42" bodyend="-1"/>
+ <referencedby id="Console_8h_1a1">sf::system::console::Color::Color</referencedby>
+ <referencedby id="Console_8h_1a2">sf::system::console::Color::value</referencedby>
+ <referencedby id="Console_8h_1a0">sf::system::console::Console::~Console</referencedby>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+2eIIEA2e!E\1\\81~\e\?\E!|CO\81EE2eAu!E?I\?\o\?!?\O\\81\98!?\1!|Ae?oAe\83ÊA?o1O?|. 2eII\81LOI\81\91?IAe?oAe\83ÊA ?AoY?I?eIy?I!\81\91OS\81\8bIA\81C?I\81÷n?Y\\81P\e\1?EC??\81â?T?1!\81\92 2000/02/18 ?\81~?e!??o?\83Ê?o?I\e\?\O\e\e?o\81â21I?E\81\923\81\92AEoE\81Ê?oAE2A. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="author"><title>oi?O: </title><para>
+S.F. </para>
+</simplesect><simplesect kind="version"><title>\D!?\\81C\c\o: </title><para>
+$Id:</para>
+</simplesect><para>
+Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved. </para>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline></codeline>
+<linenumber line="15"/><codeline></codeline>
+<linenumber line="16"/><codeline><highlight class="preprocessor">#if !defined(AFX_IConsole_H__DB7BCF98_4A51_43E3_B919_9A26C58E6A90__INCLUDED_)</highlight></codeline>
+<linenumber line="17" refid="Console_8h_1a0"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define AFX_IConsole_H__DB7BCF98_4A51_43E3_B919_9A26C58E6A90__INCLUDED_</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="preprocessor">#if _MSC_VER > 1000</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#pragma once</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif // _MSC_VER > 1000</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include <memory></highlight></codeline>
+<linenumber line="23"/><codeline></codeline>
+<linenumber line="24"/><codeline><highlight class="preprocessor">#include "sf.h"</highlight></codeline>
+<linenumber line="25"/><codeline></codeline>
+<linenumber line="26"/><codeline><highlight class="comment">// \O\a!?\Y!?\E /////</highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="keyword">extern</highlight> <highlight class="stringliteral">"C"</highlight> {</codeline>
+<linenumber line="28"/><codeline></codeline>
+<linenumber line="29"/><codeline><highlight class="keyword">namespace </highlight>sf{</codeline>
+<linenumber line="30"/><codeline> <highlight class="keyword">namespace </highlight>system {</codeline>
+<linenumber line="32"/><codeline></codeline>
+<linenumber line="33"/><codeline> <highlight class="keyword">namespace </highlight>console {</codeline>
+<linenumber line="35"/><codeline> <highlight class="keyword">typedef</highlight> <highlight class="keywordtype">unsigned</highlight> <highlight class="keywordtype">long</highlight> <ref idref="Console_8h_1a1">COLOR</ref>;</codeline>
+<linenumber line="42" refid="Console_8h_1a1"/><codeline><highlight class="preprocessor">#define COLOR(a,r,g,b) ((COLOR)((((a) & 0xff) << 24 )) | (((r) & 0xff) << 16) | (((g) & 0xff) << 8) | ((b) & 0xff)))</highlight></codeline>
+<linenumber line="43"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="47" refid="classsf_1_1system_1_1console_1_1Color_1"/><codeline> <highlight class="keyword">class </highlight>Color {</codeline>
+<linenumber line="48"/><codeline> <highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="49"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1Color_1a1">Color</ref>() { <ref idref="classsf_1_1system_1_1console_1_1Color_1o6">mColor</ref>.value32 = 0;};</codeline>
+<linenumber line="52" refid="classsf_1_1system_1_1console_1_1Color_1a1"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1Color_1a1">Color</ref>(<ref idref="Console_8h_1a1">COLOR</ref> color){<ref idref="classsf_1_1system_1_1console_1_1Color_1o6">mColor</ref>.value32 = color;};</codeline>
+<linenumber line="55" refid="classsf_1_1system_1_1console_1_1Color_1a2"/><codeline> <ref idref="Console_8h_1a1">COLOR</ref> <ref idref="classsf_1_1system_1_1console_1_1Color_1a2">value</ref>(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1console_1_1Color_1o6">mColor</ref>.value32;};</codeline>
+<linenumber line="58" refid="classsf_1_1system_1_1console_1_1Color_1a3"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1Color_1a2">value</ref>(<ref idref="Console_8h_1a1">COLOR</ref> color){<ref idref="classsf_1_1system_1_1console_1_1Color_1o6">mColor</ref>.value32 = color;};</codeline>
+<linenumber line="59"/><codeline></codeline>
+<linenumber line="62" refid="classsf_1_1system_1_1console_1_1Color_1a4"/><codeline> <highlight class="keywordtype">unsigned</highlight> <highlight class="keywordtype">char</highlight> <ref idref="classsf_1_1system_1_1console_1_1Color_1a4">red</ref>(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1console_1_1Color_1o6">mColor</ref>.value.red;};</codeline>
+<linenumber line="65" refid="classsf_1_1system_1_1console_1_1Color_1a5"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1Color_1a4">red</ref>(<highlight class="keywordtype">unsigned</highlight> <highlight class="keywordtype">char</highlight> <ref idref="classsf_1_1system_1_1console_1_1Color_1o5">value</ref>) { <ref idref="classsf_1_1system_1_1console_1_1Color_1o6">mColor</ref>.value.red = <ref idref="classsf_1_1system_1_1console_1_1Color_1o5">value</ref>;};</codeline>
+<linenumber line="66"/><codeline></codeline>
+<linenumber line="69" refid="classsf_1_1system_1_1console_1_1Color_1a6"/><codeline> <highlight class="keywordtype">unsigned</highlight> <highlight class="keywordtype">char</highlight> <ref idref="classsf_1_1system_1_1console_1_1Color_1a6">blue</ref>(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1console_1_1Color_1o6">mColor</ref>.value.blue;};</codeline>
+<linenumber line="72" refid="classsf_1_1system_1_1console_1_1Color_1a7"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1Color_1a6">blue</ref>(<highlight class="keywordtype">unsigned</highlight> <highlight class="keywordtype">char</highlight> <ref idref="classsf_1_1system_1_1console_1_1Color_1o5">value</ref>) { <ref idref="classsf_1_1system_1_1console_1_1Color_1o6">mColor</ref>.value.blue = <ref idref="classsf_1_1system_1_1console_1_1Color_1o5">value</ref>;};</codeline>
+<linenumber line="73"/><codeline> </codeline>
+<linenumber line="76" refid="classsf_1_1system_1_1console_1_1Color_1a8"/><codeline> <highlight class="keywordtype">unsigned</highlight> <highlight class="keywordtype">char</highlight> <ref idref="classsf_1_1system_1_1console_1_1Color_1a8">green</ref>(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1console_1_1Color_1o6">mColor</ref>.value.green;};</codeline>
+<linenumber line="79" refid="classsf_1_1system_1_1console_1_1Color_1a9"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1Color_1a8">green</ref>(<highlight class="keywordtype">unsigned</highlight> <highlight class="keywordtype">char</highlight> <ref idref="classsf_1_1system_1_1console_1_1Color_1o5">value</ref>){<ref idref="classsf_1_1system_1_1console_1_1Color_1o6">mColor</ref>.value.green = <ref idref="classsf_1_1system_1_1console_1_1Color_1o5">value</ref>;};</codeline>
+<linenumber line="80"/><codeline> </codeline>
+<linenumber line="83" refid="classsf_1_1system_1_1console_1_1Color_1a10"/><codeline> <highlight class="keywordtype">unsigned</highlight> <highlight class="keywordtype">char</highlight> <ref idref="classsf_1_1system_1_1console_1_1Color_1a10">alpha</ref>(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1console_1_1Color_1o6">mColor</ref>.value.alpha;};</codeline>
+<linenumber line="86" refid="classsf_1_1system_1_1console_1_1Color_1a11"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1Color_1a10">alpha</ref>(<highlight class="keywordtype">unsigned</highlight> <highlight class="keywordtype">char</highlight> <ref idref="classsf_1_1system_1_1console_1_1Color_1o5">value</ref>){<ref idref="classsf_1_1system_1_1console_1_1Color_1o6">mColor</ref>.value.alpha = <ref idref="classsf_1_1system_1_1console_1_1Color_1o5">value</ref>;};</codeline>
+<linenumber line="87"/><codeline></codeline>
+<linenumber line="88"/><codeline> <highlight class="keyword">private</highlight>:</codeline>
+<linenumber line="90"/><codeline> <highlight class="keyword">union </highlight>{</codeline>
+<linenumber line="91" refid="classsf_1_1system_1_1console_1_1Color_1o0"/><codeline> <ref idref="Console_8h_1a1">COLOR</ref> <ref idref="classsf_1_1system_1_1console_1_1Color_1o0">value32</ref>;</codeline>
+<linenumber line="92"/><codeline></codeline>
+<linenumber line="93"/><codeline> <highlight class="keyword">struct </highlight>{</codeline>
+<linenumber line="94" refid="classsf_1_1system_1_1console_1_1Color_1o1"/><codeline> <highlight class="keywordtype">unsigned</highlight> <highlight class="keywordtype">char</highlight> <ref idref="classsf_1_1system_1_1console_1_1Color_1o1">blue</ref> : 8;</codeline>
+<linenumber line="95" refid="classsf_1_1system_1_1console_1_1Color_1o2"/><codeline> <highlight class="keywordtype">unsigned</highlight> <highlight class="keywordtype">char</highlight> <ref idref="classsf_1_1system_1_1console_1_1Color_1o2">green</ref> : 8;</codeline>
+<linenumber line="96" refid="classsf_1_1system_1_1console_1_1Color_1o3"/><codeline> <highlight class="keywordtype">unsigned</highlight> <highlight class="keywordtype">char</highlight> <ref idref="classsf_1_1system_1_1console_1_1Color_1o3">red</ref> : 8;</codeline>
+<linenumber line="97" refid="classsf_1_1system_1_1console_1_1Color_1o4"/><codeline> <highlight class="keywordtype">unsigned</highlight> <highlight class="keywordtype">char</highlight> <ref idref="classsf_1_1system_1_1console_1_1Color_1o4">alpha</ref> : 8;</codeline>
+<linenumber line="98"/><codeline> } <ref idref="classsf_1_1system_1_1console_1_1Color_1o5">value</ref>;</codeline>
+<linenumber line="99"/><codeline> </codeline>
+<linenumber line="100"/><codeline> } <ref idref="classsf_1_1system_1_1console_1_1Color_1o6">mColor</ref>;</codeline>
+<linenumber line="101"/><codeline> };</codeline>
+<linenumber line="102"/><codeline></codeline>
+<linenumber line="104" refid="namespacesf_1_1system_1_1console_1_1screen_1"/><codeline> <highlight class="keyword">namespace </highlight>screen {</codeline>
+<linenumber line="105"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="namespacesf_1_1system_1_1console_1_1screen_1a0">WIDTH</ref> = 640;</codeline>
+<linenumber line="106"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="namespacesf_1_1system_1_1console_1_1screen_1a1">HEIGHT</ref> = 480;</codeline>
+<linenumber line="107"/><codeline> };</codeline>
+<linenumber line="108"/><codeline> </codeline>
+<linenumber line="110" refid="namespacesf_1_1system_1_1console_1_1viewport_1"/><codeline> <highlight class="keyword">namespace </highlight>viewport {</codeline>
+<linenumber line="111"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="namespacesf_1_1system_1_1console_1_1viewport_1a0">X</ref> = 120; </codeline>
+<linenumber line="112"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="namespacesf_1_1system_1_1console_1_1viewport_1a1">Y</ref> = 0; </codeline>
+<linenumber line="113"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> <ref idref="namespacesf_1_1system_1_1console_1_1viewport_1a2">Z_MIN</ref> = 0.0f;</codeline>
+<linenumber line="114"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> <ref idref="namespacesf_1_1system_1_1console_1_1viewport_1a3">Z_MAX</ref> = 1.0f;</codeline>
+<linenumber line="115"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="namespacesf_1_1system_1_1console_1_1screen_1a0">WIDTH</ref> = 400;</codeline>
+<linenumber line="116"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="namespacesf_1_1system_1_1console_1_1screen_1a1">HEIGHT</ref> = 480;</codeline>
+<linenumber line="117"/><codeline> };</codeline>
+<linenumber line="118"/><codeline> </codeline>
+<linenumber line="119"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="namespacesf_1_1system_1_1console_1a1">TEXTURE_COUNT_MIN</ref> = 0;</codeline>
+<linenumber line="120"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="namespacesf_1_1system_1_1console_1a2">TEXTURE_COUNT_MAX</ref> = 1024;</codeline>
+<linenumber line="121"/><codeline></codeline>
+<linenumber line="122"/><codeline> <highlight class="comment">// \1\\81~\e\?\E</highlight></codeline>
+<linenumber line="123"/><codeline></codeline>
+<linenumber line="124"/><codeline> <highlight class="keyword">class </highlight>ObjQuadrangle;</codeline>
+<linenumber line="125"/><codeline> <highlight class="keyword">class </highlight>ObjRectangle;</codeline>
+<linenumber line="126"/><codeline> <highlight class="keyword">class </highlight>Obj3DL;</codeline>
+<linenumber line="127"/><codeline></codeline>
+<linenumber line="128"/><codeline></codeline>
+<linenumber line="130"/><codeline> <highlight class="keyword">namespace </highlight>sprite {</codeline>
+<linenumber line="131"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="namespacesf_1_1system_1_1console_1_1sprite_1a0">MIN</ref> = 0; </codeline>
+<linenumber line="132"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="namespacesf_1_1system_1_1console_1_1sprite_1a1">MAX</ref> = 1024; </codeline>
+<linenumber line="133"/><codeline> </codeline>
+<linenumber line="135"/><codeline> <highlight class="keyword">enum</highlight> <ref idref="namespacesf_1_1system_1_1console_1_1sprite_1a6">TYPE</ref></codeline>
+<linenumber line="136"/><codeline> {</codeline>
+<linenumber line="137"/><codeline> <ref idref="namespacesf_1_1system_1_1console_1_1sprite_1a6a3">SPRITE2D</ref>,</codeline>
+<linenumber line="138"/><codeline> <ref idref="namespacesf_1_1system_1_1console_1_1sprite_1a6a4">SPRITE3D</ref>,</codeline>
+<linenumber line="139"/><codeline> <ref idref="namespacesf_1_1system_1_1console_1_1sprite_1a6a5">MESH</ref> </codeline>
+<linenumber line="140"/><codeline> };</codeline>
+<linenumber line="141"/><codeline></codeline>
+<linenumber line="145" refid="structsf_1_1system_1_1console_1_1sprite_1_1Info_1"/><codeline> <highlight class="keyword">struct </highlight>Info {</codeline>
+<linenumber line="146" refid="structsf_1_1system_1_1console_1_1sprite_1_1Info_1m0"/><codeline> <highlight class="keywordtype">char</highlight> <ref idref="structsf_1_1system_1_1console_1_1sprite_1_1Info_1m0">fileName</ref>[_MAX_PATH];</codeline>
+<linenumber line="147" refid="structsf_1_1system_1_1console_1_1sprite_1_1Info_1m1"/><codeline> <highlight class="keywordtype">float</highlight> <ref idref="structsf_1_1system_1_1console_1_1sprite_1_1Info_1m1">centerX</ref>;</codeline>
+<linenumber line="148" refid="structsf_1_1system_1_1console_1_1sprite_1_1Info_1m2"/><codeline> <highlight class="keywordtype">float</highlight> <ref idref="structsf_1_1system_1_1console_1_1sprite_1_1Info_1m2">centerY</ref>;</codeline>
+<linenumber line="149" refid="structsf_1_1system_1_1console_1_1sprite_1_1Info_1m3"/><codeline> <highlight class="keywordtype">float</highlight> <ref idref="structsf_1_1system_1_1console_1_1sprite_1_1Info_1m3">cellWidth</ref>;</codeline>
+<linenumber line="150" refid="structsf_1_1system_1_1console_1_1sprite_1_1Info_1m4"/><codeline> <highlight class="keywordtype">float</highlight> <ref idref="structsf_1_1system_1_1console_1_1sprite_1_1Info_1m4">cellHeight</ref>;</codeline>
+<linenumber line="151" refid="structsf_1_1system_1_1console_1_1sprite_1_1Info_1m5"/><codeline> <ref idref="Console_8h_1a1">COLOR</ref> <ref idref="structsf_1_1system_1_1console_1_1sprite_1_1Info_1m5">transparentColor</ref>;</codeline>
+<linenumber line="152" refid="structsf_1_1system_1_1console_1_1sprite_1_1Info_1m6"/><codeline> <ref idref="namespacesf_1_1system_1_1console_1_1sprite_1a6">TYPE</ref> <ref idref="structsf_1_1system_1_1console_1_1sprite_1_1Info_1m6">type</ref>;</codeline>
+<linenumber line="153"/><codeline> };</codeline>
+<linenumber line="154"/><codeline></codeline>
+<linenumber line="155"/><codeline> </codeline>
+<linenumber line="160" refid="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1"/><codeline> <highlight class="keyword">class </highlight>Sprite</codeline>
+<linenumber line="161"/><codeline> {</codeline>
+<linenumber line="162"/><codeline> <highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="164" refid="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a0"/><codeline> <highlight class="keyword">virtual</highlight> <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a0">~Sprite</ref>(){;};</codeline>
+<linenumber line="167"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a1">draw</ref>(<highlight class="keyword">const</highlight> sf::system::console::ObjRectangle * <highlight class="keyword">const</highlight> pObj) = 0;</codeline>
+<linenumber line="170"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a1">draw</ref>(<highlight class="keyword">const</highlight> sf::system::console::ObjQuadrangle * <highlight class="keyword">const</highlight> pObj) = 0;</codeline>
+<linenumber line="173"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a1">draw</ref>(<highlight class="keyword">const</highlight> sf::system::console::Obj3DL * <highlight class="keyword">const</highlight> pObj) = 0;</codeline>
+<linenumber line="176"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a4">centerX</ref>(<highlight class="keywordtype">void</highlight>) <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="179"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a5">centerY</ref>(<highlight class="keywordtype">void</highlight>) <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="182"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a6">width</ref>(<highlight class="keywordtype">void</highlight>) <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="185"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a7">height</ref>(<highlight class="keywordtype">void</highlight>) <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="186"/><codeline> };<highlight class="comment">// Sprite</highlight></codeline>
+<linenumber line="187"/><codeline> </codeline>
+<linenumber line="189"/><codeline> <highlight class="keyword">typedef</highlight> std::auto_ptr<Sprite> <ref idref="namespacesf_1_1system_1_1console_1_1sprite_1a2">PSprite</ref>;</codeline>
+<linenumber line="190"/><codeline></codeline>
+<linenumber line="191"/><codeline> };</codeline>
+<linenumber line="192"/><codeline> </codeline>
+<linenumber line="195" refid="namespacesf_1_1system_1_1console_1_1font_1"/><codeline> <highlight class="keyword">namespace </highlight>font {</codeline>
+<linenumber line="196"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="namespacesf_1_1system_1_1console_1_1font_1a0">COUNT_MAX</ref> = 2;</codeline>
+<linenumber line="197"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="namespacesf_1_1system_1_1console_1_1font_1a1">TEXTURE_WIDTH</ref> = 128;</codeline>
+<linenumber line="198"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="namespacesf_1_1system_1_1console_1_1font_1a2">TEXTURE_HEIGHT</ref> = 64;</codeline>
+<linenumber line="199"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="namespacesf_1_1system_1_1console_1_1screen_1a0">WIDTH</ref> = 8;</codeline>
+<linenumber line="200"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="namespacesf_1_1system_1_1console_1_1screen_1a1">HEIGHT</ref> = 8;</codeline>
+<linenumber line="201"/><codeline></codeline>
+<linenumber line="202"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> <ref idref="namespacesf_1_1system_1_1console_1_1font_1a5">FILE_PATH</ref>[<ref idref="namespacesf_1_1system_1_1console_1_1font_1a0">COUNT_MAX</ref>][<ref idref="namespacesf_1_1system_1a1">MAX_PATH_</ref>] </codeline>
+<linenumber line="203"/><codeline> = { <highlight class="stringliteral">"media\\font1.png"</highlight>,</codeline>
+<linenumber line="204"/><codeline> <highlight class="stringliteral">"media\\font2.png"</highlight></codeline>
+<linenumber line="205"/><codeline> };</codeline>
+<linenumber line="206"/><codeline> }</codeline>
+<linenumber line="207"/><codeline></codeline>
+<linenumber line="209" refid="namespacesf_1_1system_1_1console_1_1text_1"/><codeline> <highlight class="keyword">namespace </highlight>text {</codeline>
+<linenumber line="210"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="namespacesf_1_1system_1_1console_1_1text_1a0">BUFFER_LENGTH</ref> = 1024;</codeline>
+<linenumber line="211"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> <ref idref="namespacesf_1_1system_1_1console_1_1text_1a1">COLUMN_PITCH</ref> = 8.0f;</codeline>
+<linenumber line="212"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> <ref idref="namespacesf_1_1system_1_1console_1_1text_1a2">LINE_PITCH</ref> = 10.0f;</codeline>
+<linenumber line="213"/><codeline> }</codeline>
+<linenumber line="214"/><codeline></codeline>
+<linenumber line="216" refid="structsf_1_1system_1_1console_1_1Vertex_1"/><codeline> <highlight class="keyword">struct </highlight>Vertex {</codeline>
+<linenumber line="217"/><codeline> <highlight class="keywordtype">float</highlight> <ref idref="structsf_1_1system_1_1console_1_1Vertex_1m0">x</ref>,</codeline>
+<linenumber line="218" refid="structsf_1_1system_1_1console_1_1Vertex_1m2"/><codeline> <ref idref="structsf_1_1system_1_1console_1_1Vertex_1m1">y</ref>,</codeline>
+<linenumber line="219"/><codeline> <ref idref="structsf_1_1system_1_1console_1_1Vertex_1m2">z</ref>,</codeline>
+<linenumber line="220"/><codeline> <ref idref="structsf_1_1system_1_1console_1_1Vertex_1m3">rhw</ref>;</codeline>
+<linenumber line="221"/><codeline> <ref idref="namespacesf_1a0">DWORD</ref> <ref idref="structsf_1_1system_1_1console_1_1Vertex_1m4">diffuse</ref>,</codeline>
+<linenumber line="222" refid="structsf_1_1system_1_1console_1_1Vertex_1m5"/><codeline> <ref idref="structsf_1_1system_1_1console_1_1Vertex_1m5">specular</ref>;</codeline>
+<linenumber line="223"/><codeline> <highlight class="keywordtype">float</highlight> <ref idref="structsf_1_1system_1_1console_1_1Vertex_1m6">tu</ref>,</codeline>
+<linenumber line="224" refid="structsf_1_1system_1_1console_1_1Vertex_1m7"/><codeline> <ref idref="structsf_1_1system_1_1console_1_1Vertex_1m7">tv</ref>;</codeline>
+<linenumber line="225"/><codeline> };</codeline>
+<linenumber line="226"/><codeline></codeline>
+<linenumber line="227"/><codeline></codeline>
+<linenumber line="229"/><codeline></codeline>
+<linenumber line="232" refid="classsf_1_1system_1_1console_1_1Console_1"/><codeline> <highlight class="keyword">class </highlight>Console </codeline>
+<linenumber line="233"/><codeline> {</codeline>
+<linenumber line="234"/><codeline> <highlight class="comment">// LIFECYCLE //</highlight></codeline>
+<linenumber line="235"/><codeline> <highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="237" refid="classsf_1_1system_1_1console_1_1Console_1a0"/><codeline> <highlight class="keyword">virtual</highlight> <ref idref="classsf_1_1system_1_1console_1_1Console_1a0">~Console</ref>(){;};</codeline>
+<linenumber line="238"/><codeline></codeline>
+<linenumber line="239"/><codeline> <highlight class="comment">// OPERATORS //</highlight></codeline>
+<linenumber line="240"/><codeline> <highlight class="comment">// OPERATIONS //</highlight></codeline>
+<linenumber line="244"/><codeline><highlight class="comment"></highlight> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1Console_1a1">initialize</ref>(<highlight class="keywordtype">void</highlight>) = 0;</codeline>
+<linenumber line="245"/><codeline></codeline>
+<linenumber line="249"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1Console_1a2">clearScreen</ref>(<ref idref="Console_8h_1a1">COLOR</ref> value = 0x00000000) = 0;</codeline>
+<linenumber line="250"/><codeline></codeline>
+<linenumber line="254"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1Console_1a3">fillScreen</ref>(<ref idref="Console_8h_1a1">COLOR</ref> value = 0x00000000) = 0;</codeline>
+<linenumber line="255"/><codeline></codeline>
+<linenumber line="261"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1Console_1a4">update</ref>(<highlight class="keywordtype">void</highlight>) = 0;</codeline>
+<linenumber line="262"/><codeline> </codeline>
+<linenumber line="264"/><codeline></codeline>
+<linenumber line="272"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1Console_1a5">print</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> textureNo,<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> x,<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> y,<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> angleRad,<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> scale,<highlight class="keyword">const</highlight> <ref idref="Console_8h_1a1">COLOR</ref> color,</codeline>
+<linenumber line="273"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> *format,...) = 0;</codeline>
+<linenumber line="274"/><codeline></codeline>
+<linenumber line="279"/><codeline> <highlight class="keyword">virtual</highlight> sprite::Sprite * <highlight class="keyword">const</highlight> <ref idref="classsf_1_1system_1_1console_1_1Console_1a6">createSprite</ref>(<highlight class="keyword">const</highlight> sprite::Info* <highlight class="keyword">const</highlight> pInfo) = 0;</codeline>
+<linenumber line="280"/><codeline> <highlight class="comment">// ACCESS //</highlight></codeline>
+<linenumber line="281"/><codeline> </codeline>
+<linenumber line="282"/><codeline> <highlight class="comment">// INQUIRY //</highlight></codeline>
+<linenumber line="284"/><codeline><highlight class="comment"> /*! @retval true \81âEIN2A </highlight></codeline>
+<linenumber line="285"/><codeline> * @retval <highlight class="keyword">false</highlight> \81âEINEO2A */</codeline>
+<linenumber line="286"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1console_1_1Console_1a7">isEnabled</ref>(<highlight class="keywordtype">void</highlight>) <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="287"/><codeline> };<highlight class="comment">// Console()</highlight></codeline>
+<linenumber line="288"/><codeline> </codeline>
+<linenumber line="292"/><codeline> <highlight class="keyword">enum</highlight> <ref idref="namespacesf_1_1system_1_1console_1a12">DrawMode</ref> {</codeline>
+<linenumber line="293"/><codeline> <ref idref="namespacesf_1_1system_1_1console_1a12a3">DRAW_TRANS</ref>,</codeline>
+<linenumber line="294"/><codeline> <ref idref="namespacesf_1_1system_1_1console_1a12a4">DRAW_ADD</ref>,</codeline>
+<linenumber line="295"/><codeline> <ref idref="namespacesf_1_1system_1_1console_1a12a5">DRAW_ADD1</ref>,</codeline>
+<linenumber line="296"/><codeline> <ref idref="namespacesf_1_1system_1_1console_1a12a6">DRAW_SHADOW</ref>,</codeline>
+<linenumber line="297"/><codeline> <ref idref="namespacesf_1_1system_1_1console_1a12a7">DRAW_INV</ref>,</codeline>
+<linenumber line="298"/><codeline> <ref idref="namespacesf_1_1system_1_1console_1a12a8">DRAW_MUL</ref></codeline>
+<linenumber line="299"/><codeline> };<highlight class="comment">// DrawMode</highlight></codeline>
+<linenumber line="300"/><codeline></codeline>
+<linenumber line="301"/><codeline> }<highlight class="comment">// namespace console</highlight></codeline>
+<linenumber line="302"/><codeline> }<highlight class="comment">// namespace system</highlight></codeline>
+<linenumber line="303"/><codeline>}<highlight class="comment">//namespace sf</highlight></codeline>
+<linenumber line="304"/><codeline>}</codeline>
+<linenumber line="305"/><codeline><highlight class="preprocessor">#endif // !defined(AFX_IConsole_H__DB7BCF98_4A51_43E3_B919_9A26C58E6A90__INCLUDED_)</highlight></codeline>
+<linenumber line="306"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/Console.h"/>
+ </compounddef>
+ <compounddef id="ConsoleImpl_8cpp" kind="file">
+ <compoundname>ConsoleImpl.cpp</compoundname>
+ <includes id="sfdebug_8h" local="yes">sfdebug.h</includes>
+ <includes local="no">stdio.h</includes>
+ <includes local="no">queue</includes>
+ <includes local="yes">windows.h</includes>
+ <includes local="yes">windowsx.h</includes>
+ <includes local="yes">d3d8.h</includes>
+ <includes local="yes">d3dx8.h</includes>
+ <includes id="dxerr8sf_8h" local="yes">dxerr8sf.h</includes>
+ <includes local="yes">exception.h</includes>
+ <includes local="yes">sound.h</includes>
+ <includes id="System_8h" local="yes">System.h</includes>
+ <includes local="yes">console.h</includes>
+ <includes id="Obj_8h" local="yes">Obj.h</includes>
+ <includes id="Obj2D_8h" local="yes">Obj2D.h</includes>
+ <includes id="ObjRectangle_8h" local="yes">ObjRectangle.h</includes>
+ <includes id="ObjQuadrangle_8h" local="yes">ObjQuadrangle.h</includes>
+ <includes id="Obj3D_8h" local="yes">Obj3D.h</includes>
+ <includes id="Obj3DL_8h" local="yes">Obj3DL.h</includes>
+ <includes local="yes">input.h</includes>
+ <includes id="AbstractSprite_8h" local="yes">AbstractSprite.h</includes>
+ <includes id="ConsoleImpl_8h" local="yes">ConsoleImpl.h</includes>
+ <includes id="Main_8h" local="yes">Main.h</includes>
+ <includes id="Sprite2D_8h" local="yes">Sprite2D.h</includes>
+ <includes id="Sprite3D_8h" local="yes">Sprite3D.h</includes>
+ <includes id="SpriteMesh_8h" local="yes">SpriteMesh.h</includes>
+ <incdepgraph>
+ <node id="227">
+ <label>dxerr8.h</label>
+ </node>
+ <node id="221">
+ <label>queue</label>
+ </node>
+ <node id="222">
+ <label>windows.h</label>
+ </node>
+ <node id="230">
+ <label>System.h</label>
+ <link id="System_8h"/>
+ <childnode id="231" relation="public-inheritance">
+ </childnode>
+ <childnode id="232" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="223">
+ <label>windowsx.h</label>
+ </node>
+ <node id="231">
+ <label>string</label>
+ </node>
+ <node id="244">
+ <label>ConsoleImpl.h</label>
+ <link id="ConsoleImpl_8h"/>
+ <childnode id="232" relation="public-inheritance">
+ </childnode>
+ <childnode id="242" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="226">
+ <label>dxerr8sf.h</label>
+ <link id="dxerr8sf_8h-source"/>
+ <childnode id="227" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="219">
+ <label>sfdebug.h</label>
+ <link id="sfdebug_8h"/>
+ </node>
+ <node id="241">
+ <label>AbstractSprite.h</label>
+ <link id="AbstractSprite_8h-source"/>
+ <childnode id="232" relation="public-inheritance">
+ </childnode>
+ <childnode id="242" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="240">
+ <label>input.h</label>
+ </node>
+ <node id="248">
+ <label>SpriteMesh.h</label>
+ <link id="SpriteMesh_8h-source"/>
+ <childnode id="232" relation="public-inheritance">
+ </childnode>
+ <childnode id="241" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="218">
+ <label>ConsoleImpl.cpp</label>
+ <link id="ConsoleImpl.cpp"/>
+ <childnode id="219" relation="public-inheritance">
+ </childnode>
+ <childnode id="220" relation="public-inheritance">
+ </childnode>
+ <childnode id="221" relation="public-inheritance">
+ </childnode>
+ <childnode id="222" relation="public-inheritance">
+ </childnode>
+ <childnode id="223" relation="public-inheritance">
+ </childnode>
+ <childnode id="224" relation="public-inheritance">
+ </childnode>
+ <childnode id="225" relation="public-inheritance">
+ </childnode>
+ <childnode id="226" relation="public-inheritance">
+ </childnode>
+ <childnode id="228" relation="public-inheritance">
+ </childnode>
+ <childnode id="229" relation="public-inheritance">
+ </childnode>
+ <childnode id="230" relation="public-inheritance">
+ </childnode>
+ <childnode id="233" relation="public-inheritance">
+ </childnode>
+ <childnode id="234" relation="public-inheritance">
+ </childnode>
+ <childnode id="235" relation="public-inheritance">
+ </childnode>
+ <childnode id="236" relation="public-inheritance">
+ </childnode>
+ <childnode id="237" relation="public-inheritance">
+ </childnode>
+ <childnode id="238" relation="public-inheritance">
+ </childnode>
+ <childnode id="239" relation="public-inheritance">
+ </childnode>
+ <childnode id="240" relation="public-inheritance">
+ </childnode>
+ <childnode id="241" relation="public-inheritance">
+ </childnode>
+ <childnode id="244" relation="public-inheritance">
+ </childnode>
+ <childnode id="245" relation="public-inheritance">
+ </childnode>
+ <childnode id="246" relation="public-inheritance">
+ </childnode>
+ <childnode id="247" relation="public-inheritance">
+ </childnode>
+ <childnode id="248" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="232">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="229">
+ <label>sound.h</label>
+ </node>
+ <node id="242">
+ <label>Console.h</label>
+ <link id="Console_8h"/>
+ <childnode id="243" relation="public-inheritance">
+ </childnode>
+ <childnode id="232" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="233">
+ <label>console.h</label>
+ </node>
+ <node id="238">
+ <label>Obj3D.h</label>
+ <link id="Obj3D_8h-source"/>
+ <childnode id="232" relation="public-inheritance">
+ </childnode>
+ <childnode id="234" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="235">
+ <label>Obj2D.h</label>
+ <link id="Obj2D_8h-source"/>
+ <childnode id="232" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="236">
+ <label>ObjRectangle.h</label>
+ <link id="ObjRectangle_8h-source"/>
+ <childnode id="232" relation="public-inheritance">
+ </childnode>
+ <childnode id="234" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="247">
+ <label>Sprite3D.h</label>
+ <link id="Sprite3D_8h-source"/>
+ <childnode id="232" relation="public-inheritance">
+ </childnode>
+ <childnode id="241" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="239">
+ <label>Obj3DL.h</label>
+ <link id="Obj3DL_8h-source"/>
+ <childnode id="232" relation="public-inheritance">
+ </childnode>
+ <childnode id="238" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="246">
+ <label>Sprite2D.h</label>
+ <link id="Sprite2D_8h-source"/>
+ <childnode id="232" relation="public-inheritance">
+ </childnode>
+ <childnode id="242" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="234">
+ <label>Obj.h</label>
+ <link id="Obj_8h-source"/>
+ <childnode id="232" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="237">
+ <label>ObjQuadrangle.h</label>
+ <link id="ObjQuadrangle_8h-source"/>
+ <childnode id="232" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="224">
+ <label>d3d8.h</label>
+ </node>
+ <node id="245">
+ <label>Main.h</label>
+ <link id="Main_8h-source"/>
+ </node>
+ <node id="228">
+ <label>exception.h</label>
+ </node>
+ <node id="225">
+ <label>d3dx8.h</label>
+ </node>
+ <node id="220">
+ <label>stdio.h</label>
+ </node>
+ <node id="243">
+ <label>memory</label>
+ </node>
+ </incdepgraph>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// Console Ae?Y\\81P\e\1?I?AAo\\81P\e\1?C?\81\91?eConsoleImpl?I?AAoEoE\81Ê?C?1!\81\92</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// Win32!\81\91ConsoleImpl8?C?AAo?\83Ê?i?T?1!\81\92</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// IuIo:</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// $Log: ConsoleImpl.cpp,v $</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// Revision 1.2 2001/11/06 21:27:42 fujiwara</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">// AcEy11?\81EA\81\8b\D\A\\81P\\81\91\A\\81~</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:35 fujiwara</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// Revision 1.5 2001/07/09 20:30:08 fujiwara</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// Revision 1.4 2001/05/29 01:13:06 fujiwara</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">// \81â\81N\83Êu\-\a\e(Eo1OEa!E?IoiAR!\81\92CUAO\\81N\C\\81\92\??I\D\\81\8b??A\83Ê</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">// Revision 1.3 2001/05/17 12:34:10 fujiwara</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment">// AI?aA\81N\\83Ê\o\\81~\eoiAR</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:48:13 fujiwara</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="comment">// 2001/01/29 \a\a\e!?\e!?\\81P\81C!?DIN\e\?\O\e\e?IAE2A </highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="comment">// 2001/02/18 ?\81~?e!??o?\83Ê?o?I\e\?\O\e\e?o\81â21I?E!\81\913D\1\\81~\e\?\E\81LOI\81\91?o?AAo</highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="32"/><codeline><highlight class="preprocessor">#pragma warning( disable : 4786 4251) //STL?I\81EU1d3\81\8b?\81E</highlight></codeline>
+<linenumber line="33"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="34"/><codeline><highlight class="comment">// \a\a\e!?\e!?\\81P\81C!?DIN</highlight></codeline>
+<linenumber line="35"/><codeline><highlight class="preprocessor">#include "<ref idref="sfdebug_8h">sfdebug.h</ref>"</highlight></codeline>
+<linenumber line="36"/><codeline></codeline>
+<linenumber line="37"/><codeline><highlight class="comment">// SYSTEM INCLUDES</highlight></codeline>
+<linenumber line="38"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="39"/><codeline><highlight class="preprocessor">#include <stdio.h></highlight></codeline>
+<linenumber line="40"/><codeline><highlight class="preprocessor">#include <queue></highlight></codeline>
+<linenumber line="41"/><codeline><highlight class="preprocessor">#include "windows.h"</highlight></codeline>
+<linenumber line="42"/><codeline><highlight class="preprocessor">#include "windowsx.h"</highlight></codeline>
+<linenumber line="43"/><codeline></codeline>
+<linenumber line="44"/><codeline><highlight class="preprocessor">#include "d3d8.h"</highlight></codeline>
+<linenumber line="45"/><codeline><highlight class="preprocessor">#include "d3dx8.h"</highlight></codeline>
+<linenumber line="46"/><codeline><highlight class="preprocessor">#include "dxerr8sf.h"</highlight></codeline>
+<linenumber line="47"/><codeline></codeline>
+<linenumber line="48"/><codeline></codeline>
+<linenumber line="49"/><codeline><highlight class="comment">// PROJECT INCLUDES</highlight></codeline>
+<linenumber line="50"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="51"/><codeline><highlight class="preprocessor">#include "exception.h"</highlight></codeline>
+<linenumber line="52"/><codeline><highlight class="preprocessor">#include "sound.h"</highlight></codeline>
+<linenumber line="53"/><codeline><highlight class="preprocessor">#include "<ref idref="System_8h">System.h</ref>"</highlight></codeline>
+<linenumber line="54"/><codeline><highlight class="preprocessor">#include "console.h"</highlight></codeline>
+<linenumber line="55"/><codeline><highlight class="preprocessor">#include "Obj.h"</highlight></codeline>
+<linenumber line="56"/><codeline><highlight class="preprocessor">#include "Obj2D.h"</highlight></codeline>
+<linenumber line="57"/><codeline><highlight class="preprocessor">#include "ObjRectangle.h"</highlight></codeline>
+<linenumber line="58"/><codeline><highlight class="preprocessor">#include "ObjQuadrangle.h"</highlight></codeline>
+<linenumber line="59"/><codeline><highlight class="preprocessor">#include "Obj3D.h"</highlight></codeline>
+<linenumber line="60"/><codeline><highlight class="preprocessor">#include "Obj3DL.h"</highlight></codeline>
+<linenumber line="61"/><codeline><highlight class="preprocessor">#include "input.h"</highlight></codeline>
+<linenumber line="62"/><codeline><highlight class="preprocessor">#include "AbstractSprite.h"</highlight></codeline>
+<linenumber line="63"/><codeline></codeline>
+<linenumber line="64"/><codeline></codeline>
+<linenumber line="65"/><codeline></codeline>
+<linenumber line="66"/><codeline><highlight class="preprocessor">#include "<ref idref="ConsoleImpl_8h">ConsoleImpl.h</ref>"</highlight></codeline>
+<linenumber line="67"/><codeline><highlight class="preprocessor">#include "Main.h"</highlight></codeline>
+<linenumber line="68"/><codeline><highlight class="preprocessor">#include "Sprite2D.h"</highlight></codeline>
+<linenumber line="69"/><codeline><highlight class="preprocessor">#include "Sprite3D.h"</highlight></codeline>
+<linenumber line="70"/><codeline><highlight class="preprocessor">#include "SpriteMesh.h"</highlight></codeline>
+<linenumber line="71"/><codeline></codeline>
+<linenumber line="72"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="73"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define new DEBUG_NEW</highlight></codeline>
+<linenumber line="74"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="75"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="76"/><codeline><highlight class="keyword">using</highlight> <highlight class="keyword">namespace </highlight>sf::system::console;</codeline>
+<linenumber line="77"/><codeline>using namespace sf::system::console::sprite;</codeline>
+<linenumber line="78"/><codeline></codeline>
+<linenumber line="79"/><codeline></codeline>
+<linenumber line="80" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1a0"/><codeline>ConsoleImpl::ConsoleImpl()</codeline>
+<linenumber line="81"/><codeline>{</codeline>
+<linenumber line="82"/><codeline> mbD3DReady = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="83"/><codeline> mpD3D = NULL;</codeline>
+<linenumber line="84"/><codeline> mpD3DDevice = NULL;</codeline>
+<linenumber line="85"/><codeline> mpD3DXSprite = NULL;</codeline>
+<linenumber line="86"/><codeline>}</codeline>
+<linenumber line="87"/><codeline></codeline>
+<linenumber line="88" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1a1"/><codeline>ConsoleImpl::ConsoleImpl(<highlight class="keyword">const</highlight> HWND hwnd,<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bWindow)</codeline>
+<linenumber line="89"/><codeline>{</codeline>
+<linenumber line="90"/><codeline> <highlight class="comment">// HWND?I\3\O!?</highlight></codeline>
+<linenumber line="91"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o0">mhWndMain</ref> = hwnd;</codeline>
+<linenumber line="92"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o2">mbWindowed</ref> = bWindow;</codeline>
+<linenumber line="93"/><codeline></codeline>
+<linenumber line="94"/><codeline>}</codeline>
+<linenumber line="95"/><codeline></codeline>
+<linenumber line="96" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1a2"/><codeline>ConsoleImpl::~ConsoleImpl()</codeline>
+<linenumber line="97"/><codeline>{</codeline>
+<linenumber line="98"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1a5">uninitialize</ref>();</codeline>
+<linenumber line="99"/><codeline>}</codeline>
+<linenumber line="100"/><codeline></codeline>
+<linenumber line="101" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1a3"/><codeline><highlight class="keywordtype">void</highlight> ConsoleImpl::initialize(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="102"/><codeline>{</codeline>
+<linenumber line="103"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1a3">initialize</ref>(<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o0">mhWndMain</ref>,<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o2">mbWindowed</ref>);</codeline>
+<linenumber line="104"/><codeline>};</codeline>
+<linenumber line="105"/><codeline><highlight class="comment">// ?e\81Lu2? !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="106" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1a4"/><codeline><highlight class="keywordtype">void</highlight> ConsoleImpl::initialize(<highlight class="keyword">const</highlight> HWND hwnd,<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bWindow)</codeline>
+<linenumber line="107"/><codeline>{</codeline>
+<linenumber line="108"/><codeline> <highlight class="keywordtype">int</highlight> i;</codeline>
+<linenumber line="109"/><codeline> HRESULT hr;</codeline>
+<linenumber line="110"/><codeline> </codeline>
+<linenumber line="111"/><codeline> <highlight class="comment">// 3A1aIU?I\\81P\e\\81\91</highlight></codeline>
+<linenumber line="112"/><codeline> </codeline>
+<linenumber line="113"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o3">mpD3D</ref> = NULL;</codeline>
+<linenumber line="114"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref> = NULL;</codeline>
+<linenumber line="115"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o6">mpD3DXSprite</ref> = NULL;</codeline>
+<linenumber line="116"/><codeline> </codeline>
+<linenumber line="117"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o1">mbD3DReady</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="118"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o2">mbWindowed</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="119"/><codeline> </codeline>
+<linenumber line="120"/><codeline> <highlight class="keywordflow">for</highlight>(i = 0;i < font::COUNT_MAX;i++)</codeline>
+<linenumber line="121"/><codeline> {</codeline>
+<linenumber line="122"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o11">mpFontTexture</ref>[i] = NULL;</codeline>
+<linenumber line="123"/><codeline> }</codeline>
+<linenumber line="124"/><codeline> </codeline>
+<linenumber line="125"/><codeline> ZeroMemory( &<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o10">mD3Dpp</ref>, <highlight class="keyword">sizeof</highlight>(<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o10">mD3Dpp</ref>) );</codeline>
+<linenumber line="126"/><codeline> </codeline>
+<linenumber line="127"/><codeline> <highlight class="comment">// HWND?I\3\O!?</highlight></codeline>
+<linenumber line="128"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o0">mhWndMain</ref> = hwnd;</codeline>
+<linenumber line="129"/><codeline> </codeline>
+<linenumber line="130"/><codeline> <highlight class="comment">// D3D Object ?IA\81CAR</highlight></codeline>
+<linenumber line="131"/><codeline> <highlight class="keywordflow">if</highlight>( NULL == ( <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o3">mpD3D</ref> = Direct3DCreate8( D3D_SDK_VERSION ) ) )</codeline>
+<linenumber line="132"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(<highlight class="stringliteral">"D3D8 Create Error"</highlight>,__FILE__,__LINE__);</codeline>
+<linenumber line="133"/><codeline> </codeline>
+<linenumber line="134"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c0">checkAndSetDevice</ref>();</codeline>
+<linenumber line="135"/><codeline> </codeline>
+<linenumber line="136"/><codeline> <highlight class="comment">//</highlight></codeline>
+<linenumber line="137"/><codeline> <highlight class="comment">//D3DPRESENT_PARAMETERS mD3Dpp; </highlight></codeline>
+<linenumber line="138"/><codeline> </codeline>
+<linenumber line="139"/><codeline> ZeroMemory(&<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o10">mD3Dpp</ref>,<highlight class="keyword">sizeof</highlight>(<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o10">mD3Dpp</ref>));</codeline>
+<linenumber line="140"/><codeline></codeline>
+<linenumber line="141"/><codeline> <highlight class="keywordflow">if</highlight>(bWindow){</codeline>
+<linenumber line="142"/><codeline> <highlight class="comment">//\|\\81\92\o\E\|\a!?\E!E\C\D\A\\81\8bIN!E</highlight></codeline>
+<linenumber line="143"/><codeline> D3DDISPLAYMODE d3ddm;</codeline>
+<linenumber line="144"/><codeline> <highlight class="keywordflow">if</highlight>( FAILED( hr = <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o3">mpD3D</ref>->GetAdapterDisplayMode( D3DADAPTER_DEFAULT, &d3ddm ) ) )</codeline>
+<linenumber line="145"/><codeline> { <highlight class="keywordflow">throw</highlight> FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__); }</codeline>
+<linenumber line="146"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o10">mD3Dpp</ref>.Windowed = TRUE;</codeline>
+<linenumber line="147"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o10">mD3Dpp</ref>.BackBufferFormat = d3ddm.Format;</codeline>
+<linenumber line="148"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o7">mD3DFormat</ref> = d3ddm.Format;</codeline>
+<linenumber line="149"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o10">mD3Dpp</ref>.SwapEffect = D3DSWAPEFFECT_COPY;</codeline>
+<linenumber line="150"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o2">mbWindowed</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="151"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="152"/><codeline> <highlight class="comment">//\O\e\1\\81P\e!?\o\a!?\E</highlight></codeline>
+<linenumber line="153"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o10">mD3Dpp</ref>.Windowed = FALSE;</codeline>
+<linenumber line="154"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o10">mD3Dpp</ref>.BackBufferWidth = screen::WIDTH;</codeline>
+<linenumber line="155"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o10">mD3Dpp</ref>.BackBufferHeight = screen::HEIGHT;</codeline>
+<linenumber line="156"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o10">mD3Dpp</ref>.BackBufferCount = 1;</codeline>
+<linenumber line="157"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o10">mD3Dpp</ref>.BackBufferFormat = <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o7">mD3DFormat</ref>;</codeline>
+<linenumber line="158"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o10">mD3Dpp</ref>.FullScreen_RefreshRateInHz = 0;</codeline>
+<linenumber line="159"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o10">mD3Dpp</ref>.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE ;</codeline>
+<linenumber line="160"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o10">mD3Dpp</ref>.SwapEffect = D3DSWAPEFFECT_COPY;</codeline>
+<linenumber line="161"/><codeline><highlight class="comment">// mD3Dpp.Flags = D3DPRESENTFLAG_LOCKABLE_BACKBUFFER;</highlight></codeline>
+<linenumber line="162"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o2">mbWindowed</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="163"/><codeline> }</codeline>
+<linenumber line="164"/><codeline> </codeline>
+<linenumber line="165"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o10">mD3Dpp</ref>.EnableAutoDepthStencil = TRUE;</codeline>
+<linenumber line="166"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o10">mD3Dpp</ref>.AutoDepthStencilFormat = <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o9">mDepthFormat</ref>;</codeline>
+<linenumber line="167"/><codeline> <highlight class="comment">// mD3Dpp.MultiSampleType = D3DMULTISAMPLE_NONE;</highlight></codeline>
+<linenumber line="168"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o10">mD3Dpp</ref>.hDeviceWindow = hwnd;</codeline>
+<linenumber line="169"/><codeline> </codeline>
+<linenumber line="170"/><codeline> <highlight class="comment">//3D\C\D\?\1?I?eAA//</highlight></codeline>
+<linenumber line="171"/><codeline> <highlight class="comment">// HAL?\81áREF?I?E?A?e?\81á?o?eAA //</highlight></codeline>
+<linenumber line="172"/><codeline> <highlight class="keywordflow">if</highlight>( FAILED( hr = <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o3">mpD3D</ref>->CreateDevice( D3DADAPTER_DEFAULT, <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o4">mD3DDeviceType</ref>, hwnd,</codeline>
+<linenumber line="173"/><codeline> D3DCREATE_SOFTWARE_VERTEXPROCESSING,</codeline>
+<linenumber line="174"/><codeline> &<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o10">mD3Dpp</ref>, &<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref> ) ) )</codeline>
+<linenumber line="175"/><codeline> {</codeline>
+<linenumber line="176"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);</codeline>
+<linenumber line="177"/><codeline> }</codeline>
+<linenumber line="178"/><codeline></codeline>
+<linenumber line="179"/><codeline> <highlight class="comment">// \1\\81~\e\?\E\a\O\\81C\\81\98\\81P\E?I?e\81Lu2?</highlight></codeline>
+<linenumber line="180"/><codeline> <highlight class="keywordflow">for</highlight>(i = 0;i < sprite::MAX;i++)</codeline>
+<linenumber line="181"/><codeline> {</codeline>
+<linenumber line="182"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o12">mpSprite</ref>[i] = NULL;</codeline>
+<linenumber line="183"/><codeline> <highlight class="comment">//mSprite[i]->initialize(mpD3DDevice);</highlight></codeline>
+<linenumber line="184"/><codeline> }</codeline>
+<linenumber line="185"/><codeline></codeline>
+<linenumber line="186"/><codeline> </codeline>
+<linenumber line="187"/><codeline> <highlight class="comment">// D3DDevice?\81ÊReset\81ât?ECE\81Lt?\81E?E?\81P?A?I???\81}?E??\a\O\\81C\\81\98\\81P\E?I?e\81Lu2?</highlight></codeline>
+<linenumber line="188"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c9">initNotManagedObjects</ref>();</codeline>
+<linenumber line="189"/><codeline> </codeline>
+<linenumber line="190"/><codeline> <highlight class="comment">// 2eII!|\O\a!?\Y!?\E?I\3!?\C\\81\92\I!?\E</highlight></codeline>
+<linenumber line="191"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c6">initConsoleViewStyle</ref>();</codeline>
+<linenumber line="192"/><codeline> </codeline>
+<linenumber line="193"/><codeline> <highlight class="comment">// \C\D\?\1?I?e\81Lu2?</highlight></codeline>
+<linenumber line="194"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c5">initDeviceStates</ref>();</codeline>
+<linenumber line="195"/><codeline> </codeline>
+<linenumber line="196"/><codeline> <highlight class="comment">// E\81C\81âu\O\c\o\E?I\i!?\E</highlight></codeline>
+<linenumber line="197"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c11">loadFont</ref>();</codeline>
+<linenumber line="198"/><codeline></codeline>
+<linenumber line="199"/><codeline> <highlight class="comment">// Lock the surface and write the alpha values for the set pixels</highlight></codeline>
+<linenumber line="200"/><codeline><highlight class="preprocessor">#ifdef _DEBUG </highlight></codeline>
+<linenumber line="201"/><codeline><highlight class="preprocessor"></highlight> D3DSURFACE_DESC des;</codeline>
+<linenumber line="202"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o11">mpFontTexture</ref>[0]->GetLevelDesc(0,&des);</codeline>
+<linenumber line="203"/><codeline> <highlight class="keywordtype">char</highlight> pdebug_str[256];</codeline>
+<linenumber line="204"/><codeline> sprintf(pdebug_str,<highlight class="stringliteral">"format: %d "</highlight>,des.Format);</codeline>
+<linenumber line="205"/><codeline> OutputDebugString(pdebug_str);</codeline>
+<linenumber line="206"/><codeline><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="207"/><codeline><highlight class="preprocessor"></highlight> <highlight class="comment">//\\81P\e\A\\81~II\81\8be?o\\81P\e\\81\91//</highlight></codeline>
+<linenumber line="208"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o1">mbD3DReady</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="209"/><codeline>}<highlight class="comment">//initialize()</highlight></codeline>
+<linenumber line="210"/><codeline></codeline>
+<linenumber line="211"/><codeline><highlight class="comment">// oCA\81Ê?E\81\923\81\92A\C\D\?\1?oAA?e --------------------------------------------------</highlight></codeline>
+<linenumber line="212" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1c0"/><codeline><highlight class="keywordtype">void</highlight> ConsoleImpl::checkAndSetDevice(<highlight class="keyword">const</highlight> D3DDEVTYPE devtype)</codeline>
+<linenumber line="213"/><codeline>{</codeline>
+<linenumber line="214"/><codeline> <highlight class="keywordflow">try</highlight> {</codeline>
+<linenumber line="215"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c1">checkAndSetDeviceType</ref>(devtype);</codeline>
+<linenumber line="216"/><codeline> } <highlight class="keywordflow">catch</highlight>(RecoverbleErrorException e) {</codeline>
+<linenumber line="217"/><codeline> <highlight class="keywordflow">if</highlight>(e.errorType() == <ref idref="classsf_1_1system_1_1Exception_1s4s1">sf::system::Exception::DEVICE_NOT_FOUND</ref>){</codeline>
+<linenumber line="218"/><codeline> <highlight class="keywordflow">try</highlight> {</codeline>
+<linenumber line="219"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c1">checkAndSetDeviceType</ref>(D3DDEVTYPE_REF);</codeline>
+<linenumber line="220"/><codeline> } <highlight class="keywordflow">catch</highlight> (RecoverbleErrorException e){</codeline>
+<linenumber line="221"/><codeline> <highlight class="keywordflow">if</highlight>(e.errorType() == <ref idref="classsf_1_1system_1_1Exception_1s4s1">sf::system::Exception::DEVICE_NOT_FOUND</ref>){</codeline>
+<linenumber line="222"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(<highlight class="stringliteral">"Device Not Found"</highlight>,__FILE__,__LINE__,<ref idref="classsf_1_1system_1_1Exception_1s4s1">sf::system::Exception::DEVICE_NOT_FOUND</ref>);</codeline>
+<linenumber line="223"/><codeline> }</codeline>
+<linenumber line="224"/><codeline> } <highlight class="keywordflow">catch</highlight>(...) {</codeline>
+<linenumber line="225"/><codeline> <highlight class="keywordflow">throw</highlight>;</codeline>
+<linenumber line="226"/><codeline> }</codeline>
+<linenumber line="227"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="228"/><codeline> <highlight class="keywordflow">throw</highlight>;</codeline>
+<linenumber line="229"/><codeline> }</codeline>
+<linenumber line="230"/><codeline> } <highlight class="keywordflow">catch</highlight>(...){</codeline>
+<linenumber line="231"/><codeline> <highlight class="keywordflow">throw</highlight>;</codeline>
+<linenumber line="232"/><codeline> }</codeline>
+<linenumber line="233"/><codeline>}<highlight class="comment">// checkAndSetDevice()</highlight></codeline>
+<linenumber line="234"/><codeline></codeline>
+<linenumber line="235"/><codeline><highlight class="comment">// \C\D\?\1\?\?\\81~?o\A\1\E?1?e -------------------------------------------------</highlight></codeline>
+<linenumber line="236" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1c1"/><codeline><highlight class="keywordtype">void</highlight> ConsoleImpl::checkAndSetDeviceType(<highlight class="keyword">const</highlight> D3DDEVTYPE devtype)</codeline>
+<linenumber line="237"/><codeline>{</codeline>
+<linenumber line="238"/><codeline> <highlight class="comment">// \\81\91\e\O\!\O\i\o\E\1\\81~\e\?\E?o\\83Ê\Y!?\E?\81E?A???e?a?A?E?a1aAR?E\?\?\\81~\81C!?D</highlight></codeline>
+<linenumber line="239"/><codeline> <highlight class="comment">// ?E???A?A?aHAL?\81áREF?\81á?oAa?O?A?\81}?C?1?\81Ê...</highlight></codeline>
+<linenumber line="240"/><codeline> <highlight class="comment">// REF?C?a\A\a?E?e\\81N\e!??C?aI\81â </highlight></codeline>
+<linenumber line="241"/><codeline> </codeline>
+<linenumber line="242"/><codeline> HRESULT hr = S_OK;</codeline>
+<linenumber line="243"/><codeline> D3DCAPS8 d3dcaps8;</codeline>
+<linenumber line="244"/><codeline> ZeroMemory(&d3dcaps8,<highlight class="keyword">sizeof</highlight>(d3dcaps8));</codeline>
+<linenumber line="245"/><codeline> </codeline>
+<linenumber line="246"/><codeline> hr = <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o3">mpD3D</ref>->GetDeviceCaps(D3DADAPTER_DEFAULT,devtype,&d3dcaps8);</codeline>
+<linenumber line="247"/><codeline> <highlight class="keywordflow">if</highlight>(SUCCEEDED(hr))</codeline>
+<linenumber line="248"/><codeline> { </codeline>
+<linenumber line="249"/><codeline> <highlight class="keywordflow">if</highlight>(!((d3dcaps8.SrcBlendCaps & D3DPBLENDCAPS_SRCALPHA) &&</codeline>
+<linenumber line="250"/><codeline> (d3dcaps8.DestBlendCaps & D3DPBLENDCAPS_INVSRCALPHA) &&</codeline>
+<linenumber line="251"/><codeline> (d3dcaps8.TextureFilterCaps & D3DPTFILTERCAPS_MAGFLINEAR ) &&</codeline>
+<linenumber line="252"/><codeline> (d3dcaps8.TextureOpCaps & D3DTEXOPCAPS_MODULATE )</codeline>
+<linenumber line="253"/><codeline> )){</codeline>
+<linenumber line="254"/><codeline> <highlight class="keywordflow">throw</highlight> RecoverbleErrorException(<highlight class="stringliteral">"Device Not Found"</highlight>,__FILE__,__LINE__,<ref idref="classsf_1_1system_1_1Exception_1s4s1">sf::system::Exception::DEVICE_NOT_FOUND</ref>);</codeline>
+<linenumber line="255"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="256"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o4">mD3DDeviceType</ref> = devtype;</codeline>
+<linenumber line="257"/><codeline> </codeline>
+<linenumber line="258"/><codeline> <highlight class="comment">// 16bit?I\D\A\\81P\D\A\O\!?I\O\c!?\T\A\E?oAA?e</highlight></codeline>
+<linenumber line="259"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c2">checkAndSetBackBufferFormat</ref>();</codeline>
+<linenumber line="260"/><codeline> </codeline>
+<linenumber line="261"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c4">checkAndSetDepthFormat</ref>();</codeline>
+<linenumber line="262"/><codeline> </codeline>
+<linenumber line="263"/><codeline> <highlight class="comment">// Ac2a?eIy?\81Ê\81âEIN?C?-?e\A\\81P\1\A\a\O\c!?\T\A\E?oAA?e</highlight></codeline>
+<linenumber line="264"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c3">checkAndSetTextureFormat</ref>();</codeline>
+<linenumber line="265"/><codeline> }</codeline>
+<linenumber line="266"/><codeline> </codeline>
+<linenumber line="267"/><codeline> } </codeline>
+<linenumber line="268"/><codeline> <highlight class="keywordflow">return</highlight>;</codeline>
+<linenumber line="269"/><codeline>}<highlight class="comment">// checkAndSetDeviceType()</highlight></codeline>
+<linenumber line="270"/><codeline> </codeline>
+<linenumber line="271"/><codeline><highlight class="comment">// \D\A\\81P\D\A\O\!?I\O\c!?\T\A\E?oAA?e ---------------------------------------</highlight></codeline>
+<linenumber line="272" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1c2"/><codeline><highlight class="keywordtype">void</highlight> ConsoleImpl::checkAndSetBackBufferFormat(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="273"/><codeline>{</codeline>
+<linenumber line="274"/><codeline> <highlight class="comment">//oCA\81Ê?E!\81\9116bit\\81á\e!?\a!?\E?IAaAo</highlight></codeline>
+<linenumber line="275"/><codeline> <highlight class="keywordflow">if</highlight>(SUCCEEDED(<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o3">mpD3D</ref>->CheckDeviceType(D3DADAPTER_DEFAULT,<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o4">mD3DDeviceType</ref> ,D3DFMT_A1R5G5B5,D3DFMT_A1R5G5B5,FALSE)))</codeline>
+<linenumber line="276"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o7">mD3DFormat</ref> = D3DFMT_A1R5G5B5;</codeline>
+<linenumber line="277"/><codeline> <highlight class="keywordflow">else</highlight></codeline>
+<linenumber line="278"/><codeline> {</codeline>
+<linenumber line="279"/><codeline> <highlight class="keywordflow">if</highlight>(SUCCEEDED(<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o3">mpD3D</ref>->CheckDeviceType(D3DADAPTER_DEFAULT,<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o4">mD3DDeviceType</ref> ,D3DFMT_A4R4G4B4,D3DFMT_A4R4G4B4,FALSE))){</codeline>
+<linenumber line="280"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o7">mD3DFormat</ref> = D3DFMT_A4R4G4B4;</codeline>
+<linenumber line="281"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="282"/><codeline> <highlight class="keywordflow">if</highlight>(SUCCEEDED(<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o3">mpD3D</ref>->CheckDeviceType(D3DADAPTER_DEFAULT,<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o4">mD3DDeviceType</ref> ,D3DFMT_X1R5G5B5,D3DFMT_X1R5G5B5,FALSE))){</codeline>
+<linenumber line="283"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o7">mD3DFormat</ref> = D3DFMT_X1R5G5B5;</codeline>
+<linenumber line="284"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="285"/><codeline> <highlight class="keywordflow">if</highlight>(SUCCEEDED(<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o3">mpD3D</ref>->CheckDeviceType(D3DADAPTER_DEFAULT,<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o4">mD3DDeviceType</ref> ,D3DFMT_R5G6B5,D3DFMT_R5G6B5,FALSE))){</codeline>
+<linenumber line="286"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o7">mD3DFormat</ref> = D3DFMT_R5G6B5;</codeline>
+<linenumber line="287"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="288"/><codeline> <highlight class="keywordflow">if</highlight>(SUCCEEDED(<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o3">mpD3D</ref>->CheckDeviceType(D3DADAPTER_DEFAULT,<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o4">mD3DDeviceType</ref> ,D3DFMT_X4R4G4B4,D3DFMT_X4R4G4B4,FALSE))){</codeline>
+<linenumber line="289"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o7">mD3DFormat</ref> = D3DFMT_X4R4G4B4;</codeline>
+<linenumber line="290"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="291"/><codeline> <highlight class="keywordflow">throw</highlight> RecoverbleErrorException(<highlight class="stringliteral">"Back Buffer Format Not Found"</highlight>,__FILE__,__LINE__,<ref idref="classsf_1_1system_1_1Exception_1s4s1">sf::system::Exception::DEVICE_NOT_FOUND</ref>);</codeline>
+<linenumber line="292"/><codeline> }</codeline>
+<linenumber line="293"/><codeline> }</codeline>
+<linenumber line="294"/><codeline> }</codeline>
+<linenumber line="295"/><codeline> }</codeline>
+<linenumber line="296"/><codeline> }</codeline>
+<linenumber line="297"/><codeline>}<highlight class="comment">// checkAndSetBackBufferFormat()</highlight></codeline>
+<linenumber line="298"/><codeline> </codeline>
+<linenumber line="299"/><codeline><highlight class="comment">// \A\\81P\1\A\a\\83Ê!?\O\\81\98!?\1?I\O\c!?\T\A\E?o?eAA?1?e -----------------------------</highlight></codeline>
+<linenumber line="300" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1c3"/><codeline><highlight class="keywordtype">void</highlight> ConsoleImpl::checkAndSetTextureFormat(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="301"/><codeline>{</codeline>
+<linenumber line="302"/><codeline> <highlight class="comment">// |A\O\A\E?o?a?A\A\\81P\1\A\a!?\O\c!?\T\A\E?oA\83Ê?1 </highlight></codeline>
+<linenumber line="303"/><codeline> <highlight class="keywordflow">if</highlight>(SUCCEEDED(<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o3">mpD3D</ref>->CheckDeviceFormat(D3DADAPTER_DEFAULT,<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o4">mD3DDeviceType</ref>,<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o7">mD3DFormat</ref>,0,D3DRTYPE_TEXTURE,D3DFMT_A1R5G5B5))){</codeline>
+<linenumber line="304"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o8">mTextureFormat</ref> = D3DFMT_A1R5G5B5;</codeline>
+<linenumber line="305"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="306"/><codeline> <highlight class="keywordflow">if</highlight>(SUCCEEDED(<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o3">mpD3D</ref>->CheckDeviceFormat(D3DADAPTER_DEFAULT,<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o4">mD3DDeviceType</ref>,<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o7">mD3DFormat</ref>,0,D3DRTYPE_TEXTURE,D3DFMT_A4R4G4B4))){</codeline>
+<linenumber line="307"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o8">mTextureFormat</ref> = D3DFMT_A4R4G4B4;</codeline>
+<linenumber line="308"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="309"/><codeline> <highlight class="keywordflow">if</highlight>(SUCCEEDED(<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o3">mpD3D</ref>->CheckDeviceFormat(D3DADAPTER_DEFAULT,<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o4">mD3DDeviceType</ref>,<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o7">mD3DFormat</ref>,0,D3DRTYPE_TEXTURE,D3DFMT_A8R3G3B2))){</codeline>
+<linenumber line="310"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o8">mTextureFormat</ref> = D3DFMT_A8R3G3B2;</codeline>
+<linenumber line="311"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="312"/><codeline> <highlight class="keywordflow">throw</highlight> RecoverbleErrorException(<highlight class="stringliteral">"Texture Format Not Found"</highlight>,__FILE__,__LINE__,<ref idref="classsf_1_1system_1_1Exception_1s4s1">sf::system::Exception::DEVICE_NOT_FOUND</ref>);</codeline>
+<linenumber line="313"/><codeline> }</codeline>
+<linenumber line="314"/><codeline> }</codeline>
+<linenumber line="315"/><codeline> }</codeline>
+<linenumber line="316"/><codeline>}<highlight class="comment">// checkAndSerTextureFormat()</highlight></codeline>
+<linenumber line="317"/><codeline></codeline>
+<linenumber line="318"/><codeline><highlight class="comment">// ??AU\D\A\O\!?I\O\c!?\T\A\E?oAA?e ------------------------------------------</highlight></codeline>
+<linenumber line="319" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1c4"/><codeline><highlight class="keywordtype">void</highlight> ConsoleImpl::checkAndSetDepthFormat()</codeline>
+<linenumber line="320"/><codeline>{</codeline>
+<linenumber line="321"/><codeline> <highlight class="keywordflow">if</highlight>(SUCCEEDED(<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o3">mpD3D</ref>->CheckDeviceFormat(D3DADAPTER_DEFAULT,<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o4">mD3DDeviceType</ref>,<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o7">mD3DFormat</ref>,D3DUSAGE_DEPTHSTENCIL,D3DRTYPE_SURFACE,D3DFMT_D16))){</codeline>
+<linenumber line="322"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o9">mDepthFormat</ref> = D3DFMT_D16;</codeline>
+<linenumber line="323"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="324"/><codeline> <highlight class="keywordflow">if</highlight>(SUCCEEDED(<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o3">mpD3D</ref>->CheckDeviceFormat(D3DADAPTER_DEFAULT,<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o4">mD3DDeviceType</ref>,<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o7">mD3DFormat</ref>,D3DUSAGE_DEPTHSTENCIL,D3DRTYPE_SURFACE,D3DFMT_D16_LOCKABLE))){</codeline>
+<linenumber line="325"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o9">mDepthFormat</ref> = D3DFMT_D16_LOCKABLE;</codeline>
+<linenumber line="326"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="327"/><codeline> <highlight class="keywordflow">throw</highlight> RecoverbleErrorException(<highlight class="stringliteral">"Depth Format Not Found"</highlight>,__FILE__,__LINE__,<ref idref="classsf_1_1system_1_1Exception_1s4s1">sf::system::Exception::DEVICE_NOT_FOUND</ref>);</codeline>
+<linenumber line="328"/><codeline> }</codeline>
+<linenumber line="329"/><codeline> }</codeline>
+<linenumber line="330"/><codeline>}<highlight class="comment">// checkAndSetDepthFormat()</highlight></codeline>
+<linenumber line="331"/><codeline></codeline>
+<linenumber line="332"/><codeline><highlight class="comment">// \i\o\A\e\o\\81\8b\1\A!?\E!\81\91\A\\81P\1\A\a\1\A!?\\81C\1\A!?\E?I?e\81Lu2? --------------------</highlight></codeline>
+<linenumber line="333" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1c5"/><codeline><highlight class="keywordtype">void</highlight> ConsoleImpl::initDeviceStates(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="334"/><codeline>{</codeline>
+<linenumber line="335"/><codeline> HRESULT hr;</codeline>
+<linenumber line="336"/><codeline> </codeline>
+<linenumber line="337"/><codeline> hr = <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetRenderState(D3DRS_SPECULARENABLE, TRUE);</codeline>
+<linenumber line="338"/><codeline> <highlight class="keywordflow">if</highlight> (FAILED(hr)){</codeline>
+<linenumber line="339"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);</codeline>
+<linenumber line="340"/><codeline> }</codeline>
+<linenumber line="341"/><codeline> </codeline>
+<linenumber line="342"/><codeline> <highlight class="comment">//D3D\C\D\?\1?I\i\o\A\e\o\\81\8b\1\A!?\E?IAsAe//////////////////////</highlight></codeline>
+<linenumber line="343"/><codeline> </codeline>
+<linenumber line="344"/><codeline> <highlight class="comment">//\e\?\A\\81\92\o\\81\8b</highlight></codeline>
+<linenumber line="345"/><codeline> hr = <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetRenderState(D3DRS_LIGHTING, TRUE);</codeline>
+<linenumber line="346"/><codeline> <highlight class="keywordflow">if</highlight> (FAILED(hr)){</codeline>
+<linenumber line="347"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);</codeline>
+<linenumber line="348"/><codeline> }</codeline>
+<linenumber line="349"/><codeline></codeline>
+<linenumber line="350"/><codeline> <highlight class="comment">//Z\D\A\O\!</highlight></codeline>
+<linenumber line="351"/><codeline> hr = <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetRenderState(D3DRS_ZENABLE, TRUE);</codeline>
+<linenumber line="352"/><codeline> <highlight class="keywordflow">if</highlight> (FAILED(hr)){</codeline>
+<linenumber line="353"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);</codeline>
+<linenumber line="354"/><codeline> }</codeline>
+<linenumber line="355"/><codeline><highlight class="comment">// hr = mpD3DDevice->SetRenderState(D3DRS_ZWRITEENABLE, TRUE);</highlight></codeline>
+<linenumber line="356"/><codeline> </codeline>
+<linenumber line="357"/><codeline> <highlight class="comment">// Enable vertices to have colors </highlight></codeline>
+<linenumber line="358"/><codeline></codeline>
+<linenumber line="359"/><codeline> hr = <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetRenderState(D3DRS_COLORVERTEX, TRUE);</codeline>
+<linenumber line="360"/><codeline> <highlight class="keywordflow">if</highlight> (FAILED(hr)){</codeline>
+<linenumber line="361"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);</codeline>
+<linenumber line="362"/><codeline> }</codeline>
+<linenumber line="363"/><codeline> </codeline>
+<linenumber line="364"/><codeline> <highlight class="comment">// Enable vertices to have colors </highlight></codeline>
+<linenumber line="365"/><codeline><highlight class="comment">/* hr = mpD3DDevice->SetRenderState(D3DRS_CULLMODE , D3DCULL_NONE );</highlight></codeline>
+<linenumber line="366"/><codeline><highlight class="comment"> if (FAILED(hr)){</highlight></codeline>
+<linenumber line="367"/><codeline><highlight class="comment"> system::Factory::getInstance()->errorTerminate(DXGetErrorString8(hr));</highlight></codeline>
+<linenumber line="368"/><codeline><highlight class="comment"> return false;</highlight></codeline>
+<linenumber line="369"/><codeline><highlight class="comment"> }</highlight></codeline>
+<linenumber line="370"/><codeline><highlight class="comment">*/</highlight></codeline>
+<linenumber line="371"/><codeline> <highlight class="comment">// \\81P\e\A\O\o\\81\8b</highlight></codeline>
+<linenumber line="372"/><codeline> hr = <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetRenderState( D3DRS_CLIPPING, TRUE);</codeline>
+<linenumber line="373"/><codeline> <highlight class="keywordflow">if</highlight> (FAILED(hr)){</codeline>
+<linenumber line="374"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);</codeline>
+<linenumber line="375"/><codeline> }</codeline>
+<linenumber line="376"/><codeline> </codeline>
+<linenumber line="377"/><codeline><highlight class="comment">/* hr = mpD3DDevice->SetRenderState(D3DRS_DIFFUSEMATERIALSOURCE, TRUE);</highlight></codeline>
+<linenumber line="378"/><codeline><highlight class="comment"> if (FAILED(hr)){</highlight></codeline>
+<linenumber line="379"/><codeline><highlight class="comment"> system::Factory::getInstance()->errorTerminate(DXGetErrorString8(hr));</highlight></codeline>
+<linenumber line="380"/><codeline><highlight class="comment"> return false;</highlight></codeline>
+<linenumber line="381"/><codeline><highlight class="comment"> }</highlight></codeline>
+<linenumber line="382"/><codeline><highlight class="comment">*/</highlight></codeline>
+<linenumber line="383"/><codeline> hr = <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetRenderState(D3DRS_AMBIENT, 0xFF808080);</codeline>
+<linenumber line="384"/><codeline> <highlight class="keywordflow">if</highlight> (FAILED(hr)){</codeline>
+<linenumber line="385"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);</codeline>
+<linenumber line="386"/><codeline> }</codeline>
+<linenumber line="387"/><codeline></codeline>
+<linenumber line="388"/><codeline></codeline>
+<linenumber line="389"/><codeline> <highlight class="comment">// hr = mpD3DDevice->SetRenderState(D3DRS_COLORKEYENABLE, TRUE);</highlight></codeline>
+<linenumber line="390"/><codeline> <highlight class="comment">// if (FAILED(hr))</highlight></codeline>
+<linenumber line="391"/><codeline> <highlight class="comment">// return false; </highlight></codeline>
+<linenumber line="392"/><codeline> </codeline>
+<linenumber line="393"/><codeline> <highlight class="comment">// hr = mpD3DDevice->SetRenderState( D3DRS_ALPHAFUNC, D3DCMP_GREATEREQUAL);</highlight></codeline>
+<linenumber line="394"/><codeline> <highlight class="comment">// if (FAILED(hr))</highlight></codeline>
+<linenumber line="395"/><codeline> <highlight class="comment">// return hr;</highlight></codeline>
+<linenumber line="396"/><codeline> </codeline>
+<linenumber line="397"/><codeline> </codeline>
+<linenumber line="398"/><codeline> <highlight class="comment">// hr = mpD3DDevice->SetRenderState( D3DRS_ALPHATESTENABLE , TRUE);</highlight></codeline>
+<linenumber line="399"/><codeline> <highlight class="comment">// if (FAILED(hr))</highlight></codeline>
+<linenumber line="400"/><codeline> <highlight class="comment">// return hr;</highlight></codeline>
+<linenumber line="401"/><codeline> </codeline>
+<linenumber line="402"/><codeline> <highlight class="comment">// hr = mpD3DDevice->SetRenderState( D3DRS_ALPHAREF, 0xff);</highlight></codeline>
+<linenumber line="403"/><codeline> <highlight class="comment">// if (FAILED(hr))</highlight></codeline>
+<linenumber line="404"/><codeline> <highlight class="comment">// return hr;</highlight></codeline>
+<linenumber line="405"/><codeline> </codeline>
+<linenumber line="406"/><codeline> </codeline>
+<linenumber line="407"/><codeline> <highlight class="comment">// hr = mpD3DDevice->SetRenderState(D3DRS_DITHERENABLE, TRUE);</highlight></codeline>
+<linenumber line="408"/><codeline> <highlight class="comment">// hr = mpD3DDevice->SetRenderState(D3DRS_ANTIALIAS, D3DANTIALIAS_NONE );</highlight></codeline>
+<linenumber line="409"/><codeline> <highlight class="comment">// if (FAILED(hr))</highlight></codeline>
+<linenumber line="410"/><codeline> <highlight class="comment">// return false; </highlight></codeline>
+<linenumber line="411"/><codeline> </codeline>
+<linenumber line="412"/><codeline><highlight class="comment">// hr = mpD3DDevice->SetRenderState(D3DRS_SHADEMODE, D3DSHADE_FLAT);</highlight></codeline>
+<linenumber line="413"/><codeline><highlight class="comment">// if (FAILED(hr)){</highlight></codeline>
+<linenumber line="414"/><codeline><highlight class="comment">// system::Factory::getInstance()->errorTerminate(DXGetErrorString8(hr));</highlight></codeline>
+<linenumber line="415"/><codeline><highlight class="comment">// return false;</highlight></codeline>
+<linenumber line="416"/><codeline><highlight class="comment">// }</highlight></codeline>
+<linenumber line="417"/><codeline> </codeline>
+<linenumber line="418"/><codeline> hr = <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); </codeline>
+<linenumber line="419"/><codeline> <highlight class="keywordflow">if</highlight> (FAILED(hr)){</codeline>
+<linenumber line="420"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);</codeline>
+<linenumber line="421"/><codeline> }</codeline>
+<linenumber line="422"/><codeline> </codeline>
+<linenumber line="423"/><codeline> hr = <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA);</codeline>
+<linenumber line="424"/><codeline> <highlight class="keywordflow">if</highlight> (FAILED(hr)){</codeline>
+<linenumber line="425"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);</codeline>
+<linenumber line="426"/><codeline> }</codeline>
+<linenumber line="427"/><codeline> </codeline>
+<linenumber line="428"/><codeline> hr = <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);</codeline>
+<linenumber line="429"/><codeline> <highlight class="keywordflow">if</highlight> (FAILED(hr)){</codeline>
+<linenumber line="430"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);</codeline>
+<linenumber line="431"/><codeline> }</codeline>
+<linenumber line="432"/><codeline> </codeline>
+<linenumber line="433"/><codeline> <highlight class="comment">// \A\\81P\1\A\a\1\A!?\\81C\1\A!?\E?IAsAe //</highlight></codeline>
+<linenumber line="434"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE );</codeline>
+<linenumber line="435"/><codeline> </codeline>
+<linenumber line="436"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );</codeline>
+<linenumber line="437"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE );</codeline>
+<linenumber line="438"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_MODULATE );</codeline>
+<linenumber line="439"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE );</codeline>
+<linenumber line="440"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetTextureStageState( 0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE );</codeline>
+<linenumber line="441"/><codeline> </codeline>
+<linenumber line="442"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetTextureStageState( 0, D3DTSS_MINFILTER, D3DTEXF_POINT );</codeline>
+<linenumber line="443"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetTextureStageState( 0, D3DTSS_MAGFILTER, D3DTEXF_POINT );</codeline>
+<linenumber line="444"/><codeline></codeline>
+<linenumber line="445"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetTextureStageState( 0, D3DTSS_MIPFILTER, D3DTEXF_NONE );</codeline>
+<linenumber line="446"/><codeline></codeline>
+<linenumber line="447"/><codeline><highlight class="comment">/* mpD3DDevice->SetTextureStageState( 0, D3DTSS_TEXCOORDINDEX, 0 );</highlight></codeline>
+<linenumber line="448"/><codeline><highlight class="comment"> mpD3DDevice->SetTextureStageState( 0, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_DISABLE );</highlight></codeline>
+<linenumber line="449"/><codeline><highlight class="comment">*/</highlight></codeline>
+<linenumber line="450"/><codeline></codeline>
+<linenumber line="451"/><codeline>}<highlight class="comment">// initDeviceStates()</highlight></codeline>
+<linenumber line="452"/><codeline></codeline>
+<linenumber line="453"/><codeline><highlight class="comment">// 2eII?I?e\81Lu2?\O\a!?\Y!?\E?IAsAe?E?E ------------------------------------------</highlight></codeline>
+<linenumber line="454" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1c6"/><codeline><highlight class="keywordtype">void</highlight> ConsoleImpl::initConsoleViewStyle(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="455"/><codeline>{</codeline>
+<linenumber line="456"/><codeline></codeline>
+<linenumber line="457"/><codeline> HRESULT hr = E_FAIL;</codeline>
+<linenumber line="458"/><codeline></codeline>
+<linenumber line="459"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c7">initLight</ref>(); </codeline>
+<linenumber line="460"/><codeline></codeline>
+<linenumber line="461"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->BeginScene();</codeline>
+<linenumber line="462"/><codeline></codeline>
+<linenumber line="463"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c8">initMatrix</ref>();</codeline>
+<linenumber line="464"/><codeline></codeline>
+<linenumber line="465"/><codeline></codeline>
+<linenumber line="466"/><codeline> </codeline>
+<linenumber line="467"/><codeline> <highlight class="comment">//2eII\\81P\e\\81\91//</highlight></codeline>
+<linenumber line="468"/><codeline></codeline>
+<linenumber line="469"/><codeline> </codeline>
+<linenumber line="470"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->Clear(0,NULL,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,D3DCOLOR_COLORVALUE(0.0f,0.5f,0.0f,0.0f),0.0f,0);</codeline>
+<linenumber line="471"/><codeline> </codeline>
+<linenumber line="472"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->EndScene();</codeline>
+<linenumber line="473"/><codeline> </codeline>
+<linenumber line="474"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->Present(NULL,NULL,NULL,NULL);</codeline>
+<linenumber line="475"/><codeline> </codeline>
+<linenumber line="476"/><codeline> <highlight class="comment">//\O\a!?\Y!?\E?IAsAe//</highlight></codeline>
+<linenumber line="477"/><codeline> </codeline>
+<linenumber line="478"/><codeline> D3DVIEWPORT8 d3dv;</codeline>
+<linenumber line="479"/><codeline> </codeline>
+<linenumber line="480"/><codeline> d3dv.X = viewport::X;</codeline>
+<linenumber line="481"/><codeline> d3dv.Y = viewport::Y;</codeline>
+<linenumber line="482"/><codeline> d3dv.Width = viewport::WIDTH;</codeline>
+<linenumber line="483"/><codeline> d3dv.Height = viewport::HEIGHT;</codeline>
+<linenumber line="484"/><codeline> d3dv.MinZ = viewport::Z_MIN;</codeline>
+<linenumber line="485"/><codeline> d3dv.MaxZ = viewport::Z_MAX;</codeline>
+<linenumber line="486"/><codeline> </codeline>
+<linenumber line="487"/><codeline> hr = <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetViewport(&d3dv);</codeline>
+<linenumber line="488"/><codeline> <highlight class="keywordflow">if</highlight>(FAILED(hr)){</codeline>
+<linenumber line="489"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);</codeline>
+<linenumber line="490"/><codeline> }</codeline>
+<linenumber line="491"/><codeline> </codeline>
+<linenumber line="492"/><codeline> <highlight class="comment">//!!\O\a!?\Y!?\EAa?I\\81P\e\\81\91</highlight></codeline>
+<linenumber line="493"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->BeginScene();</codeline>
+<linenumber line="494"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1a6">clearScreen</ref>();</codeline>
+<linenumber line="495"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->EndScene();</codeline>
+<linenumber line="496"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->Present(NULL,NULL,NULL,NULL);</codeline>
+<linenumber line="497"/><codeline>}<highlight class="comment">//initConsoleViewStyle();</highlight></codeline>
+<linenumber line="498"/><codeline></codeline>
+<linenumber line="499"/><codeline><highlight class="comment">// \e\?\E?I?e\81Lu2? !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="500" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1c7"/><codeline><highlight class="keywordtype">void</highlight> ConsoleImpl::initLight()</codeline>
+<linenumber line="501"/><codeline>{</codeline>
+<linenumber line="502"/><codeline> D3DLIGHT8 light;</codeline>
+<linenumber line="503"/><codeline> ZeroMemory(&light, <highlight class="keyword">sizeof</highlight>(D3DLIGHT8));</codeline>
+<linenumber line="504"/><codeline> light.Type = D3DLIGHT_DIRECTIONAL;</codeline>
+<linenumber line="505"/><codeline> light.Diffuse.r = 1.0f;</codeline>
+<linenumber line="506"/><codeline> light.Diffuse.g = 1.0f;</codeline>
+<linenumber line="507"/><codeline> light.Diffuse.b = 1.0f;</codeline>
+<linenumber line="508"/><codeline> D3DXVECTOR3 v(0.7f, -0.8f, 0.1f);</codeline>
+<linenumber line="509"/><codeline> D3DXVec3Normalize((D3DXVECTOR3 *)&light.Direction, &v);</codeline>
+<linenumber line="510"/><codeline> light.Range = 100.0f;</codeline>
+<linenumber line="511"/><codeline> </codeline>
+<linenumber line="512"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetLight(0, &light);</codeline>
+<linenumber line="513"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->LightEnable(0, TRUE);</codeline>
+<linenumber line="514"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetRenderState(D3DRS_LIGHTING, TRUE);</codeline>
+<linenumber line="515"/><codeline>}</codeline>
+<linenumber line="516"/><codeline></codeline>
+<linenumber line="517"/><codeline><highlight class="comment">// 1OIo?I?e\81Lu2? !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="518" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1c8"/><codeline><highlight class="keywordtype">void</highlight> ConsoleImpl::initMatrix()</codeline>
+<linenumber line="519"/><codeline>{</codeline>
+<linenumber line="520"/><codeline> <highlight class="comment">// 3D View ?IAsAe(\81â21I!\81\98?\81~?e!??o?\83Ê?o?I\e\?\O\e\e) </highlight></codeline>
+<linenumber line="521"/><codeline> <highlight class="comment">// ?U?E?o?E!\81\91???I?T?T?C?1!\81\92</highlight></codeline>
+<linenumber line="522"/><codeline></codeline>
+<linenumber line="523"/><codeline> <highlight class="comment">//\81LdEUAIAsAe</highlight></codeline>
+<linenumber line="524"/><codeline> <highlight class="keywordtype">float</highlight> aspect = (float) screen::WIDTH / screen::HEIGHT; <highlight class="comment">//\\81\91\1\U\\81P\EEa(1a?\83Ê?o1?E?\81E???E?-?IEy)</highlight></codeline>
+<linenumber line="525"/><codeline> <highlight class="keywordtype">float</highlight> aspect_v = (float) viewport::WIDTH / viewport::HEIGHT; <highlight class="comment">//\\81\91\1\U\\81P\EEa(1a?\83Ê?o1?E?\81E???E?-?IEy)</highlight></codeline>
+<linenumber line="526"/><codeline></codeline>
+<linenumber line="527"/><codeline> <highlight class="keywordtype">float</highlight> depth = 1.5f; <highlight class="comment">//\81}u1O?-Z</highlight></codeline>
+<linenumber line="528"/><codeline> <highlight class="keywordtype">float</highlight> fovy = (float)atan(1.0f / depth) * 2.0f; <highlight class="comment">//\81âeIi?oZ=0?C\C\D\?\1?IEy?E1a?\83Ê?E1c?i?\81â?e</highlight></codeline>
+<linenumber line="529"/><codeline> </codeline>
+<linenumber line="530"/><codeline> <highlight class="comment">//oAE\81C?oA\81E?\81N?e</highlight></codeline>
+<linenumber line="531"/><codeline> D3DXMATRIX mat_view;</codeline>
+<linenumber line="532"/><codeline> D3DXMatrixLookAtLH( &mat_view, </codeline>
+<linenumber line="533"/><codeline> &D3DXVECTOR3( aspect, -1.0f,-depth),</codeline>
+<linenumber line="534"/><codeline> &D3DXVECTOR3( aspect, -1.0f, 0.0f),</codeline>
+<linenumber line="535"/><codeline> &D3DXVECTOR3( 0.0f, 1.0f, 0.0f ) );</codeline>
+<linenumber line="536"/><codeline></codeline>
+<linenumber line="537"/><codeline><highlight class="comment">/* D3DXMatrixLookAtLH( &mat_view, &D3DXVECTOR3( 0.0f, 3.0f,-5.0f ),</highlight></codeline>
+<linenumber line="538"/><codeline><highlight class="comment"> &D3DXVECTOR3( 0.0f, 0.0f, 0.0f ),</highlight></codeline>
+<linenumber line="539"/><codeline><highlight class="comment"> &D3DXVECTOR3( 0.0f, 1.0f, 0.0f ) );</highlight></codeline>
+<linenumber line="540"/><codeline><highlight class="comment">*/</highlight></codeline>
+<linenumber line="541"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetTransform( D3DTS_VIEW, &mat_view );</codeline>
+<linenumber line="542"/><codeline></codeline>
+<linenumber line="543"/><codeline> <highlight class="comment">//\81}u1O?-?EAD?1?eEaI\81N?oA\81LA\81\8b</highlight></codeline>
+<linenumber line="544"/><codeline> D3DXMATRIX mat_proj;</codeline>
+<linenumber line="545"/><codeline><highlight class="comment">// D3DXMatrixPerspectiveFovLH( &mat_proj, D3DX_PI/4, aspect_v, 1.0f, 100.0f );</highlight></codeline>
+<linenumber line="546"/><codeline></codeline>
+<linenumber line="547"/><codeline> D3DXMatrixPerspectiveFovLH( &mat_proj,fovy, aspect_v, 1.0f, 100.0f );</codeline>
+<linenumber line="548"/><codeline></codeline>
+<linenumber line="549"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetTransform( D3DTS_PROJECTION, &mat_proj );</codeline>
+<linenumber line="550"/><codeline> </codeline>
+<linenumber line="551"/><codeline> <highlight class="comment">// </highlight></codeline>
+<linenumber line="552"/><codeline></codeline>
+<linenumber line="553"/><codeline>}<highlight class="comment">//initMatrix()</highlight></codeline>
+<linenumber line="554"/><codeline></codeline>
+<linenumber line="555"/><codeline><highlight class="comment">// create\81ât?a?e?Oreset\81ât?IoA?e\81Lu2?---------------------------------------------</highlight></codeline>
+<linenumber line="556" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1c9"/><codeline><highlight class="keywordtype">void</highlight> ConsoleImpl::initNotManagedObjects(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="557"/><codeline>{</codeline>
+<linenumber line="558"/><codeline> HRESULT hr;</codeline>
+<linenumber line="559"/><codeline></codeline>
+<linenumber line="560"/><codeline> <highlight class="comment">//\1\\81~\e\?\E\a\O\\81C\\81\98\\81P\E</highlight></codeline>
+<linenumber line="561"/><codeline> </codeline>
+<linenumber line="562"/><codeline> <highlight class="keywordflow">if</highlight>(FAILED(hr = D3DXCreateSprite(<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>,&<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o6">mpD3DXSprite</ref>)))</codeline>
+<linenumber line="563"/><codeline> {</codeline>
+<linenumber line="564"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);</codeline>
+<linenumber line="565"/><codeline> }</codeline>
+<linenumber line="566"/><codeline></codeline>
+<linenumber line="567"/><codeline>}<highlight class="comment">// initNotManagedObjects</highlight></codeline>
+<linenumber line="568"/><codeline></codeline>
+<linenumber line="569" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1c10"/><codeline><highlight class="keywordtype">void</highlight> ConsoleImpl::releaseNotManagedObjects(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="570"/><codeline>{</codeline>
+<linenumber line="571"/><codeline> </codeline>
+<linenumber line="572"/><codeline> <highlight class="keywordflow">if</highlight>(mpD3DXSprite)</codeline>
+<linenumber line="573"/><codeline> {</codeline>
+<linenumber line="574"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o6">mpD3DXSprite</ref>->Release();</codeline>
+<linenumber line="575"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o6">mpD3DXSprite</ref> = NULL;</codeline>
+<linenumber line="576"/><codeline> }</codeline>
+<linenumber line="577"/><codeline> </codeline>
+<linenumber line="578"/><codeline>}<highlight class="comment">// releaseNotManagedObjects</highlight></codeline>
+<linenumber line="579"/><codeline></codeline>
+<linenumber line="580"/><codeline><highlight class="comment">// ?aI\81â?eIy -------------------------------------------------------------------</highlight></codeline>
+<linenumber line="581" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1a5"/><codeline><highlight class="keywordtype">void</highlight> ConsoleImpl::uninitialize(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="582"/><codeline>{</codeline>
+<linenumber line="583"/><codeline> <highlight class="keywordtype">int</highlight> i;</codeline>
+<linenumber line="584"/><codeline> </codeline>
+<linenumber line="585"/><codeline> <highlight class="comment">// \O\c\o\E\A\\81P\1\A\a?I\e\e!?\1</highlight></codeline>
+<linenumber line="586"/><codeline> <highlight class="keywordflow">for</highlight>(i = 0;i < font::COUNT_MAX;i++)</codeline>
+<linenumber line="587"/><codeline> {</codeline>
+<linenumber line="588"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o11">mpFontTexture</ref>[i]){</codeline>
+<linenumber line="589"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o11">mpFontTexture</ref>[i]->Release();</codeline>
+<linenumber line="590"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o11">mpFontTexture</ref>[i] = NULL;</codeline>
+<linenumber line="591"/><codeline> }</codeline>
+<linenumber line="592"/><codeline> }</codeline>
+<linenumber line="593"/><codeline> <highlight class="comment">// \1\\81~\e\?\E\a\O\\81C\\81\98\\81P\E?I?e\81Lu2?</highlight></codeline>
+<linenumber line="594"/><codeline> <highlight class="keywordflow">for</highlight>(i = 0;i < sprite::MAX;i++)</codeline>
+<linenumber line="595"/><codeline> {</codeline>
+<linenumber line="596"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o12">mpSprite</ref>[i]){</codeline>
+<linenumber line="597"/><codeline> <highlight class="keyword">delete</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o12">mpSprite</ref>[i];</codeline>
+<linenumber line="598"/><codeline> }</codeline>
+<linenumber line="599"/><codeline> }</codeline>
+<linenumber line="600"/><codeline></codeline>
+<linenumber line="601"/><codeline></codeline>
+<linenumber line="602"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c10">releaseNotManagedObjects</ref>();</codeline>
+<linenumber line="603"/><codeline></codeline>
+<linenumber line="604"/><codeline> <highlight class="comment">// D3D\C\D\?\1?I\e\e!?\1</highlight></codeline>
+<linenumber line="605"/><codeline> <highlight class="keywordflow">if</highlight>(mpD3DDevice) {</codeline>
+<linenumber line="606"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->Release();</codeline>
+<linenumber line="607"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref> = NULL;</codeline>
+<linenumber line="608"/><codeline> }</codeline>
+<linenumber line="609"/><codeline> </codeline>
+<linenumber line="610"/><codeline> <highlight class="comment">// Direct3D\a\O\\81C\\81\98\\81P\E?I\e\e!?\1</highlight></codeline>
+<linenumber line="611"/><codeline> <highlight class="keywordflow">if</highlight>(mpD3D){</codeline>
+<linenumber line="612"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o3">mpD3D</ref>->Release();</codeline>
+<linenumber line="613"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o3">mpD3D</ref> = NULL;</codeline>
+<linenumber line="614"/><codeline> }</codeline>
+<linenumber line="615"/><codeline> </codeline>
+<linenumber line="616"/><codeline> <highlight class="comment">// text queue ?I\\81P\e\\81\91</highlight></codeline>
+<linenumber line="617"/><codeline> </codeline>
+<linenumber line="618"/><codeline> <highlight class="keywordflow">while</highlight>(!<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o13">mTextQueue</ref>.empty())</codeline>
+<linenumber line="619"/><codeline> {</codeline>
+<linenumber line="620"/><codeline> <highlight class="keyword">delete</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o13">mTextQueue</ref>.front();</codeline>
+<linenumber line="621"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o13">mTextQueue</ref>.pop();</codeline>
+<linenumber line="622"/><codeline> }</codeline>
+<linenumber line="623"/><codeline></codeline>
+<linenumber line="624"/><codeline>}<highlight class="comment">// Uninitialize</highlight></codeline>
+<linenumber line="625"/><codeline></codeline>
+<linenumber line="626"/><codeline><highlight class="comment">// \O\c\o\E\81LOI\81\91\a\?\A\E ///////////////////////////////////////////////////////</highlight></codeline>
+<linenumber line="627"/><codeline></codeline>
+<linenumber line="628"/><codeline><highlight class="comment">// \O\c\o\E\i!?\E -----------------------------------------------------------</highlight></codeline>
+<linenumber line="629" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1c11"/><codeline><highlight class="keywordtype">void</highlight> ConsoleImpl::loadFont(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="630"/><codeline>{</codeline>
+<linenumber line="631"/><codeline> </codeline>
+<linenumber line="632"/><codeline> HRESULT hr;</codeline>
+<linenumber line="633"/><codeline> <highlight class="keywordflow">for</highlight>(<highlight class="keywordtype">int</highlight> i = 0;i < font::COUNT_MAX;i++)</codeline>
+<linenumber line="634"/><codeline> {</codeline>
+<linenumber line="635"/><codeline> hr = D3DXCreateTextureFromFileExA(</codeline>
+<linenumber line="636"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>,</codeline>
+<linenumber line="637"/><codeline> font::FILE_PATH[i],</codeline>
+<linenumber line="638"/><codeline> D3DX_DEFAULT,</codeline>
+<linenumber line="639"/><codeline> D3DX_DEFAULT,</codeline>
+<linenumber line="640"/><codeline> 0,</codeline>
+<linenumber line="641"/><codeline> 0,</codeline>
+<linenumber line="642"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o8">mTextureFormat</ref>,</codeline>
+<linenumber line="643"/><codeline> D3DPOOL_MANAGED,</codeline>
+<linenumber line="644"/><codeline> D3DX_FILTER_NONE,</codeline>
+<linenumber line="645"/><codeline> D3DX_FILTER_NONE,</codeline>
+<linenumber line="646"/><codeline> 0xff000000,</codeline>
+<linenumber line="647"/><codeline> NULL,</codeline>
+<linenumber line="648"/><codeline> NULL,</codeline>
+<linenumber line="649"/><codeline> &<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o11">mpFontTexture</ref>[i]);</codeline>
+<linenumber line="650"/><codeline></codeline>
+<linenumber line="651"/><codeline> <highlight class="keywordflow">if</highlight>(FAILED(hr))</codeline>
+<linenumber line="652"/><codeline> {</codeline>
+<linenumber line="653"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);</codeline>
+<linenumber line="654"/><codeline> }</codeline>
+<linenumber line="655"/><codeline> }</codeline>
+<linenumber line="656"/><codeline>}<highlight class="comment">// LoadFont</highlight></codeline>
+<linenumber line="657"/><codeline></codeline>
+<linenumber line="658"/><codeline><highlight class="comment">// \-\a\e\\81P\?\A\\81P\1\A\a?o\81âEIN?\81E?A!\81\91E\81C\81âuIo?oE??\81N?1?e -----------------------</highlight></codeline>
+<linenumber line="659" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1c14"/><codeline><highlight class="keywordtype">void</highlight> ConsoleImpl::textDraw(<highlight class="keywordtype">int</highlight> textureNo,<highlight class="keywordtype">float</highlight> x,<highlight class="keywordtype">float</highlight> y,<highlight class="keywordtype">float</highlight> angleRad,<highlight class="keywordtype">float</highlight> scale,COLOR color,</codeline>
+<linenumber line="660"/><codeline> <highlight class="keywordtype">char</highlight> *pBuf)</codeline>
+<linenumber line="661"/><codeline>{</codeline>
+<linenumber line="662"/><codeline></codeline>
+<linenumber line="663"/><codeline> <highlight class="keywordtype">int</highlight> cc = text::BUFFER_LENGTH;</codeline>
+<linenumber line="664"/><codeline> <highlight class="keywordtype">int</highlight> ncc,ix,iy;</codeline>
+<linenumber line="665"/><codeline> </codeline>
+<linenumber line="666"/><codeline> <highlight class="keywordtype">float</highlight> startx = x;</codeline>
+<linenumber line="667"/><codeline> <highlight class="keywordtype">float</highlight> starty = y;</codeline>
+<linenumber line="668"/><codeline> </codeline>
+<linenumber line="669"/><codeline> D3DXVECTOR2 scaling,rotation_center,translation;</codeline>
+<linenumber line="670"/><codeline> </codeline>
+<linenumber line="671"/><codeline> <highlight class="keywordtype">float</highlight> line = 0;</codeline>
+<linenumber line="672"/><codeline> RECT srect;</codeline>
+<linenumber line="673"/><codeline> </codeline>
+<linenumber line="674"/><codeline> </codeline>
+<linenumber line="675"/><codeline> </codeline>
+<linenumber line="676"/><codeline> <highlight class="keywordtype">float</highlight> dx = text::COLUMN_PITCH * scale * cosf(angleRad);</codeline>
+<linenumber line="677"/><codeline> <highlight class="keywordtype">float</highlight> dy = text::COLUMN_PITCH * scale * sinf(angleRad);</codeline>
+<linenumber line="678"/><codeline> </codeline>
+<linenumber line="679"/><codeline> scaling.x = scaling.y = scale;</codeline>
+<linenumber line="680"/><codeline> </codeline>
+<linenumber line="681"/><codeline> rotation_center.x = font::WIDTH / 2;</codeline>
+<linenumber line="682"/><codeline> rotation_center.y = font::HEIGHT / 2;</codeline>
+<linenumber line="683"/><codeline> </codeline>
+<linenumber line="684"/><codeline> <highlight class="comment">// \\81á\e!?\-!??I?O?A?\81ÊE\81L?\81}?E??\81C??Y?oEE\81âs?1?e???a</highlight></codeline>
+<linenumber line="685"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetTextureStageState(0, D3DTSS_MAGFILTER , D3DTEXF_POINT);</codeline>
+<linenumber line="686"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->SetTextureStageState(0, D3DTSS_MINFILTER , D3DTEXF_POINT);</codeline>
+<linenumber line="687"/><codeline> </codeline>
+<linenumber line="688"/><codeline> <highlight class="keywordflow">while</highlight>(*pBuf && cc){</codeline>
+<linenumber line="689"/><codeline> ncc = *pBuf++;</codeline>
+<linenumber line="690"/><codeline> <highlight class="keywordflow">if</highlight> (ncc > 0x1f && ncc < 0x80){</codeline>
+<linenumber line="691"/><codeline> ncc -= 0x20;</codeline>
+<linenumber line="692"/><codeline> </codeline>
+<linenumber line="693"/><codeline> ix = (ncc % 16) * font::WIDTH;</codeline>
+<linenumber line="694"/><codeline> iy = (ncc / 16) * font::HEIGHT;</codeline>
+<linenumber line="695"/><codeline> </codeline>
+<linenumber line="696"/><codeline> srect.top = iy;</codeline>
+<linenumber line="697"/><codeline> srect.left = ix;</codeline>
+<linenumber line="698"/><codeline> srect.right = ix + font::WIDTH; </codeline>
+<linenumber line="699"/><codeline> srect.bottom = iy + font::HEIGHT;</codeline>
+<linenumber line="700"/><codeline> </codeline>
+<linenumber line="701"/><codeline> translation.x = x;</codeline>
+<linenumber line="702"/><codeline> translation.y = y;</codeline>
+<linenumber line="703"/><codeline> </codeline>
+<linenumber line="704"/><codeline> <highlight class="comment">// mPointDest.z = zOrder;</highlight></codeline>
+<linenumber line="705"/><codeline> </codeline>
+<linenumber line="706"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o6">mpD3DXSprite</ref>->Draw(</codeline>
+<linenumber line="707"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o11">mpFontTexture</ref>[textureNo],</codeline>
+<linenumber line="708"/><codeline> &srect,</codeline>
+<linenumber line="709"/><codeline> &scaling,</codeline>
+<linenumber line="710"/><codeline> &rotation_center,</codeline>
+<linenumber line="711"/><codeline> 2 * D3DX_PI - angleRad,</codeline>
+<linenumber line="712"/><codeline> &translation,</codeline>
+<linenumber line="713"/><codeline> (D3DCOLOR)color</codeline>
+<linenumber line="714"/><codeline> );</codeline>
+<linenumber line="715"/><codeline> </codeline>
+<linenumber line="716"/><codeline> x += dx;</codeline>
+<linenumber line="717"/><codeline> y += dy;</codeline>
+<linenumber line="718"/><codeline> </codeline>
+<linenumber line="719"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="720"/><codeline> </codeline>
+<linenumber line="721"/><codeline> <highlight class="keywordflow">if</highlight> (ncc == 0xa){<highlight class="comment">//LF</highlight></codeline>
+<linenumber line="722"/><codeline> line++;</codeline>
+<linenumber line="723"/><codeline> y = starty + line * text::LINE_PITCH * </codeline>
+<linenumber line="724"/><codeline> scale * sinf((angleRad + D3DX_PI/2));</codeline>
+<linenumber line="725"/><codeline> x = startx + line * text::LINE_PITCH * </codeline>
+<linenumber line="726"/><codeline> scale * cosf((angleRad + D3DX_PI/2 ));</codeline>
+<linenumber line="727"/><codeline> }</codeline>
+<linenumber line="728"/><codeline> }</codeline>
+<linenumber line="729"/><codeline> --cc;</codeline>
+<linenumber line="730"/><codeline> }</codeline>
+<linenumber line="731"/><codeline> <highlight class="keywordflow">return</highlight> ;</codeline>
+<linenumber line="732"/><codeline> </codeline>
+<linenumber line="733"/><codeline>}<highlight class="comment">// TextDraw</highlight></codeline>
+<linenumber line="734"/><codeline></codeline>
+<linenumber line="735"/><codeline><highlight class="comment">// \A\-\1\E\-\a!??IAaIA?o?DII -----------------------------------------------</highlight></codeline>
+<linenumber line="736" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1c15"/><codeline><highlight class="keywordtype">void</highlight> ConsoleImpl::textOut()</codeline>
+<linenumber line="737"/><codeline>{</codeline>
+<linenumber line="738"/><codeline> TextQueueData* text_q; </codeline>
+<linenumber line="739"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o6">mpD3DXSprite</ref>->Begin();</codeline>
+<linenumber line="740"/><codeline> <highlight class="keywordflow">while</highlight>(!<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o13">mTextQueue</ref>.empty())</codeline>
+<linenumber line="741"/><codeline> {</codeline>
+<linenumber line="742"/><codeline> text_q = <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o13">mTextQueue</ref>.front();</codeline>
+<linenumber line="743"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o13">mTextQueue</ref>.pop();</codeline>
+<linenumber line="744"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c14">textDraw</ref>(text_q->textureNo(),text_q->x(),text_q->y(),text_q->angeleRad(),text_q->scale(),text_q->color(),text_q->buffer());</codeline>
+<linenumber line="745"/><codeline> <highlight class="keyword">delete</highlight> text_q;</codeline>
+<linenumber line="746"/><codeline> }</codeline>
+<linenumber line="747"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o6">mpD3DXSprite</ref>->End();</codeline>
+<linenumber line="748"/><codeline>}<highlight class="comment">// textOut</highlight></codeline>
+<linenumber line="749"/><codeline></codeline>
+<linenumber line="750"/><codeline><highlight class="comment">// \-\a\e\\81P\?!?\\83Ê!?\O\\81\98!?\1?o\81âEIN?\81E?A!\81\91E\81C\81âuIo?oE??\81N?1?e -----------------------</highlight></codeline>
+<linenumber line="751" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1a9"/><codeline><highlight class="keywordtype">void</highlight> ConsoleImpl::print(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> textureNo,<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> x,<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> y,<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> angleRad,<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> scale,<highlight class="keyword">const</highlight> COLOR color,</codeline>
+<linenumber line="752"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> *format,...)</codeline>
+<linenumber line="753"/><codeline>{</codeline>
+<linenumber line="754"/><codeline> va_list varl;</codeline>
+<linenumber line="755"/><codeline> <highlight class="comment">//char buf[text::BUFFER_LENGTH];</highlight></codeline>
+<linenumber line="756"/><codeline> </codeline>
+<linenumber line="757"/><codeline> <highlight class="comment">/* mAlpha = alpha;</highlight></codeline>
+<linenumber line="758"/><codeline><highlight class="comment"> mAngleRad = angleRad;</highlight></codeline>
+<linenumber line="759"/><codeline><highlight class="comment"> mScale = scale;</highlight></codeline>
+<linenumber line="760"/><codeline><highlight class="comment"> mTextureNo = textureNo;</highlight></codeline>
+<linenumber line="761"/><codeline><highlight class="comment"> mZOrder = zOrder;</highlight></codeline>
+<linenumber line="762"/><codeline><highlight class="comment"> */</highlight> </codeline>
+<linenumber line="763"/><codeline></codeline>
+<linenumber line="764"/><codeline> TextQueueData* ptext_q = <highlight class="keyword">new</highlight> TextQueueData(textureNo,x,y,angleRad,scale,color);</codeline>
+<linenumber line="765"/><codeline> </codeline>
+<linenumber line="766"/><codeline> va_start(varl,format);</codeline>
+<linenumber line="767"/><codeline> vsprintf(ptext_q->buffer(),format,varl);</codeline>
+<linenumber line="768"/><codeline> va_end(varl);</codeline>
+<linenumber line="769"/><codeline> </codeline>
+<linenumber line="770"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o13">mTextQueue</ref>.push(ptext_q);</codeline>
+<linenumber line="771"/><codeline></codeline>
+<linenumber line="772"/><codeline><highlight class="comment">// textOut(textureNo,x,y,zOrder,alpha,angleRad,scale,color,buf);</highlight></codeline>
+<linenumber line="773"/><codeline>}<highlight class="comment">// Print</highlight></codeline>
+<linenumber line="774"/><codeline></codeline>
+<linenumber line="775"/><codeline><highlight class="comment">// 2eII11?\81E ------------------------------------------------------------------</highlight></codeline>
+<linenumber line="776" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1a8"/><codeline><highlight class="keywordtype">void</highlight> ConsoleImpl::update(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="777"/><codeline>{</codeline>
+<linenumber line="778"/><codeline> <highlight class="keywordflow">if</highlight>(!<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1a11">isEnabled</ref>())</codeline>
+<linenumber line="779"/><codeline> <highlight class="keywordflow">return</highlight>;</codeline>
+<linenumber line="780"/><codeline></codeline>
+<linenumber line="781"/><codeline> <highlight class="comment">// \D\A\\81P\D\A\O\!?IAaIA?oE??\81N</highlight></codeline>
+<linenumber line="782"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->Present(NULL,NULL,NULL,NULL);</codeline>
+<linenumber line="783"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c12">startFrame</ref>();</codeline>
+<linenumber line="784"/><codeline><highlight class="comment">// Sleep(1);</highlight></codeline>
+<linenumber line="785"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1a6">clearScreen</ref>();</codeline>
+<linenumber line="786"/><codeline><highlight class="comment">// Sleep(1);</highlight></codeline>
+<linenumber line="787"/><codeline> <highlight class="comment">// \1\\81~\e\?\EEA2e</highlight></codeline>
+<linenumber line="788"/><codeline> <highlight class="keywordflow">for</highlight>(Obj* pobj = Obj::List::moveTop();pobj != NULL;pobj = Obj::List::moveNext())</codeline>
+<linenumber line="789"/><codeline> {</codeline>
+<linenumber line="790"/><codeline> pobj->draw();</codeline>
+<linenumber line="791"/><codeline> }</codeline>
+<linenumber line="792"/><codeline></codeline>
+<linenumber line="793"/><codeline> <highlight class="comment">// \A\-\1\EEA2e</highlight></codeline>
+<linenumber line="794"/><codeline></codeline>
+<linenumber line="795"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c15">textOut</ref>();</codeline>
+<linenumber line="796"/><codeline></codeline>
+<linenumber line="797"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c13">endFrame</ref>();</codeline>
+<linenumber line="798"/><codeline></codeline>
+<linenumber line="799"/><codeline></codeline>
+<linenumber line="800"/><codeline></codeline>
+<linenumber line="801"/><codeline>}<highlight class="comment">// update()</highlight></codeline>
+<linenumber line="802"/><codeline></codeline>
+<linenumber line="803"/><codeline><highlight class="comment">// 2eII?A\83Êi ------------------------------------------------------------------</highlight></codeline>
+<linenumber line="804" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1a6"/><codeline><highlight class="keywordtype">void</highlight> ConsoleImpl::clearScreen(COLOR value)</codeline>
+<linenumber line="805"/><codeline>{</codeline>
+<linenumber line="806"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->Clear(0,NULL,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER ,value,1.0f,0);</codeline>
+<linenumber line="807"/><codeline>}<highlight class="comment">// clearScreen()</highlight></codeline>
+<linenumber line="808"/><codeline><highlight class="comment">// 2eII?A\83Êi(?\81\98?CEa?a?e) -------------------------------------------------------</highlight></codeline>
+<linenumber line="809" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1a7"/><codeline><highlight class="keywordtype">void</highlight> ConsoleImpl::fillScreen(COLOR value)</codeline>
+<linenumber line="810"/><codeline>{</codeline>
+<linenumber line="811"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->Clear(0,NULL,D3DCLEAR_TARGET ,value,1.0f,0);</codeline>
+<linenumber line="812"/><codeline>}<highlight class="comment">// fillScreen()</highlight></codeline>
+<linenumber line="813"/><codeline></codeline>
+<linenumber line="814"/><codeline><highlight class="comment">// \O\i!?\a3\81á\81âI --------------------------------------------------------------</highlight></codeline>
+<linenumber line="815" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1c12"/><codeline><highlight class="keywordtype">void</highlight> ConsoleImpl::startFrame(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="816"/><codeline>{</codeline>
+<linenumber line="817"/><codeline> <highlight class="comment">// \C\D\?\1?I?oAO?o\A\\81\98\A\\81P?1?e</highlight></codeline>
+<linenumber line="818"/><codeline> HRESULT hr = <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->TestCooperativeLevel();</codeline>
+<linenumber line="819"/><codeline> <highlight class="keywordflow">if</highlight>(FAILED(hr)){</codeline>
+<linenumber line="820"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o1">mbD3DReady</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="821"/><codeline> <highlight class="keywordflow">switch</highlight>(hr){</codeline>
+<linenumber line="822"/><codeline> <highlight class="keywordflow">case</highlight> D3DERR_DEVICELOST:</codeline>
+<linenumber line="823"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="824"/><codeline><highlight class="preprocessor"></highlight> OutputDebugString(<highlight class="stringliteral">"DEVICELOST\r\n"</highlight>);</codeline>
+<linenumber line="825"/><codeline><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="826"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="827"/><codeline> <highlight class="keywordflow">break</highlight>;</codeline>
+<linenumber line="828"/><codeline> <highlight class="keywordflow">case</highlight> D3DERR_DEVICENOTRESET:</codeline>
+<linenumber line="829"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="830"/><codeline><highlight class="preprocessor"></highlight> OutputDebugString(<highlight class="stringliteral">"DEVICENOTRESET\r\n"</highlight>);</codeline>
+<linenumber line="831"/><codeline><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="832"/><codeline><highlight class="preprocessor"></highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c10">releaseNotManagedObjects</ref>();</codeline>
+<linenumber line="833"/><codeline> </codeline>
+<linenumber line="834"/><codeline> <highlight class="keywordflow">if</highlight>(FAILED(hr = <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->Reset(&<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o10">mD3Dpp</ref>)))</codeline>
+<linenumber line="835"/><codeline> {</codeline>
+<linenumber line="836"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);</codeline>
+<linenumber line="837"/><codeline> }</codeline>
+<linenumber line="838"/><codeline> </codeline>
+<linenumber line="839"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c6">initConsoleViewStyle</ref>();</codeline>
+<linenumber line="840"/><codeline> </codeline>
+<linenumber line="841"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c9">initNotManagedObjects</ref>();</codeline>
+<linenumber line="842"/><codeline> </codeline>
+<linenumber line="843"/><codeline> <highlight class="comment">// \C\D\?\1?I?e\81Lu2?</highlight></codeline>
+<linenumber line="844"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c5">initDeviceStates</ref>();</codeline>
+<linenumber line="845"/><codeline> </codeline>
+<linenumber line="846"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o1">mbD3DReady</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="847"/><codeline> <highlight class="keywordflow">break</highlight>;</codeline>
+<linenumber line="848"/><codeline> }</codeline>
+<linenumber line="849"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="850"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->BeginScene();</codeline>
+<linenumber line="851"/><codeline> }</codeline>
+<linenumber line="852"/><codeline>}<highlight class="comment">// startFrame()</highlight></codeline>
+<linenumber line="853"/><codeline> </codeline>
+<linenumber line="854"/><codeline><highlight class="comment">// \O\i!?\a?aI\81â --------------------------------------------------------------</highlight></codeline>
+<linenumber line="855" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1c13"/><codeline><highlight class="keywordtype">void</highlight> ConsoleImpl::endFrame(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="856"/><codeline>{</codeline>
+<linenumber line="857"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>->EndScene();</codeline>
+<linenumber line="858"/><codeline>}<highlight class="comment">// endFrame()</highlight></codeline>
+<linenumber line="859"/><codeline></codeline>
+<linenumber line="860"/><codeline></codeline>
+<linenumber line="861"/><codeline><highlight class="comment">// \1\\81~\e\?\E?I\i!?\E ---------------------------------------------------------</highlight></codeline>
+<linenumber line="862"/><codeline><highlight class="comment">// 3D?I\D!?\A\A\\81P\1\D\A\O\!?IA\81CAREoE\81Ê?I!\81\91?\81~?e!??o?\83Ê?o?I\e\?\O\e\e?o\81â21I?E?\81E?A???T?1!\81\92</highlight></codeline>
+<linenumber line="863" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1a10"/><codeline>sprite::Sprite * <highlight class="keyword">const</highlight> ConsoleImpl::createSprite(<highlight class="keyword">const</highlight> sprite::Info * <highlight class="keyword">const</highlight> pInfo)</codeline>
+<linenumber line="864"/><codeline>{</codeline>
+<linenumber line="865"/><codeline> sprite::AbstractSprite * psprite = NULL;</codeline>
+<linenumber line="866"/><codeline></codeline>
+<linenumber line="867"/><codeline> <highlight class="keywordflow">switch</highlight> (pInfo->type)</codeline>
+<linenumber line="868"/><codeline> {</codeline>
+<linenumber line="869"/><codeline> <highlight class="keywordflow">case</highlight> <ref idref="namespacesf_1_1system_1_1console_1_1sprite_1a6a3">SPRITE2D</ref>:</codeline>
+<linenumber line="870"/><codeline> psprite = <highlight class="keyword">new</highlight> Sprite2D(<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>);</codeline>
+<linenumber line="871"/><codeline> <highlight class="keywordflow">break</highlight>;</codeline>
+<linenumber line="872"/><codeline> <highlight class="keywordflow">case</highlight> <ref idref="namespacesf_1_1system_1_1console_1_1sprite_1a6a4">SPRITE3D</ref>:</codeline>
+<linenumber line="873"/><codeline> psprite = <highlight class="keyword">new</highlight> Sprite3D(<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>);</codeline>
+<linenumber line="874"/><codeline> <highlight class="keywordflow">break</highlight>;</codeline>
+<linenumber line="875"/><codeline> <highlight class="keywordflow">case</highlight> <ref idref="namespacesf_1_1system_1_1console_1_1sprite_1a6a5">MESH</ref>:</codeline>
+<linenumber line="876"/><codeline> psprite = <highlight class="keyword">new</highlight> SpriteMesh(<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>);</codeline>
+<linenumber line="877"/><codeline> <highlight class="keywordflow">break</highlight>;</codeline>
+<linenumber line="878"/><codeline> };</codeline>
+<linenumber line="879"/><codeline></codeline>
+<linenumber line="880"/><codeline> <highlight class="keywordflow">if</highlight>(NULL == psprite)</codeline>
+<linenumber line="881"/><codeline> {</codeline>
+<linenumber line="882"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(<highlight class="stringliteral">"Sprite is not created"</highlight>,__FILE__,__LINE__);</codeline>
+<linenumber line="883"/><codeline> }</codeline>
+<linenumber line="884"/><codeline></codeline>
+<linenumber line="885"/><codeline> psprite->load(pInfo,<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o8">mTextureFormat</ref>,pInfo->transparentColor);</codeline>
+<linenumber line="886"/><codeline> <highlight class="keywordflow">return</highlight> psprite;</codeline>
+<linenumber line="887"/><codeline>}<highlight class="comment">// createSprite()</highlight></codeline>
+<linenumber line="888"/><codeline></codeline>
+<linenumber line="889"/><codeline><highlight class="comment">//----------------------------------------------------------------------------</highlight></codeline>
+<linenumber line="890"/><codeline><highlight class="comment">// TextQueueData -------------------------------------------------------------</highlight></codeline>
+<linenumber line="891"/><codeline><highlight class="comment">//----------------------------------------------------------------------------</highlight></codeline>
+<linenumber line="892"/><codeline></codeline>
+<linenumber line="893" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a0"/><codeline>ConsoleImpl::TextQueueData::TextQueueData(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> textureNo,<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> x,<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> y,<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> angleRad,<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> scale,<highlight class="keyword">const</highlight> COLOR color,<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> *pBuffer)</codeline>
+<linenumber line="894"/><codeline>{</codeline>
+<linenumber line="895"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o0">mTextureNo</ref> = <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a3">textureNo</ref>;</codeline>
+<linenumber line="896"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o1">mX</ref> = <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a4">x</ref>;</codeline>
+<linenumber line="897"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o2">mY</ref> = <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a5">y</ref>;</codeline>
+<linenumber line="898"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o3">mAngleRad</ref> = angleRad;</codeline>
+<linenumber line="899"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o4">mScale</ref> = <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a7">scale</ref>;</codeline>
+<linenumber line="900"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o5">mColor</ref> = <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a8">color</ref>;</codeline>
+<linenumber line="901"/><codeline></codeline>
+<linenumber line="902"/><codeline> <highlight class="keywordflow">if</highlight>(pBuffer != NULL)</codeline>
+<linenumber line="903"/><codeline> strncpy(<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o6">mpBuf</ref>,pBuffer,<highlight class="keyword">sizeof</highlight>(<ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o6">mpBuf</ref>));</codeline>
+<linenumber line="904"/><codeline>}<highlight class="comment">// ConsoleImpl::TextQueueData::TextQueueData</highlight></codeline>
+<linenumber line="905"/><codeline></codeline>
+<linenumber line="906" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a1"/><codeline>ConsoleImpl::TextQueueData::~TextQueueData()</codeline>
+<linenumber line="907"/><codeline>{</codeline>
+<linenumber line="908"/><codeline> ;</codeline>
+<linenumber line="909"/><codeline>}<highlight class="comment">// ~TextQueueData</highlight></codeline>
+<linenumber line="910"/><codeline></codeline>
+<linenumber line="911"/><codeline></codeline>
+<linenumber line="912"/><codeline></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/ConsoleImpl.cpp"/>
+ </compounddef>
+ <compounddef id="ConsoleImpl_8h" kind="file">
+ <compoundname>ConsoleImpl.h</compoundname>
+ <includes id="sf_8h" local="yes">sf.h</includes>
+ <includes id="Console_8h" local="yes">Console.h</includes>
+ <includedby id="AbstractSprite_8cpp" local="yes">AbstractSprite.cpp</includedby>
+ <includedby id="ConsoleImpl_8cpp" local="yes">ConsoleImpl.cpp</includedby>
+ <includedby id="InputImpl_8cpp" local="yes">InputImpl.cpp</includedby>
+ <includedby id="sfglib_8cpp" local="yes">sfglib.cpp</includedby>
+ <includedby id="Sprite2D_8cpp" local="yes">Sprite2D.cpp</includedby>
+ <includedby id="Sprite3D_8cpp" local="yes">Sprite3D.cpp</includedby>
+ <includedby id="System_8cpp" local="yes">System.cpp</includedby>
+ <includedby id="SystemImpl_8cpp" local="yes">SystemImpl.cpp</includedby>
+ <incdepgraph>
+ <node id="250">
+ <label>ConsoleImpl.h</label>
+ <link id="ConsoleImpl.h"/>
+ <childnode id="251" relation="public-inheritance">
+ </childnode>
+ <childnode id="252" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="251">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="252">
+ <label>Console.h</label>
+ <link id="Console_8h"/>
+ <childnode id="253" relation="public-inheritance">
+ </childnode>
+ <childnode id="251" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="253">
+ <label>memory</label>
+ </node>
+ </incdepgraph>
+ <invincdepgraph>
+ <node id="258">
+ <label>sfglib.cpp</label>
+ <link id="sfglib_8cpp-source"/>
+ </node>
+ <node id="259">
+ <label>Sprite2D.cpp</label>
+ <link id="Sprite2D_8cpp-source"/>
+ </node>
+ <node id="262">
+ <label>SystemImpl.cpp</label>
+ <link id="SystemImpl_8cpp-source"/>
+ </node>
+ <node id="254">
+ <label>ConsoleImpl.h</label>
+ <link id="ConsoleImpl.h"/>
+ <childnode id="255" relation="public-inheritance">
+ </childnode>
+ <childnode id="256" relation="public-inheritance">
+ </childnode>
+ <childnode id="257" relation="public-inheritance">
+ </childnode>
+ <childnode id="258" relation="public-inheritance">
+ </childnode>
+ <childnode id="259" relation="public-inheritance">
+ </childnode>
+ <childnode id="260" relation="public-inheritance">
+ </childnode>
+ <childnode id="261" relation="public-inheritance">
+ </childnode>
+ <childnode id="262" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="257">
+ <label>InputImpl.cpp</label>
+ <link id="InputImpl_8cpp-source"/>
+ </node>
+ <node id="256">
+ <label>ConsoleImpl.cpp</label>
+ <link id="ConsoleImpl_8cpp-source"/>
+ </node>
+ <node id="261">
+ <label>System.cpp</label>
+ <link id="System_8cpp-source"/>
+ </node>
+ <node id="255">
+ <label>AbstractSprite.cpp</label>
+ <link id="AbstractSprite_8cpp-source"/>
+ </node>
+ <node id="260">
+ <label>Sprite3D.cpp</label>
+ <link id="Sprite3D_8cpp-source"/>
+ </node>
+ </invincdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1console">sf::system::console</innernamespace>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="ConsoleImpl_8h_1a0" virt="normal" prot="public">
+ <name>AFX_ConsoleImpl_H__B6F6F87A_C87F_40DA_8F4F_C037111CAC9D__INCLUDED_</name>
+ <briefdescription>
+<para>
+?AE\81\92\?\o\\81P\e!?\EEE\81âs\T\\81P\i. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ConsoleImpl.h" line="13" bodystart="13" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+2eIIEA2e!E\1\\81~\e\?\E!|CO\81EE2eAu!E?I?AAo?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="author"><title>oi?O: </title><para>
+S.F. </para>
+</simplesect><simplesect kind="version"><title>\D!?\\81C\c\o: </title><para>
+$Id:</para>
+</simplesect><para>
+Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved. </para>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline></codeline>
+<linenumber line="11"/><codeline></codeline>
+<linenumber line="12"/><codeline><highlight class="preprocessor">#if !defined(AFX_ConsoleImpl_H__B6F6F87A_C87F_40DA_8F4F_C037111CAC9D__INCLUDED_)</highlight></codeline>
+<linenumber line="13" refid="ConsoleImpl_8h_1a0"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define AFX_ConsoleImpl_H__B6F6F87A_C87F_40DA_8F4F_C037111CAC9D__INCLUDED_</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="preprocessor">#if _MSC_VER > 1000</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#pragma once</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif // _MSC_VER > 1000</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include "sf.h"</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="preprocessor">#include "<ref idref="Console_8h">Console.h</ref>"</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="keyword">extern</highlight> <highlight class="stringliteral">"C"</highlight> {</codeline>
+<linenumber line="21"/><codeline><highlight class="keyword">namespace </highlight>sf { </codeline>
+<linenumber line="22"/><codeline> <highlight class="keyword">namespace </highlight>system {</codeline>
+<linenumber line="23"/><codeline> <highlight class="keyword">namespace </highlight>console {</codeline>
+<linenumber line="25"/><codeline> <highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref> <ref idref="namespacesf_1_1system_1_1console_1a9">VertexFVF</ref> = </codeline>
+<linenumber line="26"/><codeline> (D3DFVF_XYZRHW | </codeline>
+<linenumber line="27"/><codeline> D3DFVF_DIFFUSE | </codeline>
+<linenumber line="28"/><codeline> D3DFVF_SPECULAR | </codeline>
+<linenumber line="29"/><codeline> D3DFVF_TEX1 );</codeline>
+<linenumber line="30"/><codeline></codeline>
+<linenumber line="32" refid="structsf_1_1system_1_1console_1_1Vertex2_1"/><codeline> <highlight class="keyword">struct </highlight>Vertex2 {</codeline>
+<linenumber line="33" refid="structsf_1_1system_1_1console_1_1Vertex2_1m0"/><codeline> D3DVECTOR <ref idref="structsf_1_1system_1_1console_1_1Vertex2_1m0">position</ref>; </codeline>
+<linenumber line="34" refid="structsf_1_1system_1_1console_1_1Vertex2_1m1"/><codeline> <ref idref="namespacesf_1a0">DWORD</ref> <ref idref="structsf_1_1system_1_1console_1_1Vertex2_1m1">diffuse</ref>; </codeline>
+<linenumber line="35" refid="structsf_1_1system_1_1console_1_1Vertex2_1m2"/><codeline> <ref idref="namespacesf_1a0">DWORD</ref> <ref idref="structsf_1_1system_1_1console_1_1Vertex2_1m2">specular</ref>;</codeline>
+<linenumber line="36" refid="structsf_1_1system_1_1console_1_1Vertex2_1m3"/><codeline> <highlight class="keywordtype">float</highlight> <ref idref="structsf_1_1system_1_1console_1_1Vertex2_1m3">tu</ref>;</codeline>
+<linenumber line="37" refid="structsf_1_1system_1_1console_1_1Vertex2_1m4"/><codeline> <highlight class="keywordtype">float</highlight> <ref idref="structsf_1_1system_1_1console_1_1Vertex2_1m4">tv</ref>;</codeline>
+<linenumber line="38"/><codeline> };</codeline>
+<linenumber line="39"/><codeline></codeline>
+<linenumber line="41"/><codeline> <highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref> <ref idref="namespacesf_1_1system_1_1console_1a10">Vertex2FVF</ref> = (D3DFVF_DIFFUSE | D3DFVF_SPECULAR | D3DFVF_XYZ | D3DFVF_TEX1);</codeline>
+<linenumber line="42"/><codeline> </codeline>
+<linenumber line="44" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1"/><codeline> <highlight class="keyword">class </highlight>ConsoleImpl : <highlight class="keyword">public</highlight> Console </codeline>
+<linenumber line="45"/><codeline> {</codeline>
+<linenumber line="46"/><codeline> <highlight class="comment">// LIFECYCLE //</highlight></codeline>
+<linenumber line="47"/><codeline> <highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="49"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1a0">ConsoleImpl</ref>();</codeline>
+<linenumber line="53"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1a0">ConsoleImpl</ref>(<highlight class="keyword">const</highlight> HWND hwnd,<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bWindow);</codeline>
+<linenumber line="55"/><codeline> <highlight class="keyword">virtual</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1a2">~ConsoleImpl</ref>();</codeline>
+<linenumber line="56"/><codeline> <highlight class="comment">// OPERATORS //</highlight></codeline>
+<linenumber line="57"/><codeline> <highlight class="comment">// OPERATIONS //</highlight></codeline>
+<linenumber line="58"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1a3">initialize</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="62"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1a3">initialize</ref>(<highlight class="keyword">const</highlight> HWND hwnd,<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bWindow);</codeline>
+<linenumber line="63"/><codeline></codeline>
+<linenumber line="66"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1a5">uninitialize</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="67"/><codeline></codeline>
+<linenumber line="68"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1a6">clearScreen</ref>(COLOR value = 0x00000000);</codeline>
+<linenumber line="69"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1a7">fillScreen</ref>(COLOR value = 0x00000000);</codeline>
+<linenumber line="70"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1a8">update</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="71"/><codeline> </codeline>
+<linenumber line="72"/><codeline> <highlight class="comment">// \D\A\\81P\D\A\O\!?EAsciiE\81C\81âuIo?o\81âOAe?\81E??\A\\81P\1\A\a!?EO1a?CE??\81N?1?e!\81\92</highlight></codeline>
+<linenumber line="73"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1a9">print</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> textureNo,<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> x,<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> y,<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> angleRad,<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> scale,<highlight class="keyword">const</highlight> COLOR color,</codeline>
+<linenumber line="74"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> *format,...);</codeline>
+<linenumber line="75"/><codeline> <highlight class="comment">// \1\\81~\e\?\E?I\i!?\E</highlight></codeline>
+<linenumber line="76"/><codeline> sprite::Sprite* <highlight class="keyword">const</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1a10">createSprite</ref>(<highlight class="keyword">const</highlight> sprite::Info* <highlight class="keyword">const</highlight> pInfo);</codeline>
+<linenumber line="77"/><codeline></codeline>
+<linenumber line="78"/><codeline> <highlight class="comment">// ACCESS //</highlight></codeline>
+<linenumber line="79"/><codeline></codeline>
+<linenumber line="80"/><codeline> <highlight class="comment">// INQUIRY //</highlight></codeline>
+<linenumber line="81" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1a11"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1a11">isEnabled</ref>(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o1">mbD3DReady</ref>;};</codeline>
+<linenumber line="82"/><codeline></codeline>
+<linenumber line="83"/><codeline> <highlight class="keyword">private</highlight>:</codeline>
+<linenumber line="86"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c0">checkAndSetDevice</ref>(<highlight class="keyword">const</highlight> D3DDEVTYPE devtype = D3DDEVTYPE_HAL);</codeline>
+<linenumber line="87"/><codeline></codeline>
+<linenumber line="89"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c1">checkAndSetDeviceType</ref>(<highlight class="keyword">const</highlight> D3DDEVTYPE devtype);</codeline>
+<linenumber line="90"/><codeline> </codeline>
+<linenumber line="94"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c2">checkAndSetBackBufferFormat</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="96"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c3">checkAndSetTextureFormat</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="98"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c4">checkAndSetDepthFormat</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="99"/><codeline> </codeline>
+<linenumber line="101"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c5">initDeviceStates</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="102"/><codeline></codeline>
+<linenumber line="104"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c6">initConsoleViewStyle</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="105"/><codeline> </codeline>
+<linenumber line="107"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c7">initLight</ref>();</codeline>
+<linenumber line="108"/><codeline></codeline>
+<linenumber line="110"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c8">initMatrix</ref>();</codeline>
+<linenumber line="111"/><codeline></codeline>
+<linenumber line="112"/><codeline></codeline>
+<linenumber line="114"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c9">initNotManagedObjects</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="115"/><codeline></codeline>
+<linenumber line="117"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c10">releaseNotManagedObjects</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="118"/><codeline> </codeline>
+<linenumber line="120"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c11">loadFont</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="121"/><codeline></codeline>
+<linenumber line="123"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c12">startFrame</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="124"/><codeline></codeline>
+<linenumber line="126"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c13">endFrame</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="127"/><codeline></codeline>
+<linenumber line="129"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c14">textDraw</ref>(<highlight class="keywordtype">int</highlight> textureNo,<highlight class="keywordtype">float</highlight> x,<highlight class="keywordtype">float</highlight> y,<highlight class="keywordtype">float</highlight> angleRad,<highlight class="keywordtype">float</highlight> scale,COLOR color,<highlight class="keywordtype">char</highlight> *pBuf);</codeline>
+<linenumber line="130"/><codeline></codeline>
+<linenumber line="132"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1c15">textOut</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="133"/><codeline></codeline>
+<linenumber line="134" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1o0"/><codeline> HWND <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o0">mhWndMain</ref>;</codeline>
+<linenumber line="135"/><codeline> </codeline>
+<linenumber line="136" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1o1"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o1">mbD3DReady</ref>;</codeline>
+<linenumber line="137" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1o2"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o2">mbWindowed</ref>; </codeline>
+<linenumber line="138"/><codeline> </codeline>
+<linenumber line="139" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1o3"/><codeline> LPDIRECT3D8 <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o3">mpD3D</ref>;</codeline>
+<linenumber line="140" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1o4"/><codeline> D3DDEVTYPE <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o4">mD3DDeviceType</ref>;</codeline>
+<linenumber line="141"/><codeline> </codeline>
+<linenumber line="142" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5"/><codeline> LPDIRECT3DDEVICE8 <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o5">mpD3DDevice</ref>;</codeline>
+<linenumber line="143" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1o6"/><codeline> LPD3DXSPRITE <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o6">mpD3DXSprite</ref>;</codeline>
+<linenumber line="144"/><codeline> </codeline>
+<linenumber line="145" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1o7"/><codeline> D3DFORMAT <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o7">mD3DFormat</ref>;</codeline>
+<linenumber line="146" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1o8"/><codeline> D3DFORMAT <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o8">mTextureFormat</ref>;</codeline>
+<linenumber line="147" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1o9"/><codeline> D3DFORMAT <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o9">mDepthFormat</ref>;</codeline>
+<linenumber line="148" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1o10"/><codeline> D3DPRESENT_PARAMETERS <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o10">mD3Dpp</ref>;</codeline>
+<linenumber line="149"/><codeline> </codeline>
+<linenumber line="150" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1o11"/><codeline> IDirect3DTexture8* <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o11">mpFontTexture</ref>[font::COUNT_MAX];</codeline>
+<linenumber line="151" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1o12"/><codeline> sprite::AbstractSprite* <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o12">mpSprite</ref>[sprite::MAX];</codeline>
+<linenumber line="152"/><codeline> </codeline>
+<linenumber line="154" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1"/><codeline> <highlight class="keyword">class </highlight>TextQueueData{</codeline>
+<linenumber line="155"/><codeline> <highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="164"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a0">TextQueueData</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a3">textureNo</ref>,<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a4">x</ref>,<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a5">y</ref>,<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> angleRad,<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a7">scale</ref>,<highlight class="keyword">const</highlight> COLOR <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a8">color</ref>,<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> *pBuffer = NULL);</codeline>
+<linenumber line="166"/><codeline> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a1">~TextQueueData</ref>();</codeline>
+<linenumber line="167"/><codeline> <highlight class="comment">// ACCESS </highlight></codeline>
+<linenumber line="170" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a2"/><codeline><highlight class="comment"></highlight> <highlight class="keywordtype">char</highlight> * <highlight class="keyword">const</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a2">buffer</ref>(<highlight class="keywordtype">void</highlight>) { <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o6">mpBuf</ref>;};</codeline>
+<linenumber line="171"/><codeline> </codeline>
+<linenumber line="174" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a3"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a3">textureNo</ref>()<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o0">mTextureNo</ref>;};</codeline>
+<linenumber line="175"/><codeline> </codeline>
+<linenumber line="178" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a4"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a4">x</ref>()<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o1">mX</ref>;};</codeline>
+<linenumber line="179"/><codeline></codeline>
+<linenumber line="182" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a5"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a5">y</ref>()<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o2">mY</ref>;};</codeline>
+<linenumber line="183"/><codeline></codeline>
+<linenumber line="186" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a6"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a6">angeleRad</ref>()<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o3">mAngleRad</ref>;};</codeline>
+<linenumber line="187"/><codeline></codeline>
+<linenumber line="190" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a7"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a7">scale</ref>()<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o4">mScale</ref>;};</codeline>
+<linenumber line="191"/><codeline></codeline>
+<linenumber line="194" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a8"/><codeline> <highlight class="keyword">const</highlight> COLOR <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1a8">color</ref>()<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o5">mColor</ref>;};</codeline>
+<linenumber line="195"/><codeline> <highlight class="keyword">private</highlight>:</codeline>
+<linenumber line="196" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o0"/><codeline> <highlight class="keywordtype">int</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o0">mTextureNo</ref>;</codeline>
+<linenumber line="197" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o1"/><codeline> <highlight class="keywordtype">float</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o1">mX</ref>;</codeline>
+<linenumber line="198" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o2"/><codeline> <highlight class="keywordtype">float</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o2">mY</ref>;</codeline>
+<linenumber line="199" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o3"/><codeline> <highlight class="keywordtype">float</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o3">mAngleRad</ref>;</codeline>
+<linenumber line="200" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o4"/><codeline> <highlight class="keywordtype">float</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o4">mScale</ref>;</codeline>
+<linenumber line="201" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o5"/><codeline> COLOR <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o5">mColor</ref>;</codeline>
+<linenumber line="202" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o6"/><codeline> <highlight class="keywordtype">char</highlight> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1_1TextQueueData_1o6">mpBuf</ref>[text::BUFFER_LENGTH];</codeline>
+<linenumber line="203"/><codeline> };</codeline>
+<linenumber line="204"/><codeline></codeline>
+<linenumber line="206" refid="classsf_1_1system_1_1console_1_1ConsoleImpl_1o13"/><codeline> std::queue<TextQueueData *> <ref idref="classsf_1_1system_1_1console_1_1ConsoleImpl_1o13">mTextQueue</ref>;</codeline>
+<linenumber line="207"/><codeline></codeline>
+<linenumber line="208"/><codeline> }; <highlight class="comment">// ConsoleImpl</highlight></codeline>
+<linenumber line="209"/><codeline> } <highlight class="comment">// namespace console</highlight></codeline>
+<linenumber line="210"/><codeline> } <highlight class="comment">// namespace system</highlight></codeline>
+<linenumber line="211"/><codeline>} <highlight class="comment">// namespace sf</highlight></codeline>
+<linenumber line="212"/><codeline>}</codeline>
+<linenumber line="213"/><codeline><highlight class="preprocessor">#endif // !defined(AFX_ConsoleImpl_H__B6F6F87A_C87F_40DA_8F4F_C037111CAC9D__INCLUDED_)</highlight></codeline>
+<linenumber line="214"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/ConsoleImpl.h"/>
+ </compounddef>
+ <compounddef id="dxerr8sf_8h" kind="file">
+ <compoundname>dxerr8sf.h</compoundname>
+ <includes local="yes">dxerr8.h</includes>
+ <includedby id="AbstractSprite_8cpp" local="yes">AbstractSprite.cpp</includedby>
+ <includedby id="ConsoleImpl_8cpp" local="yes">ConsoleImpl.cpp</includedby>
+ <includedby id="InputImpl_8cpp" local="yes">InputImpl.cpp</includedby>
+ <includedby id="sfglib_8cpp" local="yes">sfglib.cpp</includedby>
+ <includedby id="SoundImpl_8cpp" local="yes">SoundImpl.cpp</includedby>
+ <includedby id="Sprite2D_8cpp" local="yes">Sprite2D.cpp</includedby>
+ <includedby id="Sprite3D_8cpp" local="yes">Sprite3D.cpp</includedby>
+ <includedby id="SpriteMesh_8cpp" local="yes">SpriteMesh.cpp</includedby>
+ <includedby id="SystemImpl_8cpp" local="yes">SystemImpl.cpp</includedby>
+ <incdepgraph>
+ <node id="264">
+ <label>dxerr8.h</label>
+ </node>
+ <node id="263">
+ <label>dxerr8sf.h</label>
+ <link id="dxerr8sf.h"/>
+ <childnode id="264" relation="public-inheritance">
+ </childnode>
+ </node>
+ </incdepgraph>
+ <invincdepgraph>
+ <node id="269">
+ <label>sfglib.cpp</label>
+ <link id="sfglib_8cpp-source"/>
+ </node>
+ <node id="270">
+ <label>SoundImpl.cpp</label>
+ <link id="SoundImpl_8cpp-source"/>
+ </node>
+ <node id="271">
+ <label>Sprite2D.cpp</label>
+ <link id="Sprite2D_8cpp-source"/>
+ </node>
+ <node id="274">
+ <label>SystemImpl.cpp</label>
+ <link id="SystemImpl_8cpp-source"/>
+ </node>
+ <node id="268">
+ <label>InputImpl.cpp</label>
+ <link id="InputImpl_8cpp-source"/>
+ </node>
+ <node id="265">
+ <label>dxerr8sf.h</label>
+ <link id="dxerr8sf.h"/>
+ <childnode id="266" relation="public-inheritance">
+ </childnode>
+ <childnode id="267" relation="public-inheritance">
+ </childnode>
+ <childnode id="268" relation="public-inheritance">
+ </childnode>
+ <childnode id="269" relation="public-inheritance">
+ </childnode>
+ <childnode id="270" relation="public-inheritance">
+ </childnode>
+ <childnode id="271" relation="public-inheritance">
+ </childnode>
+ <childnode id="272" relation="public-inheritance">
+ </childnode>
+ <childnode id="273" relation="public-inheritance">
+ </childnode>
+ <childnode id="274" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="267">
+ <label>ConsoleImpl.cpp</label>
+ <link id="ConsoleImpl_8cpp-source"/>
+ </node>
+ <node id="273">
+ <label>SpriteMesh.cpp</label>
+ <link id="SpriteMesh_8cpp-source"/>
+ </node>
+ <node id="266">
+ <label>AbstractSprite.cpp</label>
+ <link id="AbstractSprite_8cpp-source"/>
+ </node>
+ <node id="272">
+ <label>Sprite3D.cpp</label>
+ <link id="Sprite3D_8cpp-source"/>
+ </node>
+ </invincdepgraph>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// DX\\81N\e!?E??\81NIN</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// \U!?\e\o\E\3\o\N\?\e?EAD\81}t!c</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// $Log: dxerr8sf.h,v $</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:36 fujiwara</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:50:48 fujiwara</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="preprocessor">#ifndef _BORLAND</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor"> #include "dxerr8.h"</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="preprocessor">#else</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="preprocessor"></highlight><highlight class="comment">// #include "dxerr8.h"</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="preprocessor"> #define DXGetErrorString8(X) "error occured!"</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif </highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/dxerr8sf.h"/>
+ </compounddef>
+ <compounddef id="Exception_8cpp" kind="file">
+ <compoundname>Exception.cpp</compoundname>
+ <includes id="sfdebug_8h" local="yes">sfdebug.h</includes>
+ <includes local="no">string</includes>
+ <includes local="no">strstream</includes>
+ <includes id="Exception_8h" local="yes">Exception.h</includes>
+ <incdepgraph>
+ <node id="279">
+ <label>Exception.h</label>
+ <link id="Exception_8h"/>
+ <childnode id="280" relation="public-inheritance">
+ </childnode>
+ <childnode id="277" relation="public-inheritance">
+ </childnode>
+ <childnode id="278" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="278">
+ <label>strstream</label>
+ </node>
+ <node id="277">
+ <label>string</label>
+ </node>
+ <node id="276">
+ <label>sfdebug.h</label>
+ <link id="sfdebug_8h"/>
+ </node>
+ <node id="280">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="275">
+ <label>Exception.cpp</label>
+ <link id="Exception.cpp"/>
+ <childnode id="276" relation="public-inheritance">
+ </childnode>
+ <childnode id="277" relation="public-inheritance">
+ </childnode>
+ <childnode id="278" relation="public-inheritance">
+ </childnode>
+ <childnode id="279" relation="public-inheritance">
+ </childnode>
+ </node>
+ </incdepgraph>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// Exception.cpp: Exception \\81P\e\1?I\?\o\\81~\e\a\o\A!?\\81E\c\o</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// IuIo!\81\98</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// $Log: Exception.cpp,v $</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">// Revision 1.2 2001/11/06 21:27:42 fujiwara</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">// AcEy11?\81EA\81\8b\D\A\\81P\\81\91\A\\81~</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:35 fujiwara</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">// Revision 1.3 2001/07/09 20:30:08 fujiwara</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">// Revision 1.2 2001/07/01 21:30:33 fujiwara</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">// \a\a\e\e!?\\81P\A\\81\98\A\\81P\81C\81áA??\81E</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment">// Revision 1.1 2001/07/01 01:03:44 fujiwara</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="comment">// const ?I\81C\81áA??\81E</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="comment">// CUAO\\81N\C\\81\92\??IAOAa\81ED2a</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="preprocessor">#include "<ref idref="sfdebug_8h">sfdebug.h</ref>"</highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="preprocessor">#include <string></highlight></codeline>
+<linenumber line="30"/><codeline><highlight class="preprocessor">#include <strstream></highlight></codeline>
+<linenumber line="31"/><codeline></codeline>
+<linenumber line="32"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="33"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define new DEBUG_NEW</highlight></codeline>
+<linenumber line="34"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="35"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="36"/><codeline><highlight class="preprocessor">#include "<ref idref="Exception_8h">Exception.h</ref>"</highlight></codeline>
+<linenumber line="37"/><codeline></codeline>
+<linenumber line="38"/><codeline></codeline>
+<linenumber line="39"/><codeline></codeline>
+<linenumber line="41"/><codeline><highlight class="comment">// 1?AU/?AIC</highlight></codeline>
+<linenumber line="43"/><codeline><highlight class="comment">using namespace sf::system;</highlight></codeline>
+<linenumber line="44"/><codeline></codeline>
+<linenumber line="45"/><codeline><highlight class="comment">//std::string Exception::msErrTypeStr = "Basic Error";</highlight></codeline>
+<linenumber line="46"/><codeline></codeline>
+<linenumber line="47"/><codeline></codeline>
+<linenumber line="48"/><codeline></codeline>
+<linenumber line="49"/><codeline></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/Exception.cpp"/>
+ </compounddef>
+ <compounddef id="Exception_8h" kind="file">
+ <compoundname>Exception.h</compoundname>
+ <includes id="sf_8h" local="yes">sf.h</includes>
+ <includes local="no">string</includes>
+ <includes local="no">strstream</includes>
+ <includedby id="Exception_8cpp" local="yes">Exception.cpp</includedby>
+ <incdepgraph>
+ <node id="282">
+ <label>Exception.h</label>
+ <link id="Exception.h"/>
+ <childnode id="283" relation="public-inheritance">
+ </childnode>
+ <childnode id="284" relation="public-inheritance">
+ </childnode>
+ <childnode id="285" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="285">
+ <label>strstream</label>
+ </node>
+ <node id="284">
+ <label>string</label>
+ </node>
+ <node id="283">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ </incdepgraph>
+ <invincdepgraph>
+ <node id="286">
+ <label>Exception.h</label>
+ <link id="Exception.h"/>
+ <childnode id="287" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="287">
+ <label>Exception.cpp</label>
+ <link id="Exception_8cpp-source"/>
+ </node>
+ </invincdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="Exception_8h_1a0" virt="normal" prot="public">
+ <name>AFX_EXCEPTION_H__F0B6B43A_53BE_4C53_AB43_D64FED220C3B__INCLUDED_</name>
+ <briefdescription>
+<para>
+?AE\81\92\?\o\\81P\e!?\EEE\81âs\T\\81P\i. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Exception.h" line="12" bodystart="12" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+Ia3\81\8b?IAe\83ÊA?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="author"><title>oi?O: </title><para>
+S.F. </para>
+</simplesect><simplesect kind="version"><title>\D!?\\81C\c\o: </title><para>
+$Id:</para>
+</simplesect><para>
+Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved. </para>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline></codeline>
+<linenumber line="10"/><codeline></codeline>
+<linenumber line="11"/><codeline><highlight class="preprocessor">#if !defined(AFX_EXCEPTION_H__F0B6B43A_53BE_4C53_AB43_D64FED220C3B__INCLUDED_)</highlight></codeline>
+<linenumber line="12" refid="Exception_8h_1a0"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define AFX_EXCEPTION_H__F0B6B43A_53BE_4C53_AB43_D64FED220C3B__INCLUDED_</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="preprocessor">#if _MSC_VER > 1000</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#pragma once</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif // _MSC_VER > 1000</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include "sf.h"</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="preprocessor">#include <string></highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="preprocessor">#include <strstream></highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="keyword">extern</highlight> <highlight class="stringliteral">"C"</highlight> {</codeline>
+<linenumber line="21"/><codeline><highlight class="keyword">namespace </highlight>sf {</codeline>
+<linenumber line="22"/><codeline> <highlight class="keyword">namespace </highlight>system {</codeline>
+<linenumber line="24" refid="classsf_1_1system_1_1Exception_1"/><codeline><highlight class="keyword">class </highlight>Exception {</codeline>
+<linenumber line="25"/><codeline> <highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="27" refid="classsf_1_1system_1_1Exception_1s4"/><codeline> <highlight class="keyword">enum</highlight> <ref idref="classsf_1_1system_1_1Exception_1s4">ERROR_TYPE</ref>{</codeline>
+<linenumber line="28"/><codeline> <ref idref="classsf_1_1system_1_1Exception_1s4s0">DEFAULT</ref>,</codeline>
+<linenumber line="29"/><codeline> <ref idref="classsf_1_1system_1_1Exception_1s4s1">DEVICE_NOT_FOUND</ref>,</codeline>
+<linenumber line="30"/><codeline> <ref idref="classsf_1_1system_1_1Exception_1s4s2">BUFFER_IS_FULL</ref>,</codeline>
+<linenumber line="31"/><codeline> <ref idref="classsf_1_1system_1_1Exception_1s4s3">SCENE_IS_EMPTY</ref></codeline>
+<linenumber line="32"/><codeline> };</codeline>
+<linenumber line="33"/><codeline></codeline>
+<linenumber line="35" refid="classsf_1_1system_1_1Exception_1a0"/><codeline> <ref idref="classsf_1_1system_1_1Exception_1a0">Exception::Exception</ref>()</codeline>
+<linenumber line="36"/><codeline> {</codeline>
+<linenumber line="37"/><codeline> <ref idref="classsf_1_1system_1_1Exception_1o4">mErrID</ref> = <ref idref="classsf_1_1system_1_1Exception_1s4s0">DEFAULT</ref>;</codeline>
+<linenumber line="38"/><codeline> };</codeline>
+<linenumber line="39"/><codeline></codeline>
+<linenumber line="45" refid="classsf_1_1system_1_1Exception_1a1"/><codeline> Exception(<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> * <highlight class="keyword">const</highlight> pValue,<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> * <highlight class="keyword">const</highlight> fileName,<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> line,<highlight class="keyword">const</highlight> ERROR_TYPE err = DEFAULT)</codeline>
+<linenumber line="46"/><codeline> {mErrString = pValue; mFileName = fileName;mLineNumber = line; mErrID = err;};</codeline>
+<linenumber line="52" refid="classsf_1_1system_1_1Exception_1a2"/><codeline> Exception(std::string & value,<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> * <highlight class="keyword">const</highlight> fileName,<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> line,<highlight class="keyword">const</highlight> ERROR_TYPE err = DEFAULT)</codeline>
+<linenumber line="53"/><codeline> {mErrString = value;mFileName = fileName ; mLineNumber = line; mErrID = err;};</codeline>
+<linenumber line="55" refid="classsf_1_1system_1_1Exception_1a3"/><codeline> <highlight class="keyword">virtual</highlight> ~Exception(){};</codeline>
+<linenumber line="56"/><codeline> </codeline>
+<linenumber line="59" refid="classsf_1_1system_1_1Exception_1a4"/><codeline> <highlight class="keyword">virtual</highlight> std::string & reason(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="60"/><codeline> {<highlight class="keywordflow">return</highlight> mErrString;};</codeline>
+<linenumber line="61"/><codeline> </codeline>
+<linenumber line="64" refid="classsf_1_1system_1_1Exception_1a5"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> reason(<highlight class="keyword">const</highlight> std::string& value){mErrString = value;};</codeline>
+<linenumber line="65"/><codeline> </codeline>
+<linenumber line="68" refid="classsf_1_1system_1_1Exception_1a6"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> reason(<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> * <highlight class="keyword">const</highlight> pValue){mErrString = pValue;};</codeline>
+<linenumber line="69"/><codeline> </codeline>
+<linenumber line="72" refid="classsf_1_1system_1_1Exception_1a7"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> sourceFileName(<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> * <highlight class="keyword">const</highlight> pValue){mFileName = pValue;};</codeline>
+<linenumber line="73"/><codeline> </codeline>
+<linenumber line="76" refid="classsf_1_1system_1_1Exception_1a8"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> std::string sourceFileName(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mFileName;};</codeline>
+<linenumber line="77"/><codeline></codeline>
+<linenumber line="80" refid="classsf_1_1system_1_1Exception_1a9"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> lineNumber(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> value){mLineNumber = value;};</codeline>
+<linenumber line="81"/><codeline> </codeline>
+<linenumber line="84" refid="classsf_1_1system_1_1Exception_1a10"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> lineNumber(<highlight class="keywordtype">void</highlight>){<highlight class="keywordflow">return</highlight> mLineNumber;};</codeline>
+<linenumber line="85"/><codeline> </codeline>
+<linenumber line="88" refid="classsf_1_1system_1_1Exception_1a11"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> errorType(<highlight class="keyword">const</highlight> ERROR_TYPE value){mErrID = value;};</codeline>
+<linenumber line="89"/><codeline> </codeline>
+<linenumber line="92" refid="classsf_1_1system_1_1Exception_1a12"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> ERROR_TYPE errorType(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mErrID;};</codeline>
+<linenumber line="93"/><codeline></codeline>
+<linenumber line="96" refid="classsf_1_1system_1_1Exception_1a13"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> * <highlight class="keyword">const</highlight> Exception::getDefaultMessage(<highlight class="keywordtype">void</highlight>){</codeline>
+<linenumber line="97"/><codeline> <highlight class="keywordtype">char</highlight> tmp1[512];</codeline>
+<linenumber line="98"/><codeline> std::strstream tmp(tmp1,510,std::ios::in | std::ios::out);</codeline>
+<linenumber line="99"/><codeline> tmp << <ref idref="classsf_1_1system_1_1Exception_1a4">reason</ref>() << std::endl << <ref idref="classsf_1_1system_1_1Exception_1a8">sourceFileName</ref>() << <highlight class="stringliteral">":line"</highlight> << <ref idref="classsf_1_1system_1_1Exception_1a10">lineNumber</ref>() << std::ends;</codeline>
+<linenumber line="100"/><codeline> <ref idref="classsf_1_1system_1_1Exception_1o2">mDefaultMessage</ref> = tmp.str();</codeline>
+<linenumber line="101"/><codeline> <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1Exception_1o2">mDefaultMessage</ref>.c_str();</codeline>
+<linenumber line="102"/><codeline> }<highlight class="comment">// getDefaultMessage() </highlight></codeline>
+<linenumber line="103"/><codeline></codeline>
+<linenumber line="104"/><codeline><highlight class="keyword">private</highlight>:</codeline>
+<linenumber line="105" refid="classsf_1_1system_1_1Exception_1o0"/><codeline> std::string mErrString;</codeline>
+<linenumber line="106" refid="classsf_1_1system_1_1Exception_1o1"/><codeline> std::string mFileName;</codeline>
+<linenumber line="107" refid="classsf_1_1system_1_1Exception_1o2"/><codeline> std::string mDefaultMessage;</codeline>
+<linenumber line="108" refid="classsf_1_1system_1_1Exception_1o3"/><codeline> <highlight class="keywordtype">int</highlight> mLineNumber;</codeline>
+<linenumber line="109" refid="classsf_1_1system_1_1Exception_1o4"/><codeline> ERROR_TYPE mErrID;</codeline>
+<linenumber line="110"/><codeline>};</codeline>
+<linenumber line="111"/><codeline></codeline>
+<linenumber line="113" refid="classsf_1_1system_1_1FatalErrorException_1"/><codeline><highlight class="keyword">class </highlight>FatalErrorException : <highlight class="keyword">public</highlight> Exception {</codeline>
+<linenumber line="114"/><codeline><highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="120" refid="classsf_1_1system_1_1FatalErrorException_1a0"/><codeline> FatalErrorException(<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> * <highlight class="keyword">const</highlight> pValue,<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> * <highlight class="keyword">const</highlight> fileName,<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> line,<highlight class="keyword">const</highlight> ERROR_TYPE err = DEFAULT)</codeline>
+<linenumber line="121"/><codeline> : Exception(pValue,fileName,line)</codeline>
+<linenumber line="122"/><codeline> {;};</codeline>
+<linenumber line="128" refid="classsf_1_1system_1_1FatalErrorException_1a1"/><codeline> FatalErrorException(std::string & value,<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> * <highlight class="keyword">const</highlight> fileName,<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> line,<highlight class="keyword">const</highlight> ERROR_TYPE err = DEFAULT)</codeline>
+<linenumber line="129"/><codeline> : Exception(value,fileName,line)</codeline>
+<linenumber line="130"/><codeline> {;};</codeline>
+<linenumber line="131"/><codeline>};</codeline>
+<linenumber line="132"/><codeline></codeline>
+<linenumber line="134" refid="classsf_1_1system_1_1RecoverbleErrorException_1"/><codeline><highlight class="keyword">class </highlight>RecoverbleErrorException : <highlight class="keyword">public</highlight> Exception {</codeline>
+<linenumber line="135"/><codeline><highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="141" refid="classsf_1_1system_1_1RecoverbleErrorException_1a0"/><codeline> RecoverbleErrorException(<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> * <highlight class="keyword">const</highlight> pValue,<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> * <highlight class="keyword">const</highlight> fileName,<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> line,<highlight class="keyword">const</highlight> ERROR_TYPE err = DEFAULT)</codeline>
+<linenumber line="142"/><codeline> : Exception(pValue,fileName,line)</codeline>
+<linenumber line="143"/><codeline> {;};</codeline>
+<linenumber line="149" refid="classsf_1_1system_1_1RecoverbleErrorException_1a1"/><codeline> RecoverbleErrorException(std::string & value,<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> * <highlight class="keyword">const</highlight> fileName,<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> line,<highlight class="keyword">const</highlight> ERROR_TYPE err = DEFAULT)</codeline>
+<linenumber line="150"/><codeline> : Exception(value,fileName,line)</codeline>
+<linenumber line="151"/><codeline> {;};</codeline>
+<linenumber line="152"/><codeline></codeline>
+<linenumber line="153"/><codeline>};</codeline>
+<linenumber line="154"/><codeline> }<highlight class="comment">// system</highlight></codeline>
+<linenumber line="155"/><codeline>}<highlight class="comment">// sf</highlight></codeline>
+<linenumber line="156"/><codeline>}</codeline>
+<linenumber line="157"/><codeline><highlight class="preprocessor">#endif // !defined(AFX_EXCEPTION_H__F0B6B43A_53BE_4C53_AB43_D64FED220C3B__INCLUDED_)</highlight></codeline>
+<linenumber line="158"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/Exception.h"/>
+ </compounddef>
+ <compounddef id="Input_8cpp" kind="file">
+ <compoundname>Input.cpp</compoundname>
+ <includes id="sfdebug_8h" local="yes">sfdebug.h</includes>
+ <includes local="yes">stdio.h</includes>
+ <includes local="yes">system.h</includes>
+ <includes id="Input_8h" local="yes">Input.h</includes>
+ <incdepgraph>
+ <node id="288">
+ <label>Input.cpp</label>
+ <link id="Input.cpp"/>
+ <childnode id="289" relation="public-inheritance">
+ </childnode>
+ <childnode id="290" relation="public-inheritance">
+ </childnode>
+ <childnode id="291" relation="public-inheritance">
+ </childnode>
+ <childnode id="292" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="292">
+ <label>Input.h</label>
+ <link id="Input_8h"/>
+ <childnode id="293" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="289">
+ <label>sfdebug.h</label>
+ <link id="sfdebug_8h"/>
+ </node>
+ <node id="293">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="291">
+ <label>system.h</label>
+ </node>
+ <node id="290">
+ <label>stdio.h</label>
+ </node>
+ </incdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1input">sf::system::input</innernamespace>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// Input Ae?Y\\81P\e\1?I\O\A\A!\81\91</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// ?AAo?I!\81\91OS\81\8bIA\81C?I\81÷n?Y!E?AAo!E\\81P\e\1?EC??\81â?T?1!\81\92</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// IuIo:</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// $Log: Input.cpp,v $</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:35 fujiwara</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// Revision 1.3 2001/07/01 21:30:34 fujiwara</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">// \a\a\e\e!?\\81P\A\\81\98\A\\81P\81C\81áA??\81E</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:50:12 fujiwara</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// 2001/01/29 \a\a\e!?\e!?\\81P\81C!?DIN\e\?\O\e\e?IAE2A </highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="comment">// \a\a\e!?\e!?\\81P\81C!?DIN</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="preprocessor">#include "<ref idref="sfdebug_8h">sfdebug.h</ref>"</highlight></codeline>
+<linenumber line="24"/><codeline></codeline>
+<linenumber line="25"/><codeline><highlight class="comment">// SYSTEM INCLUDES //</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="preprocessor">#include "stdio.h"</highlight></codeline>
+<linenumber line="27"/><codeline></codeline>
+<linenumber line="28"/><codeline><highlight class="comment">// Project Includes </highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="preprocessor">#include "system.h"</highlight></codeline>
+<linenumber line="30"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define new DEBUG_NEW</highlight></codeline>
+<linenumber line="32"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="33"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include "<ref idref="Input_8h">Input.h</ref>"</highlight></codeline>
+<linenumber line="34"/><codeline></codeline>
+<linenumber line="36"/><codeline><highlight class="comment">// 1?AU/?AIC</highlight></codeline>
+<linenumber line="38"/><codeline><highlight class="comment">namespace sf {</highlight></codeline>
+<linenumber line="39"/><codeline> <highlight class="keyword">namespace </highlight>system {</codeline>
+<linenumber line="40" refid="namespacesf_1_1system_1_1input_1"/><codeline> <highlight class="keyword">namespace </highlight>input {</codeline>
+<linenumber line="41"/><codeline> </codeline>
+<linenumber line="42"/><codeline> Input::Input()</codeline>
+<linenumber line="43"/><codeline> {</codeline>
+<linenumber line="44"/><codeline> </codeline>
+<linenumber line="45"/><codeline> }</codeline>
+<linenumber line="46"/><codeline> </codeline>
+<linenumber line="47"/><codeline> Input::~Input()</codeline>
+<linenumber line="48"/><codeline> {</codeline>
+<linenumber line="49"/><codeline> </codeline>
+<linenumber line="50"/><codeline> }</codeline>
+<linenumber line="51"/><codeline> } <highlight class="comment">// namespace input </highlight></codeline>
+<linenumber line="52"/><codeline> } <highlight class="comment">// namespace system</highlight></codeline>
+<linenumber line="53"/><codeline>} <highlight class="comment">// namespace sf</highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/Input.cpp"/>
+ </compounddef>
+ <compounddef id="Input_8h" kind="file">
+ <compoundname>Input.h</compoundname>
+ <includes id="sf_8h" local="yes">sf.h</includes>
+ <includedby id="Input_8cpp" local="yes">Input.cpp</includedby>
+ <includedby id="InputImpl_8h" local="yes">InputImpl.h</includedby>
+ <includedby id="SoundImpl_8cpp" local="yes">SoundImpl.cpp</includedby>
+ <incdepgraph>
+ <node id="295">
+ <label>Input.h</label>
+ <link id="Input.h"/>
+ <childnode id="296" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="296">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ </incdepgraph>
+ <invincdepgraph>
+ <node id="301">
+ <label>sfglib.cpp</label>
+ <link id="sfglib_8cpp-source"/>
+ </node>
+ <node id="298">
+ <label>Input.cpp</label>
+ <link id="Input_8cpp-source"/>
+ </node>
+ <node id="304">
+ <label>SoundImpl.cpp</label>
+ <link id="SoundImpl_8cpp-source"/>
+ </node>
+ <node id="297">
+ <label>Input.h</label>
+ <link id="Input.h"/>
+ <childnode id="298" relation="public-inheritance">
+ </childnode>
+ <childnode id="299" relation="public-inheritance">
+ </childnode>
+ <childnode id="304" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="303">
+ <label>SystemImpl.cpp</label>
+ <link id="SystemImpl_8cpp-source"/>
+ </node>
+ <node id="300">
+ <label>InputImpl.cpp</label>
+ <link id="InputImpl_8cpp-source"/>
+ </node>
+ <node id="299">
+ <label>InputImpl.h</label>
+ <link id="InputImpl_8h"/>
+ <childnode id="300" relation="public-inheritance">
+ </childnode>
+ <childnode id="301" relation="public-inheritance">
+ </childnode>
+ <childnode id="302" relation="public-inheritance">
+ </childnode>
+ <childnode id="303" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="302">
+ <label>System.cpp</label>
+ <link id="System_8cpp-source"/>
+ </node>
+ </invincdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1input">sf::system::input</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1input_1_1keyboard">sf::system::input::keyboard</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1input_1_1mouse">sf::system::input::mouse</innernamespace>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="Input_8h_1a0" virt="normal" prot="public">
+ <name>AFX_INPUT_H__D4B94DF3_02D8_42CE_AC7A_A98CCC9D0115__INCLUDED_</name>
+ <briefdescription>
+<para>
+Ao?AAE?s1t?sEE\81âs\T\\81P\i. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Input.h" line="14" bodystart="14" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+AtII!E\-!?\U!?\E!|\T\|\1!|\\81C\c\?\1\A\\81\92\A\\81P!E?I\?\o\?!?\O\\81\98!?\1!\81\91Ae?oAe\83ÊA?E?E?o1O?|. ?AoY?I?eIy?I!\81\91OS\81\8bIA\81C?I?AAo\\81P\e\1?EC??\81â?T?1!\81\92. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="author"><title>oi?O: </title><para>
+S.F. </para>
+</simplesect><simplesect kind="version"><title>\D!?\\81C\c\o: </title><para>
+$Id:</para>
+</simplesect><para>
+Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved. </para>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline></codeline>
+<linenumber line="12"/><codeline></codeline>
+<linenumber line="13"/><codeline><highlight class="preprocessor">#if !defined(AFX_INPUT_H__D4B94DF3_02D8_42CE_AC7A_A98CCC9D0115__INCLUDED_)</highlight></codeline>
+<linenumber line="14" refid="Input_8h_1a0"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define AFX_INPUT_H__D4B94DF3_02D8_42CE_AC7A_A98CCC9D0115__INCLUDED_</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="preprocessor">#if _MSC_VER > 1000</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#pragma once</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif // _MSC_VER > 1000</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="preprocessor">#include "sf.h"</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="keyword">extern</highlight> <highlight class="stringliteral">"C"</highlight> {</codeline>
+<linenumber line="22"/><codeline><highlight class="keyword">namespace </highlight>sf{</codeline>
+<linenumber line="23"/><codeline> <highlight class="keyword">namespace </highlight>system {</codeline>
+<linenumber line="25"/><codeline> <highlight class="keyword">namespace </highlight>input {</codeline>
+<linenumber line="27" refid="namespacesf_1_1system_1_1input_1_1mouse_1"/><codeline> <highlight class="keyword">namespace </highlight>mouse {</codeline>
+<linenumber line="29"/><codeline> <highlight class="keyword">enum</highlight> <ref idref="namespacesf_1_1system_1_1input_1_1mouse_1a5">MKEY_CODE</ref> {</codeline>
+<linenumber line="30"/><codeline> <ref idref="namespacesf_1_1system_1_1input_1_1mouse_1a5a0">MKEY_CONTROL</ref> = 0x1,</codeline>
+<linenumber line="31"/><codeline> <ref idref="namespacesf_1_1system_1_1input_1_1mouse_1a5a1">MKEY_LBUTTON</ref> = 0x2,</codeline>
+<linenumber line="32"/><codeline> <ref idref="namespacesf_1_1system_1_1input_1_1mouse_1a5a2">MKEY_RBUTTON</ref> = 0x4,</codeline>
+<linenumber line="33"/><codeline> <ref idref="namespacesf_1_1system_1_1input_1_1mouse_1a5a3">MKEY_SHIFT</ref> = 0x8,</codeline>
+<linenumber line="34"/><codeline> <ref idref="namespacesf_1_1system_1_1input_1_1mouse_1a5a4">WHEEL_MASK</ref> = 0xffff0000</codeline>
+<linenumber line="35"/><codeline> };</codeline>
+<linenumber line="36"/><codeline></codeline>
+<linenumber line="43" refid="classsf_1_1system_1_1input_1_1mouse_1_1Listener_1"/><codeline> <highlight class="keyword">class </highlight>Listener </codeline>
+<linenumber line="44"/><codeline> {</codeline>
+<linenumber line="45"/><codeline> <highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="46"/><codeline></codeline>
+<linenumber line="52"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener_1a0">leftButtonDown</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> screenX,<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> screenY,<highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref> mkey) = 0;</codeline>
+<linenumber line="53"/><codeline></codeline>
+<linenumber line="59"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener_1a1">leftButtonUp</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> screenX,<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> screenY,<highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref> mkey) = 0;</codeline>
+<linenumber line="60"/><codeline></codeline>
+<linenumber line="66"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener_1a2">leftButtonDoubleClick</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> screenX,<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> screenY,<highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref> mkey) = 0;</codeline>
+<linenumber line="67"/><codeline></codeline>
+<linenumber line="73"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener_1a3">rightButtonDown</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> screenX,<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> screenY,<highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref> mkey) = 0;</codeline>
+<linenumber line="74"/><codeline> </codeline>
+<linenumber line="80"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener_1a4">rightButtonUp</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> screenX,<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> screenY,<highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref> mkey) = 0;</codeline>
+<linenumber line="81"/><codeline></codeline>
+<linenumber line="87"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener_1a5">rightButtonDoubleClick</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> screenX,<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> screenY,<highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref> mkey) = 0;</codeline>
+<linenumber line="88"/><codeline></codeline>
+<linenumber line="94"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener_1a6">mouseMove</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> screenX,<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> screenY,<highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref> mkey) = 0;</codeline>
+<linenumber line="95"/><codeline></codeline>
+<linenumber line="101"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener_1a7">mouseWheel</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> screenX,<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> screenY,<highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref> mkey) = 0;</codeline>
+<linenumber line="102"/><codeline> </codeline>
+<linenumber line="106"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener_1a8">isListeningMouse</ref>(<highlight class="keywordtype">void</highlight>) <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="107"/><codeline></codeline>
+<linenumber line="111"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1mouse_1_1Listener_1a9">mouseTalkerIsDeleted</ref>(<highlight class="keywordtype">void</highlight>) = 0;</codeline>
+<linenumber line="112"/><codeline> };</codeline>
+<linenumber line="113"/><codeline> };</codeline>
+<linenumber line="114"/><codeline></codeline>
+<linenumber line="116" refid="namespacesf_1_1system_1_1input_1_1keyboard_1"/><codeline> <highlight class="keyword">namespace </highlight>keyboard {</codeline>
+<linenumber line="118"/><codeline> <highlight class="keyword">enum</highlight> <ref idref="namespacesf_1_1system_1_1input_1_1keyboard_1a6">EXTEND_KEYCODE</ref> {</codeline>
+<linenumber line="119"/><codeline> <ref idref="namespacesf_1_1system_1_1input_1_1keyboard_1a6a0">CONTROL</ref> = 0x1,</codeline>
+<linenumber line="120"/><codeline> <ref idref="namespacesf_1_1system_1_1input_1_1keyboard_1a6a1">SHIFT</ref> = 0x8</codeline>
+<linenumber line="121"/><codeline> };</codeline>
+<linenumber line="122"/><codeline></codeline>
+<linenumber line="124"/><codeline> <highlight class="keyword">enum</highlight> <ref idref="namespacesf_1_1system_1_1input_1_1keyboard_1a7">VIRTUAL_KEYCODE</ref> {</codeline>
+<linenumber line="125"/><codeline> <ref idref="namespacesf_1_1system_1_1input_1_1keyboard_1a7a2">VKEY_LEFT</ref> = 0x25,</codeline>
+<linenumber line="126"/><codeline> <ref idref="namespacesf_1_1system_1_1input_1_1keyboard_1a7a3">VKEY_UP</ref> = 0x26,</codeline>
+<linenumber line="127"/><codeline> <ref idref="namespacesf_1_1system_1_1input_1_1keyboard_1a7a4">VKEY_RIGHT</ref> = 0x27,</codeline>
+<linenumber line="128"/><codeline> <ref idref="namespacesf_1_1system_1_1input_1_1keyboard_1a7a5">VKEY_DOWN</ref> = 0x28</codeline>
+<linenumber line="129"/><codeline> };</codeline>
+<linenumber line="130"/><codeline></codeline>
+<linenumber line="134" refid="classsf_1_1system_1_1input_1_1keyboard_1_1VKey_1"/><codeline> <highlight class="keyword">class </highlight>SFDLL VKey {</codeline>
+<linenumber line="135"/><codeline> <highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="136" refid="classsf_1_1system_1_1input_1_1keyboard_1_1VKey_1p0"/><codeline> <highlight class="keyword">static</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> UP;</codeline>
+<linenumber line="137" refid="classsf_1_1system_1_1input_1_1keyboard_1_1VKey_1p1"/><codeline> <highlight class="keyword">static</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> DOWN;</codeline>
+<linenumber line="138" refid="classsf_1_1system_1_1input_1_1keyboard_1_1VKey_1p2"/><codeline> <highlight class="keyword">static</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> LEFT;</codeline>
+<linenumber line="139" refid="classsf_1_1system_1_1input_1_1keyboard_1_1VKey_1p3"/><codeline> <highlight class="keyword">static</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> RIGHT;</codeline>
+<linenumber line="140"/><codeline> };</codeline>
+<linenumber line="141"/><codeline></codeline>
+<linenumber line="147" refid="classsf_1_1system_1_1input_1_1keyboard_1_1Listener_1"/><codeline> <highlight class="keyword">class </highlight>Listener </codeline>
+<linenumber line="148"/><codeline> {</codeline>
+<linenumber line="149"/><codeline> <highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="154"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1keyboard_1_1Listener_1a0">keyDown</ref>(<highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref> keyCode,<highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref> extKeyCode) = 0;</codeline>
+<linenumber line="155"/><codeline></codeline>
+<linenumber line="160"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1keyboard_1_1Listener_1a1">keyUp</ref>(<highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref> keyCode,<highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref> extKeyCode) = 0;</codeline>
+<linenumber line="161"/><codeline></codeline>
+<linenumber line="167"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1keyboard_1_1Listener_1a2">isListeningKeyboard</ref>(<highlight class="keywordtype">void</highlight>) <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="168"/><codeline> </codeline>
+<linenumber line="174"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1keyboard_1_1Listener_1a3">keyboardTalkerIsDeleted</ref>(<highlight class="keywordtype">void</highlight>) = 0;</codeline>
+<linenumber line="175"/><codeline> };</codeline>
+<linenumber line="176"/><codeline> };</codeline>
+<linenumber line="177"/><codeline> </codeline>
+<linenumber line="179"/><codeline></codeline>
+<linenumber line="180" refid="classsf_1_1system_1_1input_1_1Input_1"/><codeline> <highlight class="keyword">class </highlight>Input </codeline>
+<linenumber line="181"/><codeline> {</codeline>
+<linenumber line="182"/><codeline> <highlight class="comment">// LIFECYCLE //</highlight></codeline>
+<linenumber line="183"/><codeline> <highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="185" refid="classsf_1_1system_1_1input_1_1Input_1a0"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1Input_1a0">Input</ref>(){};</codeline>
+<linenumber line="187" refid="classsf_1_1system_1_1input_1_1Input_1a1"/><codeline> <highlight class="keyword">virtual</highlight> <ref idref="classsf_1_1system_1_1input_1_1Input_1a1">~Input</ref>(){};</codeline>
+<linenumber line="188"/><codeline> <highlight class="comment">// OPERATORS //</highlight></codeline>
+<linenumber line="189"/><codeline> <highlight class="comment">// OPERATIONS //</highlight></codeline>
+<linenumber line="191"/><codeline><highlight class="comment"> /*! Input\?\o\?!?\O\\81\98!?\1?I?AAo\\81P\e\1?o?e\81Lu2??1?e???a?EIN\81\8bO?\83Ê?i?A???T?1!\81\92<br></highlight></codeline>
+<linenumber line="192"/><codeline> AI?i\e\?\O\e\e?oIoIN?1?eA|?\81á?e?3?I\a\?\A\E?o\81CA?O?D?1?3?E?I?\81\91?e?T?\81â?o!\81\92 </codeline>
+<linenumber line="193"/><codeline> @<highlight class="keywordflow">throw</highlight> FatalErrorException ?e\81Lu2??E?oCO?\81E???i1c?a?\81E?\81P?IAtII\C\D\?\1?\81Ê2??a\81C\81á?A?\81á?e?E?\81á?A???i1c */</codeline>
+<linenumber line="194"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1Input_1a2">initialize</ref>(<highlight class="keywordtype">void</highlight>) = 0;</codeline>
+<linenumber line="195"/><codeline></codeline>
+<linenumber line="198"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1Input_1a3">update</ref>(<highlight class="keywordtype">void</highlight>) = 0;</codeline>
+<linenumber line="199"/><codeline></codeline>
+<linenumber line="205"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1Input_1a4">addMouseListener</ref>(mouse::Listener * <highlight class="keyword">const</highlight> pListener) = 0;</codeline>
+<linenumber line="206"/><codeline> </codeline>
+<linenumber line="211"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1Input_1a5">removeMouseListener</ref>(mouse::Listener * <highlight class="keyword">const</highlight> pListener) = 0;</codeline>
+<linenumber line="212"/><codeline></codeline>
+<linenumber line="218"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1Input_1a6">addKeyboardListener</ref>(keyboard::Listener * <highlight class="keyword">const</highlight> pListener) = 0;</codeline>
+<linenumber line="219"/><codeline></codeline>
+<linenumber line="224"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1Input_1a7">removeKeyboardListener</ref>(keyboard::Listener * <highlight class="keyword">const</highlight> pListener) = 0;</codeline>
+<linenumber line="225"/><codeline></codeline>
+<linenumber line="226"/><codeline> <highlight class="comment">// ACCESS //</highlight></codeline>
+<linenumber line="227"/><codeline></codeline>
+<linenumber line="234"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1Input_1a8">left</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bTrig = <highlight class="keyword">false</highlight>) <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="235"/><codeline></codeline>
+<linenumber line="242"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1Input_1a9">right</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bTrig = <highlight class="keyword">false</highlight>) <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="243"/><codeline></codeline>
+<linenumber line="250"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1Input_1a10">up</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bTrig = <highlight class="keyword">false</highlight>) <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="251"/><codeline></codeline>
+<linenumber line="258"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1Input_1a11">down</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bTrig = <highlight class="keyword">false</highlight>) <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="259"/><codeline></codeline>
+<linenumber line="266"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1Input_1a12">buttonA</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bTrig = <highlight class="keyword">false</highlight>) <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="267"/><codeline></codeline>
+<linenumber line="274"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1Input_1a13">buttonB</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bTrig = <highlight class="keyword">false</highlight>) <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="275"/><codeline></codeline>
+<linenumber line="282"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1Input_1a14">buttonC</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bTrig = <highlight class="keyword">false</highlight>) <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="283"/><codeline></codeline>
+<linenumber line="290"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1Input_1a15">buttonD</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bTrig = <highlight class="keyword">false</highlight>) <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="291"/><codeline></codeline>
+<linenumber line="298"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1Input_1a16">start</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bTrig = <highlight class="keyword">false</highlight>) <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="299"/><codeline></codeline>
+<linenumber line="306"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1Input_1a17">exit</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bTrig = <highlight class="keyword">false</highlight>) <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="307"/><codeline></codeline>
+<linenumber line="309"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1Input_1a18">showMouseCursor</ref>(<highlight class="keywordtype">void</highlight>) = 0;</codeline>
+<linenumber line="311"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1Input_1a19">hideMouseCursor</ref>(<highlight class="keywordtype">void</highlight>) = 0; </codeline>
+<linenumber line="315"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1Input_1a20">mouseCursorVisibility</ref>(<highlight class="keywordtype">void</highlight>) <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="316"/><codeline></codeline>
+<linenumber line="317"/><codeline> <highlight class="comment">// INQUIRY //</highlight></codeline>
+<linenumber line="321"/><codeline><highlight class="comment"></highlight> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1Input_1a21">isEnabled</ref>(<highlight class="keywordtype">void</highlight>) <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="322"/><codeline> };</codeline>
+<linenumber line="323"/><codeline> <highlight class="comment">// ----------------------------------------------------------------</highlight></codeline>
+<linenumber line="325"/><codeline><highlight class="comment"> // ----------------------------------------------------------------</highlight></codeline>
+<linenumber line="326" refid="classsf_1_1system_1_1input_1_1Listener_1"/><codeline> <highlight class="keyword">class </highlight>Listener</codeline>
+<linenumber line="327"/><codeline> {</codeline>
+<linenumber line="328"/><codeline> <highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="329"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> deviceStateChanged(Input * <highlight class="keyword">const</highlight> pInput) = 0;</codeline>
+<linenumber line="330"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> eventTalkerIsDeleted(<highlight class="keywordtype">void</highlight>) = 0;</codeline>
+<linenumber line="331"/><codeline> };<highlight class="comment">// Listener</highlight></codeline>
+<linenumber line="332"/><codeline> </codeline>
+<linenumber line="333"/><codeline></codeline>
+<linenumber line="334"/><codeline> }<highlight class="comment">// namespace input</highlight></codeline>
+<linenumber line="335"/><codeline> }<highlight class="comment">// namespace system</highlight></codeline>
+<linenumber line="336"/><codeline>}<highlight class="comment">// namespace sf</highlight></codeline>
+<linenumber line="337"/><codeline>}</codeline>
+<linenumber line="338"/><codeline><highlight class="preprocessor">#endif // !defined(AFX_INPUT_H__D4B94DF3_02D8_42CE_AC7A_A98CCC9D0115__INCLUDED_)</highlight></codeline>
+<linenumber line="339"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/Input.h"/>
+ </compounddef>
+ <compounddef id="InputImpl_8cpp" kind="file">
+ <compoundname>InputImpl.cpp</compoundname>
+ <includes id="sfdebug_8h" local="yes">sfdebug.h</includes>
+ <includes local="yes">math.h</includes>
+ <includes local="no">list</includes>
+ <includes local="no">queue</includes>
+ <includes local="no">memory</includes>
+ <includes local="no">map</includes>
+ <includes local="yes">windows.h</includes>
+ <includes local="yes">windowsx.h</includes>
+ <includes local="yes">d3d8.h</includes>
+ <includes local="yes">d3dx8.h</includes>
+ <includes local="yes">dmusici.h</includes>
+ <includes local="yes">dinput.h</includes>
+ <includes id="dxerr8sf_8h" local="yes">dxerr8sf.h</includes>
+ <includes local="yes">exception.h</includes>
+ <includes id="sfglib_2resource_8h" local="yes">resource.h</includes>
+ <includes id="System_8h" local="yes">System.h</includes>
+ <includes id="Console_8h" local="yes">Console.h</includes>
+ <includes id="Obj_8h" local="yes">Obj.h</includes>
+ <includes id="singleton_8h" local="yes">singleton.h</includes>
+ <includes id="AbstractSprite_8h" local="yes">AbstractSprite.h</includes>
+ <includes id="ConsoleImpl_8h" local="yes">ConsoleImpl.h</includes>
+ <includes id="SoundImpl_8h" local="yes">SoundImpl.h</includes>
+ <includes id="InputImpl_8h" local="yes">InputImpl.h</includes>
+ <includes id="Main_8h" local="yes">Main.h</includes>
+ <includes id="SystemWin32_8h" local="yes">SystemWin32.h</includes>
+ <includes id="SystemImpl_8h" local="yes">SystemImpl.h</includes>
+ <incdepgraph>
+ <node id="308">
+ <label>list</label>
+ </node>
+ <node id="327">
+ <label>singleton.h</label>
+ <link id="singleton_8h"/>
+ <childnode id="310" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="319">
+ <label>dxerr8.h</label>
+ </node>
+ <node id="309">
+ <label>queue</label>
+ </node>
+ <node id="330">
+ <label>SoundImpl.h</label>
+ <link id="SoundImpl_8h"/>
+ <childnode id="324" relation="public-inheritance">
+ </childnode>
+ <childnode id="331" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="312">
+ <label>windows.h</label>
+ </node>
+ <node id="333">
+ <label>Input.h</label>
+ <link id="Input_8h"/>
+ <childnode id="324" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="336">
+ <label>sfinterface.h</label>
+ <link id="sfinterface_8h-source"/>
+ </node>
+ <node id="322">
+ <label>System.h</label>
+ <link id="System_8h"/>
+ <childnode id="323" relation="public-inheritance">
+ </childnode>
+ <childnode id="324" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="313">
+ <label>windowsx.h</label>
+ </node>
+ <node id="321">
+ <label>resource.h</label>
+ <link id="sfglib_2resource_8h-source"/>
+ </node>
+ <node id="316">
+ <label>dmusici.h</label>
+ </node>
+ <node id="323">
+ <label>string</label>
+ </node>
+ <node id="329">
+ <label>ConsoleImpl.h</label>
+ <link id="ConsoleImpl_8h"/>
+ <childnode id="324" relation="public-inheritance">
+ </childnode>
+ <childnode id="325" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="305">
+ <label>InputImpl.cpp</label>
+ <link id="InputImpl.cpp"/>
+ <childnode id="306" relation="public-inheritance">
+ </childnode>
+ <childnode id="307" relation="public-inheritance">
+ </childnode>
+ <childnode id="308" relation="public-inheritance">
+ </childnode>
+ <childnode id="309" relation="public-inheritance">
+ </childnode>
+ <childnode id="310" relation="public-inheritance">
+ </childnode>
+ <childnode id="311" relation="public-inheritance">
+ </childnode>
+ <childnode id="312" relation="public-inheritance">
+ </childnode>
+ <childnode id="313" relation="public-inheritance">
+ </childnode>
+ <childnode id="314" relation="public-inheritance">
+ </childnode>
+ <childnode id="315" relation="public-inheritance">
+ </childnode>
+ <childnode id="316" relation="public-inheritance">
+ </childnode>
+ <childnode id="317" relation="public-inheritance">
+ </childnode>
+ <childnode id="318" relation="public-inheritance">
+ </childnode>
+ <childnode id="320" relation="public-inheritance">
+ </childnode>
+ <childnode id="321" relation="public-inheritance">
+ </childnode>
+ <childnode id="322" relation="public-inheritance">
+ </childnode>
+ <childnode id="325" relation="public-inheritance">
+ </childnode>
+ <childnode id="326" relation="public-inheritance">
+ </childnode>
+ <childnode id="327" relation="public-inheritance">
+ </childnode>
+ <childnode id="328" relation="public-inheritance">
+ </childnode>
+ <childnode id="329" relation="public-inheritance">
+ </childnode>
+ <childnode id="330" relation="public-inheritance">
+ </childnode>
+ <childnode id="332" relation="public-inheritance">
+ </childnode>
+ <childnode id="334" relation="public-inheritance">
+ </childnode>
+ <childnode id="335" relation="public-inheritance">
+ </childnode>
+ <childnode id="337" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="318">
+ <label>dxerr8sf.h</label>
+ <link id="dxerr8sf_8h-source"/>
+ <childnode id="319" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="306">
+ <label>sfdebug.h</label>
+ <link id="sfdebug_8h"/>
+ </node>
+ <node id="311">
+ <label>map</label>
+ </node>
+ <node id="328">
+ <label>AbstractSprite.h</label>
+ <link id="AbstractSprite_8h-source"/>
+ <childnode id="324" relation="public-inheritance">
+ </childnode>
+ <childnode id="325" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="337">
+ <label>SystemImpl.h</label>
+ <link id="SystemImpl_8h-source"/>
+ <childnode id="324" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="324">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="325">
+ <label>Console.h</label>
+ <link id="Console_8h"/>
+ <childnode id="310" relation="public-inheritance">
+ </childnode>
+ <childnode id="324" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="332">
+ <label>InputImpl.h</label>
+ <link id="InputImpl_8h"/>
+ <childnode id="324" relation="public-inheritance">
+ </childnode>
+ <childnode id="333" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="331">
+ <label>Sound.h</label>
+ <link id="Sound_8h"/>
+ <childnode id="324" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="307">
+ <label>math.h</label>
+ </node>
+ <node id="335">
+ <label>SystemWin32.h</label>
+ <link id="SystemWin32_8h"/>
+ <childnode id="336" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="326">
+ <label>Obj.h</label>
+ <link id="Obj_8h-source"/>
+ <childnode id="324" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="314">
+ <label>d3d8.h</label>
+ </node>
+ <node id="334">
+ <label>Main.h</label>
+ <link id="Main_8h-source"/>
+ </node>
+ <node id="320">
+ <label>exception.h</label>
+ </node>
+ <node id="315">
+ <label>d3dx8.h</label>
+ </node>
+ <node id="310">
+ <label>memory</label>
+ </node>
+ <node id="317">
+ <label>dinput.h</label>
+ </node>
+ </incdepgraph>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="InputImpl_8cpp_1a0" virt="normal" prot="public">
+ <name>WIN32_LEAN_AND_MEAN</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.cpp" line="36" bodystart="36" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="define" id="InputImpl_8cpp_1a1" virt="normal" prot="public">
+ <name>_WIN32_WINNT</name>
+ <initializer>0x0400</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.cpp" line="37" bodystart="37" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// InputImpl Ae?Y\\81P\e\1?I\81÷n?Y!E?AAo!E\\81P\e\1</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// \\83Ê\o\\81~\e?\81á?e\N\\81P\e?T?\81P?A?A?T?1!\81\92 </highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// IuIo:</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// $Log: InputImpl.cpp,v $</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:35 fujiwara</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// Revision 1.5 2001/07/09 20:30:08 fujiwara</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// Revision 1.4 2001/07/01 21:30:34 fujiwara</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">// \a\a\e\e!?\\81P\A\\81\98\A\\81P\81C\81áA??\81E</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// Revision 1.3 2001/07/01 01:03:44 fujiwara</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">// const ?I\81C\81áA??\81E</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">// CUAO\\81N\C\\81\92\??IAOAa\81ED2a</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment">// Revision 1.2 2001/05/29 01:12:45 fujiwara</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="comment">// \81â\81N\83Êu\-\a\e(Eo1OEa!E?IoiAR!\81\92CUAO\\81N\C\\81\92\??I\D\\81\8b??A\83Ê</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="comment">// Revision 1.1 2001/05/12 01:07:33 fujiwara</highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="comment">// 2001/01/29 \a\a\e!?\e!?\\81P\81C!?DIN\e\?\O\e\e?IAE2A </highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="comment">#pragma warning( disable : 4786 ) //STL?I\81EU1d3\81\8b?\81E</highlight></codeline>
+<linenumber line="32"/><codeline></codeline>
+<linenumber line="33"/><codeline><highlight class="comment">// \a\a\e!?\e!?\\81P\81C!?DIN</highlight></codeline>
+<linenumber line="34"/><codeline><highlight class="preprocessor">#include "<ref idref="sfdebug_8h">sfdebug.h</ref>"</highlight></codeline>
+<linenumber line="35"/><codeline></codeline>
+<linenumber line="36"/><codeline><highlight class="preprocessor">#define WIN32_LEAN_AND_MEAN</highlight></codeline>
+<linenumber line="37"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define _WIN32_WINNT 0x0400</highlight></codeline>
+<linenumber line="38"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include "math.h"</highlight></codeline>
+<linenumber line="39"/><codeline><highlight class="preprocessor">#include <list></highlight></codeline>
+<linenumber line="40"/><codeline><highlight class="preprocessor">#include <queue></highlight></codeline>
+<linenumber line="41"/><codeline><highlight class="preprocessor">#include <memory></highlight></codeline>
+<linenumber line="42"/><codeline><highlight class="preprocessor">#include <map></highlight></codeline>
+<linenumber line="43"/><codeline></codeline>
+<linenumber line="44"/><codeline><highlight class="preprocessor">#include "windows.h"</highlight></codeline>
+<linenumber line="45"/><codeline><highlight class="preprocessor">#include "windowsx.h"</highlight></codeline>
+<linenumber line="46"/><codeline><highlight class="preprocessor">#include "d3d8.h"</highlight></codeline>
+<linenumber line="47"/><codeline><highlight class="preprocessor">#include "d3dx8.h"</highlight></codeline>
+<linenumber line="48"/><codeline><highlight class="preprocessor">#include "dmusici.h"</highlight></codeline>
+<linenumber line="49"/><codeline><highlight class="preprocessor">#include "dinput.h"</highlight></codeline>
+<linenumber line="50"/><codeline><highlight class="preprocessor">#include "dxerr8sf.h"</highlight></codeline>
+<linenumber line="51"/><codeline></codeline>
+<linenumber line="52"/><codeline><highlight class="comment">// PROJECT INCLUDES</highlight></codeline>
+<linenumber line="53"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="54"/><codeline></codeline>
+<linenumber line="55"/><codeline><highlight class="preprocessor">#include "exception.h"</highlight></codeline>
+<linenumber line="56"/><codeline><highlight class="preprocessor">#include "resource.h"</highlight></codeline>
+<linenumber line="57"/><codeline><highlight class="preprocessor">#include "<ref idref="System_8h">System.h</ref>"</highlight></codeline>
+<linenumber line="58"/><codeline><highlight class="preprocessor">#include "<ref idref="Console_8h">Console.h</ref>"</highlight></codeline>
+<linenumber line="59"/><codeline><highlight class="preprocessor">#include "Obj.h"</highlight></codeline>
+<linenumber line="60"/><codeline><highlight class="preprocessor">#include "<ref idref="singleton_8h">singleton.h</ref>"</highlight></codeline>
+<linenumber line="61"/><codeline><highlight class="preprocessor">#include "AbstractSprite.h"</highlight></codeline>
+<linenumber line="62"/><codeline><highlight class="preprocessor">#include "<ref idref="ConsoleImpl_8h">ConsoleImpl.h</ref>"</highlight> </codeline>
+<linenumber line="63"/><codeline><highlight class="preprocessor">#include "<ref idref="SoundImpl_8h">SoundImpl.h</ref>"</highlight></codeline>
+<linenumber line="64"/><codeline></codeline>
+<linenumber line="65"/><codeline></codeline>
+<linenumber line="66"/><codeline><highlight class="preprocessor">#include "<ref idref="InputImpl_8h">InputImpl.h</ref>"</highlight></codeline>
+<linenumber line="67"/><codeline><highlight class="preprocessor">#include "Main.h"</highlight></codeline>
+<linenumber line="68"/><codeline><highlight class="preprocessor">#include "<ref idref="SystemWin32_8h">SystemWin32.h</ref>"</highlight></codeline>
+<linenumber line="69"/><codeline><highlight class="preprocessor">#include "SystemImpl.h"</highlight></codeline>
+<linenumber line="70"/><codeline></codeline>
+<linenumber line="71"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="72"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define new DEBUG_NEW</highlight></codeline>
+<linenumber line="73"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="74"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="76"/><codeline><highlight class="comment">// 1?AU/?AIC</highlight></codeline>
+<linenumber line="78"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="79"/><codeline><highlight class="keyword">using</highlight> <highlight class="keyword">namespace </highlight>sf::system::input;</codeline>
+<linenumber line="80"/><codeline></codeline>
+<linenumber line="81"/><codeline><highlight class="comment">// \C\O\c\e\E\3\o\1\E\e\\81P\? ---------------------------------------------------</highlight></codeline>
+<linenumber line="82" refid="classsf_1_1system_1_1input_1_1InputImpl_1a0"/><codeline>InputImpl::InputImpl()</codeline>
+<linenumber line="83"/><codeline>{</codeline>
+<linenumber line="84"/><codeline></codeline>
+<linenumber line="85"/><codeline>}</codeline>
+<linenumber line="86"/><codeline></codeline>
+<linenumber line="87"/><codeline><highlight class="comment">// \3\o\1\E\e\\81P\? -------------------------------------------------------------</highlight></codeline>
+<linenumber line="88" refid="classsf_1_1system_1_1input_1_1InputImpl_1a1"/><codeline>InputImpl::InputImpl(HWND hwnd)</codeline>
+<linenumber line="89"/><codeline>{</codeline>
+<linenumber line="90"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o8">mHWND</ref> = hwnd;</codeline>
+<linenumber line="91"/><codeline><highlight class="comment">// initialize(); </highlight></codeline>
+<linenumber line="92"/><codeline>}</codeline>
+<linenumber line="93"/><codeline></codeline>
+<linenumber line="94"/><codeline><highlight class="comment">// \C\1\E\e\\81P\? ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="95" refid="classsf_1_1system_1_1input_1_1InputImpl_1a2"/><codeline>InputImpl::~InputImpl()</codeline>
+<linenumber line="96"/><codeline>{</codeline>
+<linenumber line="97"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1c0">uninitialize</ref>();</codeline>
+<linenumber line="98"/><codeline>}<highlight class="comment">// ~InputImpl()</highlight></codeline>
+<linenumber line="99"/><codeline></codeline>
+<linenumber line="100"/><codeline><highlight class="comment">// ?e\81Lu2? ---------------------------------------------------------------------</highlight></codeline>
+<linenumber line="101" refid="classsf_1_1system_1_1input_1_1InputImpl_1a35"/><codeline><highlight class="keywordtype">void</highlight> InputImpl::initialize(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="102"/><codeline>{</codeline>
+<linenumber line="103"/><codeline></codeline>
+<linenumber line="104"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o2">mpDI</ref> = NULL;</codeline>
+<linenumber line="105"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o3">mpJoystick</ref> = NULL;</codeline>
+<linenumber line="106"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o4">mpKeyboard</ref> = NULL;</codeline>
+<linenumber line="107"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o0">mbEnabled</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="108"/><codeline> </codeline>
+<linenumber line="109"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o15">mbLeft</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="110"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o16">mbRight</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="111"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o13">mbUp</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="112"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o14">mbDown</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="113"/><codeline></codeline>
+<linenumber line="114"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o17">mbButtonA</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="115"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o18">mbButtonB</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="116"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o19">mbButtonC</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="117"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o20">mbButtonD</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="118"/><codeline></codeline>
+<linenumber line="119"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o21">mbStart</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="120"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o22">mbExit</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="121"/><codeline></codeline>
+<linenumber line="122"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o25">mbBeforeLeft</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="123"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o26">mbBeforeRight</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="124"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o23">mbBeforeUp</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="125"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o24">mbBeforeDown</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="126"/><codeline></codeline>
+<linenumber line="127"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o27">mbBeforeButtonA</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="128"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o28">mbBeforeButtonB</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="129"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o29">mbBeforeButtonC</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="130"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o30">mbBeforeButtonD</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="131"/><codeline></codeline>
+<linenumber line="132"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o31">mbBeforeStart</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="133"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o32">mbBeforeExit</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="134"/><codeline><highlight class="comment">// uninitialize();</highlight></codeline>
+<linenumber line="135"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o0">mbEnabled</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="136"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o1">mbMouseCursor</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="137"/><codeline></codeline>
+<linenumber line="138"/><codeline> HRESULT hr;</codeline>
+<linenumber line="139"/><codeline></codeline>
+<linenumber line="140"/><codeline></codeline>
+<linenumber line="141"/><codeline> <highlight class="comment">// DirectInput \a\O\\81C\\81\98\\81P\E?IA\81CAR</highlight></codeline>
+<linenumber line="142"/><codeline> <highlight class="keywordflow">if</highlight>( FAILED( hr = DirectInput8Create( GetModuleHandle(NULL), DIRECTINPUT_VERSION, </codeline>
+<linenumber line="143"/><codeline> IID_IDirectInput8, (VOID**)&<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o2">mpDI</ref>, NULL ) ) )</codeline>
+<linenumber line="144"/><codeline> { std::string tmp(<highlight class="stringliteral">"DirectInput8Create() Error : "</highlight>);</codeline>
+<linenumber line="145"/><codeline> tmp += DXGetErrorString8(hr);</codeline>
+<linenumber line="146"/><codeline> tmp += <highlight class="stringliteral">" "</highlight>;</codeline>
+<linenumber line="147"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(tmp,__FILE__,__LINE__);</codeline>
+<linenumber line="148"/><codeline> }</codeline>
+<linenumber line="149"/><codeline></codeline>
+<linenumber line="150"/><codeline> <highlight class="comment">// Joystick?I?e\81Lu2? </highlight></codeline>
+<linenumber line="151"/><codeline> <highlight class="keywordflow">try</highlight> {</codeline>
+<linenumber line="152"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1c1">initJoystick</ref>();</codeline>
+<linenumber line="153"/><codeline> } <highlight class="keywordflow">catch</highlight> (RecoverbleErrorException e)</codeline>
+<linenumber line="154"/><codeline> {</codeline>
+<linenumber line="155"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o3">mpJoystick</ref> != NULL){</codeline>
+<linenumber line="156"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o3">mpJoystick</ref>->Release();</codeline>
+<linenumber line="157"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o3">mpJoystick</ref> = NULL;</codeline>
+<linenumber line="158"/><codeline> }</codeline>
+<linenumber line="159"/><codeline> } <highlight class="keywordflow">catch</highlight> (...){</codeline>
+<linenumber line="160"/><codeline> <highlight class="keywordflow">throw</highlight>;</codeline>
+<linenumber line="161"/><codeline> }</codeline>
+<linenumber line="162"/><codeline></codeline>
+<linenumber line="163"/><codeline></codeline>
+<linenumber line="164"/><codeline> <highlight class="comment">// KeyBoard?I?e\81Lu2?</highlight></codeline>
+<linenumber line="165"/><codeline></codeline>
+<linenumber line="166"/><codeline> <highlight class="keywordflow">try</highlight> {</codeline>
+<linenumber line="167"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1c2">initKeyboard</ref>();</codeline>
+<linenumber line="168"/><codeline> } <highlight class="keywordflow">catch</highlight> (RecoverbleErrorException e) {</codeline>
+<linenumber line="169"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o4">mpKeyboard</ref> != NULL)</codeline>
+<linenumber line="170"/><codeline> {</codeline>
+<linenumber line="171"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o4">mpKeyboard</ref>->Release();</codeline>
+<linenumber line="172"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o4">mpKeyboard</ref> = NULL;</codeline>
+<linenumber line="173"/><codeline> }</codeline>
+<linenumber line="174"/><codeline></codeline>
+<linenumber line="175"/><codeline> } <highlight class="keywordflow">catch</highlight> (...){</codeline>
+<linenumber line="176"/><codeline> <highlight class="keywordflow">throw</highlight>;</codeline>
+<linenumber line="177"/><codeline> }</codeline>
+<linenumber line="178"/><codeline></codeline>
+<linenumber line="179"/><codeline> <highlight class="comment">// AtII\C\D\?\1?\81ÊA\81Cos?\81E?E???i1c?I!\81\91\\81N\e!??C?aI\81â?1?e!\81\92</highlight></codeline>
+<linenumber line="180"/><codeline></codeline>
+<linenumber line="181"/><codeline> <highlight class="keywordflow">if</highlight>(NULL == <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o3">mpJoystick</ref> && NULL == <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o4">mpKeyboard</ref>)</codeline>
+<linenumber line="182"/><codeline> {</codeline>
+<linenumber line="183"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(<highlight class="stringliteral">"InputImpl Device Not Found\r\n"</highlight>,__FILE__,__LINE__);</codeline>
+<linenumber line="184"/><codeline> };</codeline>
+<linenumber line="185"/><codeline></codeline>
+<linenumber line="186"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a16">addWindowMessageMap</ref>();</codeline>
+<linenumber line="187"/><codeline></codeline>
+<linenumber line="188"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o0">mbEnabled</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="189"/><codeline>}<highlight class="comment">// intialize()</highlight></codeline>
+<linenumber line="190"/><codeline></codeline>
+<linenumber line="191"/><codeline><highlight class="comment">// ?aI\81â -----------------------------------------------------------------------</highlight></codeline>
+<linenumber line="192" refid="classsf_1_1system_1_1input_1_1InputImpl_1c0"/><codeline><highlight class="keywordtype">void</highlight> InputImpl::uninitialize(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="193"/><codeline>{</codeline>
+<linenumber line="194"/><codeline> KeyboardListenerList::iterator it = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o11">mKeyboardListenerList</ref>.begin();</codeline>
+<linenumber line="195"/><codeline> </codeline>
+<linenumber line="196"/><codeline> <highlight class="keywordflow">while</highlight>(it != <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o11">mKeyboardListenerList</ref>.end())</codeline>
+<linenumber line="197"/><codeline> {</codeline>
+<linenumber line="198"/><codeline> <highlight class="keywordflow">if</highlight>(*it != NULL){</codeline>
+<linenumber line="199"/><codeline> (*it)->keyboardTalkerIsDeleted();</codeline>
+<linenumber line="200"/><codeline><highlight class="comment">// ++it;</highlight></codeline>
+<linenumber line="201"/><codeline> }</codeline>
+<linenumber line="202"/><codeline> it = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o11">mKeyboardListenerList</ref>.erase(it);</codeline>
+<linenumber line="203"/><codeline> }</codeline>
+<linenumber line="204"/><codeline></codeline>
+<linenumber line="205"/><codeline> it = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o12">mKeyboardListenerQ</ref>.begin();</codeline>
+<linenumber line="206"/><codeline> </codeline>
+<linenumber line="207"/><codeline> <highlight class="keywordflow">while</highlight>(it != <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o12">mKeyboardListenerQ</ref>.end())</codeline>
+<linenumber line="208"/><codeline> {</codeline>
+<linenumber line="209"/><codeline> <highlight class="keywordflow">if</highlight>(*it != NULL){</codeline>
+<linenumber line="210"/><codeline> (*it)->keyboardTalkerIsDeleted();</codeline>
+<linenumber line="211"/><codeline></codeline>
+<linenumber line="212"/><codeline> }</codeline>
+<linenumber line="213"/><codeline> it = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o12">mKeyboardListenerQ</ref>.erase(it);</codeline>
+<linenumber line="214"/><codeline> }</codeline>
+<linenumber line="215"/><codeline></codeline>
+<linenumber line="216"/><codeline> MouseListenerList::iterator itm = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o9">mMouseListenerList</ref>.begin();</codeline>
+<linenumber line="217"/><codeline></codeline>
+<linenumber line="218"/><codeline> <highlight class="keywordflow">while</highlight>(itm != <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o9">mMouseListenerList</ref>.end())</codeline>
+<linenumber line="219"/><codeline> {</codeline>
+<linenumber line="220"/><codeline> <highlight class="keywordflow">if</highlight>(*itm != NULL){</codeline>
+<linenumber line="221"/><codeline> (*itm)->mouseTalkerIsDeleted();</codeline>
+<linenumber line="222"/><codeline><highlight class="comment">// ++itm;</highlight></codeline>
+<linenumber line="223"/><codeline> }</codeline>
+<linenumber line="224"/><codeline> itm = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o9">mMouseListenerList</ref>.erase(itm);</codeline>
+<linenumber line="225"/><codeline> }</codeline>
+<linenumber line="226"/><codeline></codeline>
+<linenumber line="227"/><codeline> itm = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o10">mMouseListenerQ</ref>.begin();</codeline>
+<linenumber line="228"/><codeline></codeline>
+<linenumber line="229"/><codeline> <highlight class="keywordflow">while</highlight>(itm != <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o10">mMouseListenerQ</ref>.end())</codeline>
+<linenumber line="230"/><codeline> {</codeline>
+<linenumber line="231"/><codeline> <highlight class="keywordflow">if</highlight>(*itm != NULL){</codeline>
+<linenumber line="232"/><codeline> (*itm)->mouseTalkerIsDeleted();</codeline>
+<linenumber line="233"/><codeline><highlight class="comment">// ++itm;</highlight></codeline>
+<linenumber line="234"/><codeline> }</codeline>
+<linenumber line="235"/><codeline> itm = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o10">mMouseListenerQ</ref>.erase(itm);</codeline>
+<linenumber line="236"/><codeline> }</codeline>
+<linenumber line="237"/><codeline></codeline>
+<linenumber line="238"/><codeline> <highlight class="keywordflow">if</highlight>(mpJoystick){</codeline>
+<linenumber line="239"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o3">mpJoystick</ref>->Release();</codeline>
+<linenumber line="240"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o3">mpJoystick</ref> = NULL;</codeline>
+<linenumber line="241"/><codeline> }</codeline>
+<linenumber line="242"/><codeline></codeline>
+<linenumber line="243"/><codeline> <highlight class="keywordflow">if</highlight>(mpKeyboard){</codeline>
+<linenumber line="244"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o4">mpKeyboard</ref>->Release();</codeline>
+<linenumber line="245"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o4">mpKeyboard</ref> = NULL;</codeline>
+<linenumber line="246"/><codeline> }</codeline>
+<linenumber line="247"/><codeline> </codeline>
+<linenumber line="248"/><codeline> <highlight class="keywordflow">if</highlight>(mpDI){</codeline>
+<linenumber line="249"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o2">mpDI</ref>->Release();</codeline>
+<linenumber line="250"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o2">mpDI</ref> = NULL;</codeline>
+<linenumber line="251"/><codeline> }</codeline>
+<linenumber line="252"/><codeline></codeline>
+<linenumber line="253"/><codeline>}<highlight class="comment">// uninitialize()</highlight></codeline>
+<linenumber line="254"/><codeline></codeline>
+<linenumber line="255"/><codeline><highlight class="comment">// \\81C\c\?\1\A\\81\92\A\\81P\C\D\?\1Io\83ÊoIN\3!?\e\D\A\\81P ---------------------------------</highlight></codeline>
+<linenumber line="256" refid="classsf_1_1system_1_1input_1_1InputImpl_1c3"/><codeline>BOOL InputImpl::enumJoysticksCallback(<highlight class="keyword">const</highlight> DIDEVICEINSTANCE *pdidInstance)</codeline>
+<linenumber line="257"/><codeline>{</codeline>
+<linenumber line="258"/><codeline> HRESULT hr;</codeline>
+<linenumber line="259"/><codeline></codeline>
+<linenumber line="260"/><codeline> <highlight class="comment">// Obtain an interface to the enumerated joystick.</highlight></codeline>
+<linenumber line="261"/><codeline> hr = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o2">mpDI</ref>->CreateDevice( pdidInstance->guidInstance, &<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o3">mpJoystick</ref>, NULL );</codeline>
+<linenumber line="262"/><codeline></codeline>
+<linenumber line="263"/><codeline> <highlight class="comment">// If it failed, then we can't use this joystick. (Maybe the user unplugged</highlight></codeline>
+<linenumber line="264"/><codeline> <highlight class="comment">// it while we were in the middle of enumerating it.)</highlight></codeline>
+<linenumber line="265"/><codeline> <highlight class="keywordflow">if</highlight>( FAILED(hr) ) </codeline>
+<linenumber line="266"/><codeline> <highlight class="keywordflow">return</highlight> DIENUM_CONTINUE;</codeline>
+<linenumber line="267"/><codeline></codeline>
+<linenumber line="268"/><codeline> <highlight class="comment">// Stop enumeration. Note: we're just taking the first joystick we get. You</highlight></codeline>
+<linenumber line="269"/><codeline> <highlight class="comment">// could store all the enumerated joysticks and let the user pick.</highlight></codeline>
+<linenumber line="270"/><codeline> <highlight class="keywordflow">return</highlight> DIENUM_STOP;</codeline>
+<linenumber line="271"/><codeline>}</codeline>
+<linenumber line="272"/><codeline></codeline>
+<linenumber line="273"/><codeline></codeline>
+<linenumber line="274"/><codeline><highlight class="comment">// \\81C\c\?\1\A\\81\92\A\\81P?I?e\81Lu2? ---------------------------------------------------</highlight></codeline>
+<linenumber line="275" refid="classsf_1_1system_1_1input_1_1InputImpl_1c1"/><codeline><highlight class="keywordtype">void</highlight> InputImpl::initJoystick(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="276"/><codeline>{</codeline>
+<linenumber line="277"/><codeline></codeline>
+<linenumber line="278"/><codeline> HRESULT hr = E_FAIL;</codeline>
+<linenumber line="279"/><codeline></codeline>
+<linenumber line="280"/><codeline> <highlight class="comment">// DirectInput\C\D\?\1?IIo\83Êo</highlight></codeline>
+<linenumber line="281"/><codeline> <highlight class="keywordflow">if</highlight>( FAILED(hr = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o2">mpDI</ref>->EnumDevices( DI8DEVCLASS_GAMECTRL, </codeline>
+<linenumber line="282"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1d0">enumJoysticksCallback</ref>,</codeline>
+<linenumber line="283"/><codeline> (VOID*)<highlight class="keyword">this</highlight>, DIEDFL_ATTACHEDONLY ) ) )</codeline>
+<linenumber line="284"/><codeline> { </codeline>
+<linenumber line="285"/><codeline> <highlight class="keywordflow">throw</highlight> RecoverbleErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);</codeline>
+<linenumber line="286"/><codeline> }</codeline>
+<linenumber line="287"/><codeline></codeline>
+<linenumber line="288"/><codeline> <highlight class="comment">// Make sure we got a joystick</highlight></codeline>
+<linenumber line="289"/><codeline> <highlight class="keywordflow">if</highlight>( NULL == <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o3">mpJoystick</ref> )</codeline>
+<linenumber line="290"/><codeline> { <highlight class="keywordflow">throw</highlight> RecoverbleErrorException(<highlight class="stringliteral">" NULL == mpJoystick"</highlight>,__FILE__,__LINE__);}</codeline>
+<linenumber line="291"/><codeline></codeline>
+<linenumber line="292"/><codeline> <highlight class="keywordflow">if</highlight>( FAILED(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o3">mpJoystick</ref>->SetDataFormat( &c_dfDIJoystick2 ) ) )</codeline>
+<linenumber line="293"/><codeline> { </codeline>
+<linenumber line="294"/><codeline> <highlight class="keywordflow">throw</highlight> RecoverbleErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);</codeline>
+<linenumber line="295"/><codeline> }</codeline>
+<linenumber line="296"/><codeline></codeline>
+<linenumber line="297"/><codeline> <highlight class="comment">// Set the cooperative level to let DInputImpl know how this device should</highlight></codeline>
+<linenumber line="298"/><codeline> <highlight class="comment">// interact with the system and with other DInputImpl applications.</highlight></codeline>
+<linenumber line="299"/><codeline> <highlight class="keywordflow">if</highlight>( FAILED(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o3">mpJoystick</ref>->SetCooperativeLevel( <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o8">mHWND</ref>, DISCL_EXCLUSIVE | </codeline>
+<linenumber line="300"/><codeline> DISCL_FOREGROUND ) ) )</codeline>
+<linenumber line="301"/><codeline> { </codeline>
+<linenumber line="302"/><codeline> <highlight class="keywordflow">throw</highlight> RecoverbleErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);}</codeline>
+<linenumber line="303"/><codeline></codeline>
+<linenumber line="304"/><codeline> <highlight class="comment">// Determine how many axis the joystick has (so we don't error out setting</highlight></codeline>
+<linenumber line="305"/><codeline> <highlight class="comment">// properties for unavailable axis)</highlight></codeline>
+<linenumber line="306"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o5">mDIJoystickDevCaps</ref>.dwSize = <highlight class="keyword">sizeof</highlight>(DIDEVCAPS);</codeline>
+<linenumber line="307"/><codeline> <highlight class="keywordflow">if</highlight> ( FAILED(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o3">mpJoystick</ref>->GetCapabilities(&<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o5">mDIJoystickDevCaps</ref>) ) )</codeline>
+<linenumber line="308"/><codeline> { </codeline>
+<linenumber line="309"/><codeline> <highlight class="keywordflow">throw</highlight> RecoverbleErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);</codeline>
+<linenumber line="310"/><codeline> </codeline>
+<linenumber line="311"/><codeline> }</codeline>
+<linenumber line="312"/><codeline></codeline>
+<linenumber line="313"/><codeline> </codeline>
+<linenumber line="314"/><codeline> <highlight class="comment">// Enumerate the axes of the joyctick and set the range of each axis. Note:</highlight></codeline>
+<linenumber line="315"/><codeline> <highlight class="comment">// we could just use the defaults, but we're just trying to show an example</highlight></codeline>
+<linenumber line="316"/><codeline> <highlight class="comment">// of enumerating device objects (axes, buttons, etc.).</highlight></codeline>
+<linenumber line="317"/><codeline> <highlight class="keywordflow">if</highlight> ( FAILED(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o3">mpJoystick</ref>->EnumObjects( <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1d1">enumAxesCallback</ref>, </codeline>
+<linenumber line="318"/><codeline> (VOID*)<highlight class="keyword">this</highlight>, DIDFT_AXIS ) ) )</codeline>
+<linenumber line="319"/><codeline> { </codeline>
+<linenumber line="320"/><codeline> <highlight class="keywordflow">throw</highlight> RecoverbleErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);</codeline>
+<linenumber line="321"/><codeline> </codeline>
+<linenumber line="322"/><codeline> }</codeline>
+<linenumber line="323"/><codeline>}<highlight class="comment">// InitJoystick()</highlight></codeline>
+<linenumber line="324"/><codeline></codeline>
+<linenumber line="325"/><codeline><highlight class="comment">// \\81C\c\?\1\A\\81\92\A\\81P?IAsAe\3!?\e\D\A\\81P!!-------------------------------------------------</highlight></codeline>
+<linenumber line="326" refid="classsf_1_1system_1_1input_1_1InputImpl_1c4"/><codeline>BOOL InputImpl::enumAxesCallback( <highlight class="keyword">const</highlight> DIDEVICEOBJECTINSTANCE* pdidoi)</codeline>
+<linenumber line="327"/><codeline>{</codeline>
+<linenumber line="328"/><codeline></codeline>
+<linenumber line="329"/><codeline> DIPROPRANGE diprg; </codeline>
+<linenumber line="330"/><codeline> diprg.diph.dwSize = <highlight class="keyword">sizeof</highlight>(DIPROPRANGE); </codeline>
+<linenumber line="331"/><codeline> diprg.diph.dwHeaderSize = <highlight class="keyword">sizeof</highlight>(DIPROPHEADER); </codeline>
+<linenumber line="332"/><codeline> diprg.diph.dwHow = DIPH_BYID; </codeline>
+<linenumber line="333"/><codeline> diprg.diph.dwObj = pdidoi->dwType; <highlight class="comment">// Specify the enumerated axis</highlight></codeline>
+<linenumber line="334"/><codeline> diprg.lMin = -1000; </codeline>
+<linenumber line="335"/><codeline> diprg.lMax = +1000; </codeline>
+<linenumber line="336"/><codeline> </codeline>
+<linenumber line="337"/><codeline> <highlight class="comment">// Set the range for the axis</highlight></codeline>
+<linenumber line="338"/><codeline> <highlight class="keywordflow">if</highlight>( FAILED( <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o3">mpJoystick</ref>->SetProperty( DIPROP_RANGE, &diprg.diph ) ) )</codeline>
+<linenumber line="339"/><codeline> {</codeline>
+<linenumber line="340"/><codeline> <highlight class="keywordflow">return</highlight> DIENUM_STOP;</codeline>
+<linenumber line="341"/><codeline> }</codeline>
+<linenumber line="342"/><codeline></codeline>
+<linenumber line="343"/><codeline> <highlight class="keywordflow">return</highlight> DIENUM_CONTINUE;</codeline>
+<linenumber line="344"/><codeline>}<highlight class="comment">// enumAxesCallback </highlight></codeline>
+<linenumber line="345"/><codeline></codeline>
+<linenumber line="346"/><codeline><highlight class="comment">// \-!?\U!?\E\C\D\?\1?I?e\81Lu2? -------------------------------------------------</highlight></codeline>
+<linenumber line="347" refid="classsf_1_1system_1_1input_1_1InputImpl_1c2"/><codeline><highlight class="keywordtype">void</highlight> InputImpl::initKeyboard(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="348"/><codeline>{</codeline>
+<linenumber line="349"/><codeline> HRESULT hr = E_FAIL;</codeline>
+<linenumber line="350"/><codeline></codeline>
+<linenumber line="351"/><codeline> <highlight class="comment">// \-!?\U!?\E\C\D\?\1?IoiAR</highlight></codeline>
+<linenumber line="352"/><codeline> <highlight class="keywordflow">if</highlight>( FAILED( hr = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o2">mpDI</ref>->CreateDevice( GUID_SysKeyboard, &<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o4">mpKeyboard</ref>, NULL ) ) )</codeline>
+<linenumber line="353"/><codeline> { <highlight class="comment">//system::Factory::getInstance()->outputError(DXGetErrorString8(hr));</highlight></codeline>
+<linenumber line="354"/><codeline> <highlight class="keywordflow">throw</highlight> RecoverbleErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);</codeline>
+<linenumber line="355"/><codeline> }</codeline>
+<linenumber line="356"/><codeline> </codeline>
+<linenumber line="357"/><codeline> <highlight class="keywordflow">if</highlight>( FAILED( hr = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o4">mpKeyboard</ref>->SetDataFormat( &c_dfDIKeyboard ) ) )</codeline>
+<linenumber line="358"/><codeline> {</codeline>
+<linenumber line="359"/><codeline> <highlight class="comment">//system::Factory::getInstance()->outputError(DXGetErrorString8(hr));</highlight></codeline>
+<linenumber line="360"/><codeline> <highlight class="keywordflow">throw</highlight> RecoverbleErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);</codeline>
+<linenumber line="361"/><codeline> }</codeline>
+<linenumber line="362"/><codeline> </codeline>
+<linenumber line="363"/><codeline> <highlight class="comment">// \81÷\81NA\81L\i\U\e?IAsAe </highlight></codeline>
+<linenumber line="364"/><codeline> <highlight class="keywordflow">if</highlight>(FAILED(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o4">mpKeyboard</ref>->SetCooperativeLevel( <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o8">mHWND</ref>, DISCL_NONEXCLUSIVE | DISCL_FOREGROUND )))</codeline>
+<linenumber line="365"/><codeline> {</codeline>
+<linenumber line="366"/><codeline> <highlight class="keywordflow">throw</highlight> RecoverbleErrorException(DXGetErrorString8(hr),__FILE__,__LINE__);</codeline>
+<linenumber line="367"/><codeline> }</codeline>
+<linenumber line="368"/><codeline></codeline>
+<linenumber line="369"/><codeline> <highlight class="comment">// Acquire the newly created device</highlight></codeline>
+<linenumber line="370"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o4">mpKeyboard</ref>->Acquire();</codeline>
+<linenumber line="371"/><codeline>}<highlight class="comment">// initKeyboard</highlight></codeline>
+<linenumber line="372"/><codeline></codeline>
+<linenumber line="373"/><codeline><highlight class="comment">// \-!?\U!?\E!|\\81C\c\?\1\A\\81\92\A\\81P?I\81C?os?I?oAO?o?eAA -----------------------------</highlight></codeline>
+<linenumber line="374" refid="classsf_1_1system_1_1input_1_1InputImpl_1a3"/><codeline><highlight class="keywordtype">void</highlight> InputImpl::update(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="375"/><codeline>{</codeline>
+<linenumber line="376"/><codeline> HRESULT hr = E_FAIL;</codeline>
+<linenumber line="377"/><codeline> <highlight class="keywordtype">bool</highlight> b_joystick = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="378"/><codeline> <highlight class="keywordtype">bool</highlight> b_keyboard = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="379"/><codeline> </codeline>
+<linenumber line="380"/><codeline> <highlight class="comment">// \\81C\c\?\1\A\\81\92\A\\81P?I\81C?os?oAO?o?eAA //</highlight></codeline>
+<linenumber line="381"/><codeline> <highlight class="keywordflow">if</highlight>(mpJoystick){</codeline>
+<linenumber line="382"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o3">mpJoystick</ref>->Poll();</codeline>
+<linenumber line="383"/><codeline> hr = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o3">mpJoystick</ref>->GetDeviceState(<highlight class="keyword">sizeof</highlight>(DIJOYSTATE2),(LPVOID)&<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o6">mDIJoyState</ref>);</codeline>
+<linenumber line="384"/><codeline> <highlight class="keywordflow">if</highlight>(FAILED(hr)){</codeline>
+<linenumber line="385"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o3">mpJoystick</ref>->Acquire();</codeline>
+<linenumber line="386"/><codeline> <highlight class="keywordflow">while</highlight>( hr == DIERR_INPUTLOST ) </codeline>
+<linenumber line="387"/><codeline> hr = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o3">mpJoystick</ref>->Acquire();</codeline>
+<linenumber line="388"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="389"/><codeline> b_joystick = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="390"/><codeline> }</codeline>
+<linenumber line="391"/><codeline> </codeline>
+<linenumber line="392"/><codeline></codeline>
+<linenumber line="393"/><codeline> } </codeline>
+<linenumber line="394"/><codeline></codeline>
+<linenumber line="395"/><codeline> <highlight class="comment">// \-!?\U!?\E?I\81C?os?oAO?o?eAA //</highlight></codeline>
+<linenumber line="396"/><codeline> <highlight class="keywordflow">if</highlight>(mpKeyboard){</codeline>
+<linenumber line="397"/><codeline><highlight class="comment">// ZeroMemory( &mDIKeys, sizeof(mDIKeys) );</highlight></codeline>
+<linenumber line="398"/><codeline> hr = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o4">mpKeyboard</ref>->GetDeviceState(<highlight class="keyword">sizeof</highlight>(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o7">mDIKeys</ref>),(LPVOID)&<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o7">mDIKeys</ref>);</codeline>
+<linenumber line="399"/><codeline> <highlight class="keywordflow">if</highlight>(FAILED(hr)){</codeline>
+<linenumber line="400"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="401"/><codeline><highlight class="preprocessor"></highlight> OutputDebugString(DXGetErrorString8(hr));</codeline>
+<linenumber line="402"/><codeline><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="403"/><codeline><highlight class="preprocessor"></highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o4">mpKeyboard</ref>->Acquire();</codeline>
+<linenumber line="404"/><codeline> <highlight class="keywordflow">while</highlight>( hr == DIERR_INPUTLOST ) </codeline>
+<linenumber line="405"/><codeline> hr = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o4">mpKeyboard</ref>->Acquire();</codeline>
+<linenumber line="406"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="407"/><codeline> b_keyboard = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="408"/><codeline> }</codeline>
+<linenumber line="409"/><codeline> }</codeline>
+<linenumber line="410"/><codeline></codeline>
+<linenumber line="411"/><codeline> <highlight class="comment">//</highlight></codeline>
+<linenumber line="412"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o25">mbBeforeLeft</ref> = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o15">mbLeft</ref>;</codeline>
+<linenumber line="413"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o26">mbBeforeRight</ref> = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o16">mbRight</ref>;</codeline>
+<linenumber line="414"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o23">mbBeforeUp</ref> = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o13">mbUp</ref>;</codeline>
+<linenumber line="415"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o24">mbBeforeDown</ref> = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o14">mbDown</ref>;</codeline>
+<linenumber line="416"/><codeline></codeline>
+<linenumber line="417"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o27">mbBeforeButtonA</ref> = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o17">mbButtonA</ref>;</codeline>
+<linenumber line="418"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o28">mbBeforeButtonB</ref> = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o18">mbButtonB</ref>;</codeline>
+<linenumber line="419"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o29">mbBeforeButtonC</ref> = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o19">mbButtonC</ref>;</codeline>
+<linenumber line="420"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o30">mbBeforeButtonD</ref> = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o20">mbButtonD</ref>;</codeline>
+<linenumber line="421"/><codeline></codeline>
+<linenumber line="422"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o31">mbBeforeStart</ref> = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o21">mbStart</ref>;</codeline>
+<linenumber line="423"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o32">mbBeforeExit</ref> = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o22">mbExit</ref>;</codeline>
+<linenumber line="424"/><codeline></codeline>
+<linenumber line="425"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o15">mbLeft</ref> = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o16">mbRight</ref> = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o13">mbUp</ref> = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o14">mbDown</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="426"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o17">mbButtonA</ref> = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o18">mbButtonB</ref> = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o19">mbButtonC</ref> = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o20">mbButtonD</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="427"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o21">mbStart</ref> = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o22">mbExit</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="428"/><codeline> </codeline>
+<linenumber line="429"/><codeline></codeline>
+<linenumber line="430"/><codeline> <highlight class="keywordflow">if</highlight>(b_joystick){</codeline>
+<linenumber line="431"/><codeline> </codeline>
+<linenumber line="432"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o6">mDIJoyState</ref>.lX > 300){</codeline>
+<linenumber line="433"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o16">mbRight</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="434"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="435"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o6">mDIJoyState</ref>.lX < -300)</codeline>
+<linenumber line="436"/><codeline> {</codeline>
+<linenumber line="437"/><codeline></codeline>
+<linenumber line="438"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o15">mbLeft</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="439"/><codeline> }</codeline>
+<linenumber line="440"/><codeline> }</codeline>
+<linenumber line="441"/><codeline> </codeline>
+<linenumber line="442"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o6">mDIJoyState</ref>.lY > 300)</codeline>
+<linenumber line="443"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o14">mbDown</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="444"/><codeline> <highlight class="keywordflow">else</highlight> </codeline>
+<linenumber line="445"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o6">mDIJoyState</ref>.lY < -300)</codeline>
+<linenumber line="446"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o13">mbUp</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="447"/><codeline></codeline>
+<linenumber line="448"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o6">mDIJoyState</ref>.rgbButtons[0])</codeline>
+<linenumber line="449"/><codeline> {</codeline>
+<linenumber line="450"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o17">mbButtonA</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="451"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o21">mbStart</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="452"/><codeline> }</codeline>
+<linenumber line="453"/><codeline></codeline>
+<linenumber line="454"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o6">mDIJoyState</ref>.rgbButtons[1])</codeline>
+<linenumber line="455"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o18">mbButtonB</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="456"/><codeline> </codeline>
+<linenumber line="457"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o6">mDIJoyState</ref>.rgbButtons[2])</codeline>
+<linenumber line="458"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o19">mbButtonC</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="459"/><codeline> </codeline>
+<linenumber line="460"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o6">mDIJoyState</ref>.rgbButtons[3])</codeline>
+<linenumber line="461"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o20">mbButtonD</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="462"/><codeline> }</codeline>
+<linenumber line="463"/><codeline></codeline>
+<linenumber line="464"/><codeline> <highlight class="keywordflow">if</highlight>(b_keyboard){</codeline>
+<linenumber line="465"/><codeline> </codeline>
+<linenumber line="466"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o7">mDIKeys</ref>[DIK_LEFT] & 0x80)</codeline>
+<linenumber line="467"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o15">mbLeft</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="468"/><codeline></codeline>
+<linenumber line="469"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o7">mDIKeys</ref>[DIK_RIGHT] & 0x80)</codeline>
+<linenumber line="470"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o16">mbRight</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="471"/><codeline></codeline>
+<linenumber line="472"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o7">mDIKeys</ref>[DIK_UP] & 0x80)</codeline>
+<linenumber line="473"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o13">mbUp</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="474"/><codeline></codeline>
+<linenumber line="475"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o7">mDIKeys</ref>[DIK_DOWN] & 0x80)</codeline>
+<linenumber line="476"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o14">mbDown</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="477"/><codeline></codeline>
+<linenumber line="478"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o7">mDIKeys</ref>[DIK_Z] & 0x80)</codeline>
+<linenumber line="479"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o17">mbButtonA</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="480"/><codeline> </codeline>
+<linenumber line="481"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o7">mDIKeys</ref>[DIK_X] & 0x80)</codeline>
+<linenumber line="482"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o18">mbButtonB</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="483"/><codeline> </codeline>
+<linenumber line="484"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o7">mDIKeys</ref>[DIK_C] & 0x80)</codeline>
+<linenumber line="485"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o19">mbButtonC</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="486"/><codeline> </codeline>
+<linenumber line="487"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o7">mDIKeys</ref>[DIK_V] & 0x80)</codeline>
+<linenumber line="488"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o20">mbButtonD</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="489"/><codeline> </codeline>
+<linenumber line="490"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o7">mDIKeys</ref>[DIK_SPACE] & 0x80)</codeline>
+<linenumber line="491"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o21">mbStart</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="492"/><codeline></codeline>
+<linenumber line="493"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o7">mDIKeys</ref>[DIK_ESCAPE] & 0x80)</codeline>
+<linenumber line="494"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o22">mbExit</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="495"/><codeline></codeline>
+<linenumber line="496"/><codeline> }</codeline>
+<linenumber line="497"/><codeline></codeline>
+<linenumber line="498"/><codeline> <highlight class="comment">// \?\U\o\E\e\1\E!?Q\81\91a\?\U\o\E\e\1\E!?\e\1\E?O //</highlight></codeline>
+<linenumber line="499"/><codeline> MouseListenerList::iterator it = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o10">mMouseListenerQ</ref>.begin();</codeline>
+<linenumber line="500"/><codeline> </codeline>
+<linenumber line="501"/><codeline> <highlight class="keywordflow">while</highlight>(it != <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o10">mMouseListenerQ</ref>.end())</codeline>
+<linenumber line="502"/><codeline> {</codeline>
+<linenumber line="503"/><codeline> <highlight class="keywordflow">if</highlight>(*it != NULL){</codeline>
+<linenumber line="504"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o9">mMouseListenerList</ref>.push_back(*it);</codeline>
+<linenumber line="505"/><codeline> }</codeline>
+<linenumber line="506"/><codeline> it = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o10">mMouseListenerQ</ref>.erase(it);</codeline>
+<linenumber line="507"/><codeline></codeline>
+<linenumber line="508"/><codeline> }</codeline>
+<linenumber line="509"/><codeline></codeline>
+<linenumber line="510"/><codeline> KeyboardListenerList::iterator itk = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o12">mKeyboardListenerQ</ref>.begin();</codeline>
+<linenumber line="511"/><codeline></codeline>
+<linenumber line="512"/><codeline> <highlight class="keywordflow">while</highlight>(itk != <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o12">mKeyboardListenerQ</ref>.end())</codeline>
+<linenumber line="513"/><codeline> {</codeline>
+<linenumber line="514"/><codeline> <highlight class="keywordflow">if</highlight>(*itk != NULL){</codeline>
+<linenumber line="515"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o11">mKeyboardListenerList</ref>.push_back(*itk);</codeline>
+<linenumber line="516"/><codeline> }</codeline>
+<linenumber line="517"/><codeline> itk = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o12">mKeyboardListenerQ</ref>.erase(itk);</codeline>
+<linenumber line="518"/><codeline> }</codeline>
+<linenumber line="519"/><codeline>}<highlight class="comment">// update() </highlight></codeline>
+<linenumber line="520"/><codeline></codeline>
+<linenumber line="521" refid="classsf_1_1system_1_1input_1_1InputImpl_1a12"/><codeline>LRESULT InputImpl::onSetCursor(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam)</codeline>
+<linenumber line="522"/><codeline>{</codeline>
+<linenumber line="523"/><codeline> <highlight class="keywordflow">if</highlight>(system::instance()->isActive() && !<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a33">mouseCursorVisibility</ref>())</codeline>
+<linenumber line="524"/><codeline> {</codeline>
+<linenumber line="525"/><codeline> SetCursor(NULL);<highlight class="comment">//\T\|\1\\81á!?\?\e?o?A?1!\81\92</highlight></codeline>
+<linenumber line="526"/><codeline> <highlight class="keywordflow">return</highlight> 0;</codeline>
+<linenumber line="527"/><codeline> }</codeline>
+<linenumber line="528"/><codeline> <highlight class="keywordflow">return</highlight> DefWindowProc (hwnd, WM_SETCURSOR,wParam, lParam);</codeline>
+<linenumber line="529"/><codeline>}<highlight class="comment">// onSetCursor()</highlight></codeline>
+<linenumber line="530"/><codeline></codeline>
+<linenumber line="531"/><codeline><highlight class="comment">// \T\|\1?Io\81C\U\?\o?\81Ê2!?\83Ê?i?? !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="532" refid="classsf_1_1system_1_1input_1_1InputImpl_1a4"/><codeline>LRESULT InputImpl::onLButtonDown(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam)</codeline>
+<linenumber line="533"/><codeline>{</codeline>
+<linenumber line="534"/><codeline> <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a13">callMouseListenerMethod</ref>(hwnd,wParam,lParam,input::mouse::Listener::leftButtonDown);</codeline>
+<linenumber line="535"/><codeline>}<highlight class="comment">// onLButtonDown()</highlight></codeline>
+<linenumber line="536"/><codeline></codeline>
+<linenumber line="537"/><codeline><highlight class="comment">// \T\|\1?Io\81C\U\?\o?\81ÊI\?\83Ê?i?? !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="538" refid="classsf_1_1system_1_1input_1_1InputImpl_1a6"/><codeline>LRESULT InputImpl::onLButtonUp(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam)</codeline>
+<linenumber line="539"/><codeline>{</codeline>
+<linenumber line="540"/><codeline> <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a13">callMouseListenerMethod</ref>(hwnd,wParam,lParam,input::mouse::Listener::leftButtonUp);</codeline>
+<linenumber line="541"/><codeline>}<highlight class="comment">// onLButtonUp()</highlight></codeline>
+<linenumber line="542"/><codeline></codeline>
+<linenumber line="543"/><codeline><highlight class="comment">// \T\|\1?Io\81C\U\?\o?\81Ê\A\O\e\\81P\e\A\\81P?\83Ê?i??!!!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="544" refid="classsf_1_1system_1_1input_1_1InputImpl_1a5"/><codeline>LRESULT InputImpl::onLButtonDoubleClick(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam)</codeline>
+<linenumber line="545"/><codeline>{</codeline>
+<linenumber line="546"/><codeline> <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a13">callMouseListenerMethod</ref>(hwnd,wParam,lParam,input::mouse::Listener::leftButtonDoubleClick);</codeline>
+<linenumber line="547"/><codeline>}<highlight class="comment">// onLButtonDoubleClick()</highlight></codeline>
+<linenumber line="548"/><codeline></codeline>
+<linenumber line="549"/><codeline><highlight class="comment">// \T\|\1?I\81}|\U\?\o?\81ÊI\?\83Ê?i?? !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="550" refid="classsf_1_1system_1_1input_1_1InputImpl_1a8"/><codeline>LRESULT InputImpl::onRButtonDown(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam)</codeline>
+<linenumber line="551"/><codeline>{</codeline>
+<linenumber line="552"/><codeline> <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a13">callMouseListenerMethod</ref>(hwnd,wParam,lParam,input::mouse::Listener::rightButtonDown);</codeline>
+<linenumber line="553"/><codeline>}<highlight class="comment">// onRButtonDown()</highlight></codeline>
+<linenumber line="554"/><codeline></codeline>
+<linenumber line="555"/><codeline><highlight class="comment">// \T\|\1?I\81}|\U\?\o?\81Ê2!?\83Ê?i?? !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="556" refid="classsf_1_1system_1_1input_1_1InputImpl_1a9"/><codeline>LRESULT InputImpl::onRButtonUp(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam)</codeline>
+<linenumber line="557"/><codeline>{</codeline>
+<linenumber line="558"/><codeline> <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a13">callMouseListenerMethod</ref>(hwnd,wParam,lParam,input::mouse::Listener::rightButtonUp);</codeline>
+<linenumber line="559"/><codeline>}<highlight class="comment">// onRButtonUp()</highlight></codeline>
+<linenumber line="560"/><codeline></codeline>
+<linenumber line="561"/><codeline><highlight class="comment">// \T\|\1?I\81}|\U\?\o?\81Ê\A\O\e\\81P\e\A\\81P?\83Ê?i??!!!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="562" refid="classsf_1_1system_1_1input_1_1InputImpl_1a7"/><codeline>LRESULT InputImpl::onRButtonDoubleClick(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam)</codeline>
+<linenumber line="563"/><codeline>{</codeline>
+<linenumber line="564"/><codeline> <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a13">callMouseListenerMethod</ref>(hwnd,wParam,lParam,input::mouse::Listener::rightButtonDoubleClick);</codeline>
+<linenumber line="565"/><codeline>}<highlight class="comment">// onRButtonDoubleClick()</highlight></codeline>
+<linenumber line="566"/><codeline></codeline>
+<linenumber line="567"/><codeline><highlight class="comment">// \T\|\1?\81ÊA\81\8b????!!!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="568" refid="classsf_1_1system_1_1input_1_1InputImpl_1a10"/><codeline>LRESULT InputImpl::onMouseMove(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam)</codeline>
+<linenumber line="569"/><codeline>{</codeline>
+<linenumber line="570"/><codeline> <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a13">callMouseListenerMethod</ref>(hwnd,wParam,lParam,input::mouse::Listener::mouseMove);</codeline>
+<linenumber line="571"/><codeline>}<highlight class="comment">// onMouseMove()</highlight></codeline>
+<linenumber line="572"/><codeline></codeline>
+<linenumber line="573"/><codeline><highlight class="comment">// \U\?!?\e?\81ÊA\81\8b????!!!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="574" refid="classsf_1_1system_1_1input_1_1InputImpl_1a11"/><codeline>LRESULT InputImpl::onMouseWheel(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam)</codeline>
+<linenumber line="575"/><codeline>{</codeline>
+<linenumber line="576"/><codeline> <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a13">callMouseListenerMethod</ref>(hwnd,wParam,lParam,input::mouse::Listener::mouseWheel);</codeline>
+<linenumber line="577"/><codeline>}<highlight class="comment">// onMouseWheel()</highlight></codeline>
+<linenumber line="578"/><codeline></codeline>
+<linenumber line="579"/><codeline><highlight class="comment">// MouseListener?I\a\?\A\E?o\81CA?O?D?1 !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="580"/><codeline>LRESULT InputImpl::callMouseListenerMethod(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam,<highlight class="keywordtype">void</highlight>(mouse::Listener::* pMethod)(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight>,<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight>,<highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref>))</codeline>
+<linenumber line="581"/><codeline>{</codeline>
+<linenumber line="582"/><codeline> <highlight class="keyword">using</highlight> <highlight class="keyword">namespace </highlight>sf::system::input;</codeline>
+<linenumber line="583"/><codeline></codeline>
+<linenumber line="584"/><codeline> if(<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o9">mMouseListenerList</ref>.size() == 0)</codeline>
+<linenumber line="585"/><codeline> return 0;</codeline>
+<linenumber line="586"/><codeline></codeline>
+<linenumber line="587"/><codeline> POINT pt;</codeline>
+<linenumber line="588"/><codeline> </codeline>
+<linenumber line="589"/><codeline> pt.x = LOWORD(lParam);</codeline>
+<linenumber line="590"/><codeline> pt.y = HIWORD(lParam);</codeline>
+<linenumber line="591"/><codeline> </codeline>
+<linenumber line="592"/><codeline> ClientToScreen(hwnd,&pt);</codeline>
+<linenumber line="593"/><codeline></codeline>
+<linenumber line="594"/><codeline> <ref idref="namespacesf_1a0">DWORD</ref> mkey = 0;</codeline>
+<linenumber line="595"/><codeline></codeline>
+<linenumber line="596"/><codeline> if(MK_CONTROL & wParam)</codeline>
+<linenumber line="597"/><codeline> mkey |= mouse::<ref idref="namespacesf_1_1system_1_1input_1_1mouse_1a5a0">MKEY_CONTROL</ref>;</codeline>
+<linenumber line="598"/><codeline> </codeline>
+<linenumber line="599"/><codeline> if(MK_SHIFT & wParam)</codeline>
+<linenumber line="600"/><codeline> mkey |= mouse::<ref idref="namespacesf_1_1system_1_1input_1_1mouse_1a5a3">MKEY_SHIFT</ref>;</codeline>
+<linenumber line="601"/><codeline></codeline>
+<linenumber line="602"/><codeline> mkey |= (wParam & 0xffff0000);</codeline>
+<linenumber line="603"/><codeline></codeline>
+<linenumber line="604"/><codeline> </codeline>
+<linenumber line="605"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1s0">MouseListenerList</ref>::iterator it = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o9">mMouseListenerList</ref>.begin();</codeline>
+<linenumber line="606"/><codeline> </codeline>
+<linenumber line="607"/><codeline> while(it != <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o9">mMouseListenerList</ref>.end())</codeline>
+<linenumber line="608"/><codeline> {</codeline>
+<linenumber line="609"/><codeline> <highlight class="keywordflow">if</highlight>(*it == NULL){</codeline>
+<linenumber line="610"/><codeline> it = mMouseListenerList.erase(it);</codeline>
+<linenumber line="611"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="612"/><codeline> <highlight class="keywordflow">if</highlight>((*it)->isListeningMouse()){</codeline>
+<linenumber line="613"/><codeline> ((*it)->*pMethod)(pt.x,pt.y,mkey);</codeline>
+<linenumber line="614"/><codeline> }</codeline>
+<linenumber line="615"/><codeline> ++it;</codeline>
+<linenumber line="616"/><codeline> }</codeline>
+<linenumber line="617"/><codeline> }</codeline>
+<linenumber line="618"/><codeline></codeline>
+<linenumber line="619"/><codeline> <highlight class="keywordflow">return</highlight> 0;</codeline>
+<linenumber line="620"/><codeline>}<highlight class="comment">// callListener</highlight></codeline>
+<linenumber line="621"/><codeline></codeline>
+<linenumber line="622"/><codeline><highlight class="comment">// \-!?2!2?\81ât?I?eIy -----------------------------------------------------------</highlight></codeline>
+<linenumber line="623" refid="classsf_1_1system_1_1input_1_1InputImpl_1a14"/><codeline>LRESULT InputImpl::onKeyDown(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam)</codeline>
+<linenumber line="624"/><codeline>{</codeline>
+<linenumber line="625"/><codeline> <ref idref="namespacesf_1a0">DWORD</ref> extKey = 0;</codeline>
+<linenumber line="626"/><codeline></codeline>
+<linenumber line="627"/><codeline> <highlight class="comment">// ?E?e?\81\91?\81N?o!\81\91ESC\-!??\81Ê2!?\83Ê?i???e?aI\81â?1?e?e?|?E?\81E?A???e</highlight></codeline>
+<linenumber line="628"/><codeline> <highlight class="keywordflow">switch</highlight>(wParam)</codeline>
+<linenumber line="629"/><codeline> {</codeline>
+<linenumber line="630"/><codeline> <highlight class="keywordflow">case</highlight> <highlight class="charliteral">'Q'</highlight>:</codeline>
+<linenumber line="631"/><codeline> PostMessage( hwnd, WM_CLOSE, 0, 0L );</codeline>
+<linenumber line="632"/><codeline> <highlight class="keywordflow">break</highlight>;</codeline>
+<linenumber line="633"/><codeline> <highlight class="keywordflow">default</highlight>:</codeline>
+<linenumber line="634"/><codeline></codeline>
+<linenumber line="635"/><codeline> <highlight class="keywordflow">if</highlight>(GetAsyncKeyState(VK_SHIFT))</codeline>
+<linenumber line="636"/><codeline> extKey |= keyboard::SHIFT;</codeline>
+<linenumber line="637"/><codeline></codeline>
+<linenumber line="638"/><codeline> <highlight class="keywordflow">if</highlight>(GetAsyncKeyState(VK_CONTROL))</codeline>
+<linenumber line="639"/><codeline> extKey |= keyboard::CONTROL;</codeline>
+<linenumber line="640"/><codeline></codeline>
+<linenumber line="641"/><codeline> </codeline>
+<linenumber line="642"/><codeline> KeyboardListenerList::iterator it = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o11">mKeyboardListenerList</ref>.begin();</codeline>
+<linenumber line="643"/><codeline> </codeline>
+<linenumber line="644"/><codeline> <highlight class="keywordflow">while</highlight>(it != <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o11">mKeyboardListenerList</ref>.end())</codeline>
+<linenumber line="645"/><codeline> {</codeline>
+<linenumber line="646"/><codeline> <highlight class="keywordflow">if</highlight>(*it == NULL){</codeline>
+<linenumber line="647"/><codeline> it = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o11">mKeyboardListenerList</ref>.erase(it);</codeline>
+<linenumber line="648"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="649"/><codeline> <highlight class="keywordflow">if</highlight>((*it)->isListeningKeyboard()){</codeline>
+<linenumber line="650"/><codeline> (*it)->keyDown(wParam,extKey);</codeline>
+<linenumber line="651"/><codeline> }</codeline>
+<linenumber line="652"/><codeline> ++it;</codeline>
+<linenumber line="653"/><codeline> }</codeline>
+<linenumber line="654"/><codeline> }</codeline>
+<linenumber line="655"/><codeline></codeline>
+<linenumber line="656"/><codeline> }</codeline>
+<linenumber line="657"/><codeline> <highlight class="keywordflow">return</highlight> 0; <highlight class="comment">// WM_KEYDOWN</highlight></codeline>
+<linenumber line="658"/><codeline>}<highlight class="comment">// onKeyDown</highlight></codeline>
+<linenumber line="659"/><codeline></codeline>
+<linenumber line="660"/><codeline><highlight class="comment">// \-!??\81ÊI\?\83Ê?i??\81ât?I?eIy -----------------------------------------------------------</highlight></codeline>
+<linenumber line="661" refid="classsf_1_1system_1_1input_1_1InputImpl_1a15"/><codeline>LRESULT InputImpl::onKeyUp(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam)</codeline>
+<linenumber line="662"/><codeline>{</codeline>
+<linenumber line="663"/><codeline> <highlight class="keywordflow">return</highlight> 0;</codeline>
+<linenumber line="664"/><codeline>}<highlight class="comment">// onKeyUp</highlight></codeline>
+<linenumber line="665"/><codeline></codeline>
+<linenumber line="666"/><codeline><highlight class="comment">// \|\\81\92\o\E\|\a\A\\81â!?\\81C\I\o\E\e?oSystemImpl?EADI? !Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="667" refid="classsf_1_1system_1_1input_1_1InputImpl_1a16"/><codeline><highlight class="keywordtype">void</highlight> InputImpl::addWindowMessageMap()</codeline>
+<linenumber line="668"/><codeline>{</codeline>
+<linenumber line="669"/><codeline> SystemImpl *pSys = dynamic_cast<SystemImpl *>(system::instance());</codeline>
+<linenumber line="670"/><codeline></codeline>
+<linenumber line="671"/><codeline> pSys->addWindowMessage(WM_SETCURSOR, <highlight class="keyword">new</highlight> WindowMessageImpl<InputImpl>(<highlight class="keyword">this</highlight>,&InputImpl::onSetCursor));</codeline>
+<linenumber line="672"/><codeline> pSys->addWindowMessage(WM_LBUTTONDOWN,<highlight class="keyword">new</highlight> WindowMessageImpl<InputImpl>(<highlight class="keyword">this</highlight>,&InputImpl::onLButtonDown));</codeline>
+<linenumber line="673"/><codeline> pSys->addWindowMessage(WM_LBUTTONUP,<highlight class="keyword">new</highlight> WindowMessageImpl<InputImpl>(<highlight class="keyword">this</highlight>,&InputImpl::onLButtonUp));</codeline>
+<linenumber line="674"/><codeline> pSys->addWindowMessage(WM_LBUTTONDBLCLK,<highlight class="keyword">new</highlight> WindowMessageImpl<InputImpl>(<highlight class="keyword">this</highlight>,&InputImpl::onLButtonDoubleClick));</codeline>
+<linenumber line="675"/><codeline></codeline>
+<linenumber line="676"/><codeline> pSys->addWindowMessage(WM_RBUTTONDOWN,<highlight class="keyword">new</highlight> WindowMessageImpl<InputImpl>(<highlight class="keyword">this</highlight>,&InputImpl::onRButtonDown));</codeline>
+<linenumber line="677"/><codeline> pSys->addWindowMessage(WM_RBUTTONUP,<highlight class="keyword">new</highlight> WindowMessageImpl<InputImpl>(<highlight class="keyword">this</highlight>,&InputImpl::onRButtonUp));</codeline>
+<linenumber line="678"/><codeline> pSys->addWindowMessage(WM_RBUTTONDBLCLK,<highlight class="keyword">new</highlight> WindowMessageImpl<InputImpl>(<highlight class="keyword">this</highlight>,&InputImpl::onRButtonDoubleClick));</codeline>
+<linenumber line="679"/><codeline></codeline>
+<linenumber line="680"/><codeline> pSys->addWindowMessage(WM_MOUSEMOVE,<highlight class="keyword">new</highlight> WindowMessageImpl<InputImpl>(<highlight class="keyword">this</highlight>,&InputImpl::onMouseMove));</codeline>
+<linenumber line="681"/><codeline> pSys->addWindowMessage(WM_MOUSEWHEEL,<highlight class="keyword">new</highlight> WindowMessageImpl<InputImpl>(<highlight class="keyword">this</highlight>,&InputImpl::onMouseWheel));</codeline>
+<linenumber line="682"/><codeline></codeline>
+<linenumber line="683"/><codeline> pSys->addWindowMessage(WM_KEYDOWN,<highlight class="keyword">new</highlight> WindowMessageImpl<InputImpl>(<highlight class="keyword">this</highlight>,&InputImpl::onKeyDown));</codeline>
+<linenumber line="684"/><codeline> pSys->addWindowMessage(WM_KEYUP,<highlight class="keyword">new</highlight> WindowMessageImpl<InputImpl>(<highlight class="keyword">this</highlight>,&InputImpl::onKeyUp));</codeline>
+<linenumber line="685"/><codeline></codeline>
+<linenumber line="686"/><codeline>}</codeline>
+<linenumber line="687"/><codeline></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/InputImpl.cpp"/>
+ </compounddef>
+ <compounddef id="InputImpl_8h" kind="file">
+ <compoundname>InputImpl.h</compoundname>
+ <includes id="sf_8h" local="yes">sf.h</includes>
+ <includes id="Input_8h" local="yes">Input.h</includes>
+ <includedby id="InputImpl_8cpp" local="yes">InputImpl.cpp</includedby>
+ <includedby id="sfglib_8cpp" local="yes">sfglib.cpp</includedby>
+ <includedby id="System_8cpp" local="yes">System.cpp</includedby>
+ <includedby id="SystemImpl_8cpp" local="yes">SystemImpl.cpp</includedby>
+ <incdepgraph>
+ <node id="341">
+ <label>Input.h</label>
+ <link id="Input_8h"/>
+ <childnode id="340" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="340">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="339">
+ <label>InputImpl.h</label>
+ <link id="InputImpl.h"/>
+ <childnode id="340" relation="public-inheritance">
+ </childnode>
+ <childnode id="341" relation="public-inheritance">
+ </childnode>
+ </node>
+ </incdepgraph>
+ <invincdepgraph>
+ <node id="344">
+ <label>sfglib.cpp</label>
+ <link id="sfglib_8cpp-source"/>
+ </node>
+ <node id="346">
+ <label>SystemImpl.cpp</label>
+ <link id="SystemImpl_8cpp-source"/>
+ </node>
+ <node id="343">
+ <label>InputImpl.cpp</label>
+ <link id="InputImpl_8cpp-source"/>
+ </node>
+ <node id="342">
+ <label>InputImpl.h</label>
+ <link id="InputImpl.h"/>
+ <childnode id="343" relation="public-inheritance">
+ </childnode>
+ <childnode id="344" relation="public-inheritance">
+ </childnode>
+ <childnode id="345" relation="public-inheritance">
+ </childnode>
+ <childnode id="346" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="345">
+ <label>System.cpp</label>
+ <link id="System_8cpp-source"/>
+ </node>
+ </invincdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1input">sf::system::input</innernamespace>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="InputImpl_8h_1a0" virt="normal" prot="public">
+ <name>AFX_INPUTInputImpl_H__CAF65806_66F9_4CFF_89EC_66E36A0FB746__INCLUDED_</name>
+ <briefdescription>
+<para>
+Ao?A\?\o\\81P\e!?\EEE\81âs\T\\81P\i. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/InputImpl.h" line="13" bodystart="13" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+AtII!E\-!?\U!?\E!|\T\|\1!|\\81C\c\?\1\A\\81\92\A\\81P!E?I?AAo?E?\81á?\81á?i?e\\81P\e\1!\81\91Ae?oAe\83ÊA?E?E?o1O?|. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="author"><title>oi?O: </title><para>
+S.F. </para>
+</simplesect><simplesect kind="version"><title>\D!?\\81C\c\o: </title><para>
+$Id:</para>
+</simplesect><para>
+Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved. </para>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline></codeline>
+<linenumber line="11"/><codeline></codeline>
+<linenumber line="12"/><codeline><highlight class="preprocessor">#if !defined(AFX_INPUTInputImpl_H__CAF65806_66F9_4CFF_89EC_66E36A0FB746__INCLUDED_)</highlight></codeline>
+<linenumber line="13" refid="InputImpl_8h_1a0"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define AFX_INPUTInputImpl_H__CAF65806_66F9_4CFF_89EC_66E36A0FB746__INCLUDED_</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="preprocessor">#if _MSC_VER > 1000</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#pragma once</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif // _MSC_VER > 1000</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include "sf.h"</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="preprocessor">#include "<ref idref="Input_8h">Input.h</ref>"</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="keyword">extern</highlight> <highlight class="stringliteral">"C"</highlight> {</codeline>
+<linenumber line="21"/><codeline><highlight class="keyword">namespace </highlight>sf {</codeline>
+<linenumber line="22"/><codeline> <highlight class="keyword">namespace </highlight>system {</codeline>
+<linenumber line="23"/><codeline> <highlight class="keyword">namespace </highlight>input {</codeline>
+<linenumber line="24"/><codeline></codeline>
+<linenumber line="28" refid="classsf_1_1system_1_1input_1_1InputImpl_1"/><codeline><highlight class="keyword">class </highlight>InputImpl : <highlight class="keyword">public</highlight> Input </codeline>
+<linenumber line="29"/><codeline>{</codeline>
+<linenumber line="30"/><codeline> <highlight class="comment">// LIFECYCLE //</highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="33" refid="classsf_1_1system_1_1input_1_1InputImpl_1s0"/><codeline> <highlight class="keyword">typedef</highlight> std::vector<input::mouse::Listener* > <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1s0">MouseListenerList</ref>; </codeline>
+<linenumber line="35" refid="classsf_1_1system_1_1input_1_1InputImpl_1s1"/><codeline> <highlight class="keyword">typedef</highlight> std::vector<input::keyboard::Listener* > <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1s1">KeyboardListenerList</ref>; </codeline>
+<linenumber line="37"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a0">InputImpl</ref>();</codeline>
+<linenumber line="38"/><codeline></codeline>
+<linenumber line="41"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a0">InputImpl</ref>(HWND hwnd);</codeline>
+<linenumber line="42"/><codeline> </codeline>
+<linenumber line="44"/><codeline> <highlight class="keyword">virtual</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a2">~InputImpl</ref>();</codeline>
+<linenumber line="45"/><codeline> <highlight class="comment">// OPERATORS //</highlight></codeline>
+<linenumber line="46"/><codeline> <highlight class="comment">// OPERATIONS //</highlight></codeline>
+<linenumber line="47"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a3">update</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="48"/><codeline> </codeline>
+<linenumber line="50"/><codeline> <highlight class="keyword">static</highlight> BOOL CALLBACK </codeline>
+<linenumber line="51" refid="classsf_1_1system_1_1input_1_1InputImpl_1d0"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1d0">enumJoysticksCallback</ref>( <highlight class="keyword">const</highlight> DIDEVICEINSTANCE* pdidInstance, VOID* pContext )</codeline>
+<linenumber line="52"/><codeline> {</codeline>
+<linenumber line="53"/><codeline> <highlight class="keywordflow">return</highlight> ((<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a0">InputImpl</ref> *)pContext)->enumJoysticksCallback(pdidInstance);</codeline>
+<linenumber line="54"/><codeline> };</codeline>
+<linenumber line="55"/><codeline> </codeline>
+<linenumber line="57" refid="classsf_1_1system_1_1input_1_1InputImpl_1d1"/><codeline> <highlight class="keyword">static</highlight> BOOL CALLBACK <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1d1">enumAxesCallback</ref>( <highlight class="keyword">const</highlight> DIDEVICEOBJECTINSTANCE* pdidoi,</codeline>
+<linenumber line="58"/><codeline> VOID* pContext )</codeline>
+<linenumber line="59"/><codeline> { <highlight class="keywordflow">return</highlight> ((<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a0">InputImpl</ref> *)pContext)->enumAxesCallback(pdidoi);};</codeline>
+<linenumber line="60"/><codeline> </codeline>
+<linenumber line="66"/><codeline> LRESULT <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a4">onLButtonDown</ref>(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam);</codeline>
+<linenumber line="67"/><codeline> </codeline>
+<linenumber line="73"/><codeline> LRESULT <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a5">onLButtonDoubleClick</ref>(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam);</codeline>
+<linenumber line="74"/><codeline> </codeline>
+<linenumber line="80"/><codeline> LRESULT <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a6">onLButtonUp</ref>(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam);</codeline>
+<linenumber line="81"/><codeline></codeline>
+<linenumber line="87"/><codeline> LRESULT <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a7">onRButtonDoubleClick</ref>(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam);</codeline>
+<linenumber line="88"/><codeline> </codeline>
+<linenumber line="94"/><codeline> LRESULT <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a8">onRButtonDown</ref>(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam);</codeline>
+<linenumber line="95"/><codeline> </codeline>
+<linenumber line="101"/><codeline> LRESULT <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a9">onRButtonUp</ref>(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam);</codeline>
+<linenumber line="102"/><codeline> </codeline>
+<linenumber line="108"/><codeline> LRESULT <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a10">onMouseMove</ref>(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam);</codeline>
+<linenumber line="109"/><codeline></codeline>
+<linenumber line="115"/><codeline> LRESULT <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a11">onMouseWheel</ref>(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam);</codeline>
+<linenumber line="116"/><codeline></codeline>
+<linenumber line="124"/><codeline> LRESULT <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a12">onSetCursor</ref>(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam);</codeline>
+<linenumber line="125"/><codeline></codeline>
+<linenumber line="132"/><codeline> LRESULT <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a13">callMouseListenerMethod</ref>(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam,<highlight class="keywordtype">void</highlight>(input::mouse::Listener::*pMethod)(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight>,<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight>,<highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref>));</codeline>
+<linenumber line="133"/><codeline> </codeline>
+<linenumber line="134"/><codeline> <highlight class="comment">// \-!?\U!?\E\a\A\\81â!?\\81C\I\o\E\e</highlight></codeline>
+<linenumber line="140"/><codeline><highlight class="comment"></highlight> LRESULT <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a14">onKeyDown</ref>(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam);</codeline>
+<linenumber line="141"/><codeline> </codeline>
+<linenumber line="147"/><codeline> LRESULT <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a15">onKeyUp</ref>(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam);</codeline>
+<linenumber line="148"/><codeline></codeline>
+<linenumber line="151"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a16">addWindowMessageMap</ref>();</codeline>
+<linenumber line="152"/><codeline></codeline>
+<linenumber line="156" refid="classsf_1_1system_1_1input_1_1InputImpl_1a17"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a17">addMouseListener</ref>(input::mouse::Listener * <highlight class="keyword">const</highlight> pListener){</codeline>
+<linenumber line="157"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o10">mMouseListenerQ</ref>.push_back(pListener); </codeline>
+<linenumber line="158"/><codeline> };</codeline>
+<linenumber line="159"/><codeline> </codeline>
+<linenumber line="160"/><codeline></codeline>
+<linenumber line="163" refid="classsf_1_1system_1_1input_1_1InputImpl_1a18"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a18">removeMouseListener</ref>(input::mouse::Listener * <highlight class="keyword">const</highlight> pListener){</codeline>
+<linenumber line="164"/><codeline> MouseListenerList::iterator it;</codeline>
+<linenumber line="165"/><codeline> <highlight class="keywordflow">for</highlight>(it = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o9">mMouseListenerList</ref>.begin();</codeline>
+<linenumber line="166"/><codeline> it != <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o9">mMouseListenerList</ref>.end();it++){</codeline>
+<linenumber line="167"/><codeline> <highlight class="keywordflow">if</highlight>(pListener == *it){</codeline>
+<linenumber line="168"/><codeline><highlight class="comment">// mMouseListenerList.erase(it);</highlight></codeline>
+<linenumber line="169"/><codeline> *it = NULL;</codeline>
+<linenumber line="170"/><codeline> <highlight class="keywordflow">break</highlight>;</codeline>
+<linenumber line="171"/><codeline> }</codeline>
+<linenumber line="172"/><codeline> }</codeline>
+<linenumber line="173"/><codeline></codeline>
+<linenumber line="174"/><codeline> <highlight class="keywordflow">for</highlight>(it = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o10">mMouseListenerQ</ref>.begin();</codeline>
+<linenumber line="175"/><codeline> it != <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o10">mMouseListenerQ</ref>.end();it++){</codeline>
+<linenumber line="176"/><codeline> <highlight class="keywordflow">if</highlight>(pListener == *it){</codeline>
+<linenumber line="177"/><codeline> *it = NULL;</codeline>
+<linenumber line="178"/><codeline> <highlight class="keywordflow">return</highlight>;</codeline>
+<linenumber line="179"/><codeline> }</codeline>
+<linenumber line="180"/><codeline> }</codeline>
+<linenumber line="181"/><codeline> };</codeline>
+<linenumber line="182"/><codeline></codeline>
+<linenumber line="185" refid="classsf_1_1system_1_1input_1_1InputImpl_1a19"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a19">addKeyboardListener</ref>(input::keyboard::Listener * <highlight class="keyword">const</highlight> pListener){</codeline>
+<linenumber line="186"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o12">mKeyboardListenerQ</ref>.push_back(pListener); </codeline>
+<linenumber line="187"/><codeline> };</codeline>
+<linenumber line="188"/><codeline> </codeline>
+<linenumber line="189"/><codeline></codeline>
+<linenumber line="192" refid="classsf_1_1system_1_1input_1_1InputImpl_1a20"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a20">removeKeyboardListener</ref>(input::keyboard::Listener * <highlight class="keyword">const</highlight> pListener){</codeline>
+<linenumber line="193"/><codeline> KeyboardListenerList::iterator it;</codeline>
+<linenumber line="194"/><codeline> <highlight class="keywordflow">for</highlight>(it = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o11">mKeyboardListenerList</ref>.begin();</codeline>
+<linenumber line="195"/><codeline> it != <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o11">mKeyboardListenerList</ref>.end();it++){</codeline>
+<linenumber line="196"/><codeline> <highlight class="keywordflow">if</highlight>(pListener == *it){</codeline>
+<linenumber line="197"/><codeline><highlight class="comment">// mKeyboardListenerList.erase(it);</highlight></codeline>
+<linenumber line="198"/><codeline> *it = NULL;</codeline>
+<linenumber line="199"/><codeline> <highlight class="keywordflow">break</highlight>;</codeline>
+<linenumber line="200"/><codeline> }</codeline>
+<linenumber line="201"/><codeline> }</codeline>
+<linenumber line="202"/><codeline></codeline>
+<linenumber line="203"/><codeline> <highlight class="keywordflow">for</highlight>(it = <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o12">mKeyboardListenerQ</ref>.begin();</codeline>
+<linenumber line="204"/><codeline> it != <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o12">mKeyboardListenerQ</ref>.end();it++){</codeline>
+<linenumber line="205"/><codeline> <highlight class="keywordflow">if</highlight>(pListener == *it){</codeline>
+<linenumber line="206"/><codeline> *it = NULL;</codeline>
+<linenumber line="207"/><codeline> <highlight class="keywordflow">return</highlight>;</codeline>
+<linenumber line="208"/><codeline> }</codeline>
+<linenumber line="209"/><codeline> }</codeline>
+<linenumber line="210"/><codeline> };</codeline>
+<linenumber line="211"/><codeline></codeline>
+<linenumber line="212"/><codeline> <highlight class="comment">// ACCESS //</highlight></codeline>
+<linenumber line="213" refid="classsf_1_1system_1_1input_1_1InputImpl_1a21"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a21">left</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bTrig = <highlight class="keyword">false</highlight>)<highlight class="keyword"> const </highlight></codeline>
+<linenumber line="214"/><codeline><highlight class="keyword"> </highlight>{ <highlight class="keywordflow">if</highlight>(!bTrig) <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o15">mbLeft</ref>; <highlight class="keywordflow">else</highlight> <highlight class="keywordflow">return</highlight> ((<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o15">mbLeft</ref> ^ <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o25">mbBeforeLeft</ref>) & <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o15">mbLeft</ref>) ;};</codeline>
+<linenumber line="215" refid="classsf_1_1system_1_1input_1_1InputImpl_1a22"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a22">right</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bTrig = <highlight class="keyword">false</highlight>)<highlight class="keyword"> const </highlight></codeline>
+<linenumber line="216"/><codeline><highlight class="keyword"> </highlight>{ <highlight class="keywordflow">if</highlight>(!bTrig) <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o16">mbRight</ref>; <highlight class="keywordflow">else</highlight> <highlight class="keywordflow">return</highlight> ((<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o16">mbRight</ref> ^ <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o26">mbBeforeRight</ref>) & <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o16">mbRight</ref>) ;};</codeline>
+<linenumber line="217" refid="classsf_1_1system_1_1input_1_1InputImpl_1a23"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a23">up</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bTrig = <highlight class="keyword">false</highlight>)<highlight class="keyword"> const</highlight></codeline>
+<linenumber line="218"/><codeline><highlight class="keyword"> </highlight>{ <highlight class="keywordflow">if</highlight>(!bTrig) <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o13">mbUp</ref>; <highlight class="keywordflow">else</highlight> <highlight class="keywordflow">return</highlight> ((<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o13">mbUp</ref> ^ <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o23">mbBeforeUp</ref>) & <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o13">mbUp</ref>) ;};</codeline>
+<linenumber line="219" refid="classsf_1_1system_1_1input_1_1InputImpl_1a24"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a24">down</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bTrig = <highlight class="keyword">false</highlight>)<highlight class="keyword"> const</highlight></codeline>
+<linenumber line="220"/><codeline><highlight class="keyword"> </highlight>{ <highlight class="keywordflow">if</highlight>(!bTrig) <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o14">mbDown</ref>; <highlight class="keywordflow">else</highlight> <highlight class="keywordflow">return</highlight> ((<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o14">mbDown</ref> ^ <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o24">mbBeforeDown</ref>) & <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o14">mbDown</ref>) ;};</codeline>
+<linenumber line="221" refid="classsf_1_1system_1_1input_1_1InputImpl_1a25"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a25">buttonA</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bTrig = <highlight class="keyword">false</highlight>)<highlight class="keyword"> const</highlight></codeline>
+<linenumber line="222"/><codeline><highlight class="keyword"> </highlight>{ <highlight class="keywordflow">if</highlight>(!bTrig) <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o17">mbButtonA</ref>; <highlight class="keywordflow">else</highlight> <highlight class="keywordflow">return</highlight> ((<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o17">mbButtonA</ref> ^ <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o27">mbBeforeButtonA</ref>) & <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o17">mbButtonA</ref>) ;};</codeline>
+<linenumber line="223" refid="classsf_1_1system_1_1input_1_1InputImpl_1a26"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a26">buttonB</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bTrig = <highlight class="keyword">false</highlight>)<highlight class="keyword"> const</highlight></codeline>
+<linenumber line="224"/><codeline><highlight class="keyword"> </highlight>{ <highlight class="keywordflow">if</highlight>(!bTrig) <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o18">mbButtonB</ref>; <highlight class="keywordflow">else</highlight> <highlight class="keywordflow">return</highlight> ((<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o18">mbButtonB</ref> ^ <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o28">mbBeforeButtonB</ref>) & <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o18">mbButtonB</ref>) ;};</codeline>
+<linenumber line="225" refid="classsf_1_1system_1_1input_1_1InputImpl_1a27"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a27">buttonC</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bTrig = <highlight class="keyword">false</highlight>)<highlight class="keyword"> const</highlight></codeline>
+<linenumber line="226"/><codeline><highlight class="keyword"> </highlight>{ <highlight class="keywordflow">if</highlight>(!bTrig) <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o19">mbButtonC</ref>; <highlight class="keywordflow">else</highlight> <highlight class="keywordflow">return</highlight> ((<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o19">mbButtonC</ref> ^ <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o29">mbBeforeButtonC</ref>) & <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o19">mbButtonC</ref>) ;};</codeline>
+<linenumber line="227" refid="classsf_1_1system_1_1input_1_1InputImpl_1a28"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a28">buttonD</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bTrig = <highlight class="keyword">false</highlight>)<highlight class="keyword"> const </highlight></codeline>
+<linenumber line="228"/><codeline><highlight class="keyword"> </highlight>{ <highlight class="keywordflow">if</highlight>(!bTrig) <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o20">mbButtonD</ref>; <highlight class="keywordflow">else</highlight> <highlight class="keywordflow">return</highlight> ((<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o20">mbButtonD</ref> ^ <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o30">mbBeforeButtonD</ref>) & <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o20">mbButtonD</ref>) ;};</codeline>
+<linenumber line="229" refid="classsf_1_1system_1_1input_1_1InputImpl_1a29"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a29">start</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bTrig = <highlight class="keyword">false</highlight>)<highlight class="keyword"> const</highlight></codeline>
+<linenumber line="230"/><codeline><highlight class="keyword"> </highlight>{ <highlight class="keywordflow">if</highlight>(!bTrig) <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o21">mbStart</ref>; <highlight class="keywordflow">else</highlight> <highlight class="keywordflow">return</highlight> ((<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o21">mbStart</ref> ^ <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o31">mbBeforeStart</ref>) & <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o21">mbStart</ref>) ;};</codeline>
+<linenumber line="231" refid="classsf_1_1system_1_1input_1_1InputImpl_1a30"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a30">exit</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bTrig = <highlight class="keyword">false</highlight>)<highlight class="keyword"> const </highlight></codeline>
+<linenumber line="232"/><codeline><highlight class="keyword"> </highlight>{ <highlight class="keywordflow">if</highlight>(!bTrig) <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o22">mbExit</ref>; <highlight class="keywordflow">else</highlight> <highlight class="keywordflow">return</highlight> ((<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o22">mbExit</ref> ^ <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o32">mbBeforeExit</ref>) & <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o22">mbExit</ref>) ;};</codeline>
+<linenumber line="233"/><codeline> </codeline>
+<linenumber line="234" refid="classsf_1_1system_1_1input_1_1InputImpl_1a31"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a31">showMouseCursor</ref>(<highlight class="keywordtype">void</highlight>){<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o1">mbMouseCursor</ref> = <highlight class="keyword">true</highlight>;};</codeline>
+<linenumber line="235" refid="classsf_1_1system_1_1input_1_1InputImpl_1a32"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a32">hideMouseCursor</ref>(<highlight class="keywordtype">void</highlight>){<ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o1">mbMouseCursor</ref> = <highlight class="keyword">false</highlight>;};</codeline>
+<linenumber line="236"/><codeline> </codeline>
+<linenumber line="237" refid="classsf_1_1system_1_1input_1_1InputImpl_1a33"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a33">mouseCursorVisibility</ref> (<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const</highlight>{<highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o1">mbMouseCursor</ref>;};</codeline>
+<linenumber line="238"/><codeline></codeline>
+<linenumber line="239"/><codeline> <highlight class="comment">// INQUIRY //</highlight></codeline>
+<linenumber line="240" refid="classsf_1_1system_1_1input_1_1InputImpl_1a34"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a34">isEnabled</ref>(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o0">mbEnabled</ref>;};</codeline>
+<linenumber line="241"/><codeline></codeline>
+<linenumber line="242"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1a35">initialize</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="243"/><codeline><highlight class="keyword">private</highlight>:</codeline>
+<linenumber line="246"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1c0">uninitialize</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="249"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1c1">initJoystick</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="252"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1c2">initKeyboard</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="253"/><codeline></codeline>
+<linenumber line="255"/><codeline> BOOL <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1d0">enumJoysticksCallback</ref>(<highlight class="keyword">const</highlight> DIDEVICEINSTANCE* pdidInstance);</codeline>
+<linenumber line="257"/><codeline> BOOL <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1d1">enumAxesCallback</ref>( <highlight class="keyword">const</highlight> DIDEVICEOBJECTINSTANCE* pdidoi);</codeline>
+<linenumber line="258"/><codeline> </codeline>
+<linenumber line="259"/><codeline> </codeline>
+<linenumber line="260" refid="classsf_1_1system_1_1input_1_1InputImpl_1o0"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o0">mbEnabled</ref>;</codeline>
+<linenumber line="261" refid="classsf_1_1system_1_1input_1_1InputImpl_1o1"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o1">mbMouseCursor</ref>;</codeline>
+<linenumber line="262"/><codeline> </codeline>
+<linenumber line="263" refid="classsf_1_1system_1_1input_1_1InputImpl_1o2"/><codeline> LPDIRECTINPUT8 <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o2">mpDI</ref>;</codeline>
+<linenumber line="264"/><codeline> </codeline>
+<linenumber line="265" refid="classsf_1_1system_1_1input_1_1InputImpl_1o3"/><codeline> LPDIRECTINPUTDEVICE8 <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o3">mpJoystick</ref>;</codeline>
+<linenumber line="266" refid="classsf_1_1system_1_1input_1_1InputImpl_1o4"/><codeline> LPDIRECTINPUTDEVICE8 <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o4">mpKeyboard</ref>;</codeline>
+<linenumber line="267"/><codeline> </codeline>
+<linenumber line="268" refid="classsf_1_1system_1_1input_1_1InputImpl_1o5"/><codeline> DIDEVCAPS <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o5">mDIJoystickDevCaps</ref>;</codeline>
+<linenumber line="269" refid="classsf_1_1system_1_1input_1_1InputImpl_1o6"/><codeline> DIJOYSTATE2 <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o6">mDIJoyState</ref>;</codeline>
+<linenumber line="270" refid="classsf_1_1system_1_1input_1_1InputImpl_1o7"/><codeline> BYTE <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o7">mDIKeys</ref>[256]; </codeline>
+<linenumber line="271"/><codeline></codeline>
+<linenumber line="272" refid="classsf_1_1system_1_1input_1_1InputImpl_1o8"/><codeline> HWND <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o8">mHWND</ref>;</codeline>
+<linenumber line="273"/><codeline></codeline>
+<linenumber line="274"/><codeline> <highlight class="comment">// \T\|\1\?\U\o\E\3!?\e\D\A\\81PIN</highlight></codeline>
+<linenumber line="275" refid="classsf_1_1system_1_1input_1_1InputImpl_1o9"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1s0">MouseListenerList</ref> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o9">mMouseListenerList</ref>;</codeline>
+<linenumber line="276" refid="classsf_1_1system_1_1input_1_1InputImpl_1o10"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1s0">MouseListenerList</ref> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o10">mMouseListenerQ</ref>;</codeline>
+<linenumber line="277"/><codeline></codeline>
+<linenumber line="278" refid="classsf_1_1system_1_1input_1_1InputImpl_1o11"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1s1">KeyboardListenerList</ref> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o11">mKeyboardListenerList</ref>;</codeline>
+<linenumber line="279" refid="classsf_1_1system_1_1input_1_1InputImpl_1o12"/><codeline> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1s1">KeyboardListenerList</ref> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o12">mKeyboardListenerQ</ref>;</codeline>
+<linenumber line="280"/><codeline></codeline>
+<linenumber line="281" refid="classsf_1_1system_1_1input_1_1InputImpl_1o13"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o13">mbUp</ref>;</codeline>
+<linenumber line="282" refid="classsf_1_1system_1_1input_1_1InputImpl_1o14"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o14">mbDown</ref>;</codeline>
+<linenumber line="283" refid="classsf_1_1system_1_1input_1_1InputImpl_1o15"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o15">mbLeft</ref>;</codeline>
+<linenumber line="284" refid="classsf_1_1system_1_1input_1_1InputImpl_1o16"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o16">mbRight</ref>;</codeline>
+<linenumber line="285"/><codeline> </codeline>
+<linenumber line="286" refid="classsf_1_1system_1_1input_1_1InputImpl_1o17"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o17">mbButtonA</ref>;</codeline>
+<linenumber line="287" refid="classsf_1_1system_1_1input_1_1InputImpl_1o18"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o18">mbButtonB</ref>;</codeline>
+<linenumber line="288" refid="classsf_1_1system_1_1input_1_1InputImpl_1o19"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o19">mbButtonC</ref>;</codeline>
+<linenumber line="289" refid="classsf_1_1system_1_1input_1_1InputImpl_1o20"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o20">mbButtonD</ref>;</codeline>
+<linenumber line="290"/><codeline> </codeline>
+<linenumber line="291" refid="classsf_1_1system_1_1input_1_1InputImpl_1o21"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o21">mbStart</ref>;</codeline>
+<linenumber line="292" refid="classsf_1_1system_1_1input_1_1InputImpl_1o22"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o22">mbExit</ref>;</codeline>
+<linenumber line="293"/><codeline></codeline>
+<linenumber line="294" refid="classsf_1_1system_1_1input_1_1InputImpl_1o23"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o23">mbBeforeUp</ref>;</codeline>
+<linenumber line="295" refid="classsf_1_1system_1_1input_1_1InputImpl_1o24"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o24">mbBeforeDown</ref>;</codeline>
+<linenumber line="296" refid="classsf_1_1system_1_1input_1_1InputImpl_1o25"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o25">mbBeforeLeft</ref>;</codeline>
+<linenumber line="297" refid="classsf_1_1system_1_1input_1_1InputImpl_1o26"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o26">mbBeforeRight</ref>;</codeline>
+<linenumber line="298"/><codeline> </codeline>
+<linenumber line="299" refid="classsf_1_1system_1_1input_1_1InputImpl_1o27"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o27">mbBeforeButtonA</ref>;</codeline>
+<linenumber line="300" refid="classsf_1_1system_1_1input_1_1InputImpl_1o28"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o28">mbBeforeButtonB</ref>;</codeline>
+<linenumber line="301" refid="classsf_1_1system_1_1input_1_1InputImpl_1o29"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o29">mbBeforeButtonC</ref>;</codeline>
+<linenumber line="302" refid="classsf_1_1system_1_1input_1_1InputImpl_1o30"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o30">mbBeforeButtonD</ref>;</codeline>
+<linenumber line="303"/><codeline></codeline>
+<linenumber line="304" refid="classsf_1_1system_1_1input_1_1InputImpl_1o31"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o31">mbBeforeStart</ref>;</codeline>
+<linenumber line="305" refid="classsf_1_1system_1_1input_1_1InputImpl_1o32"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1input_1_1InputImpl_1o32">mbBeforeExit</ref>;</codeline>
+<linenumber line="306"/><codeline>};</codeline>
+<linenumber line="307"/><codeline> } <highlight class="comment">// namespace input</highlight></codeline>
+<linenumber line="308"/><codeline> } <highlight class="comment">// namespace system</highlight></codeline>
+<linenumber line="309"/><codeline>} <highlight class="comment">// namespace sf</highlight></codeline>
+<linenumber line="310"/><codeline>}</codeline>
+<linenumber line="311"/><codeline><highlight class="preprocessor">#endif // !defined(AFX_INPUTInputImpl_H__CAF65806_66F9_4CFF_89EC_66E36A0FB746__INCLUDED_)</highlight></codeline>
+<linenumber line="312"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/InputImpl.h"/>
+ </compounddef>
+ <compounddef id="Main_8cpp" kind="file">
+ <compoundname>Main.cpp</compoundname>
+ <includes id="sfdebug_8h" local="yes">sfdebug.h</includes>
+ <includes local="no">string</includes>
+ <includes local="yes">stdio.h</includes>
+ <includes local="yes">system.h</includes>
+ <includes local="yes">console.h</includes>
+ <includes id="Main_8h" local="yes">Main.h</includes>
+ <incdepgraph>
+ <node id="349">
+ <label>string</label>
+ </node>
+ <node id="348">
+ <label>sfdebug.h</label>
+ <link id="sfdebug_8h"/>
+ </node>
+ <node id="347">
+ <label>Main.cpp</label>
+ <link id="Main.cpp"/>
+ <childnode id="348" relation="public-inheritance">
+ </childnode>
+ <childnode id="349" relation="public-inheritance">
+ </childnode>
+ <childnode id="350" relation="public-inheritance">
+ </childnode>
+ <childnode id="351" relation="public-inheritance">
+ </childnode>
+ <childnode id="352" relation="public-inheritance">
+ </childnode>
+ <childnode id="353" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="352">
+ <label>console.h</label>
+ </node>
+ <node id="353">
+ <label>Main.h</label>
+ <link id="Main_8h-source"/>
+ </node>
+ <node id="351">
+ <label>system.h</label>
+ </node>
+ <node id="350">
+ <label>stdio.h</label>
+ </node>
+ </incdepgraph>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// Main.cpp: Main \\81P\e\1?I\?\o\\81~\e\a\o\A!?\\81E\c\o</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// IuIo:</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// $Log: Main.cpp,v $</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:35 fujiwara</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// Revision 1.3 2001/07/01 21:30:34 fujiwara</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">// \a\a\e\e!?\\81P\A\\81\98\A\\81P\81C\81áA??\81E</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:49:43 fujiwara</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// 2001/01/29 \a\a\e!?\e!?\\81P\81C!?DIN\e\?\O\e\e?IAE2A </highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="comment">#pragma warning( disable : 4786 ) //STL?I\81EU1d3\81\8b?\81E</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="comment">// \a\a\e!?\e!?\\81P\81C!?DIN</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="preprocessor">#include "<ref idref="sfdebug_8h">sfdebug.h</ref>"</highlight></codeline>
+<linenumber line="24"/><codeline></codeline>
+<linenumber line="25"/><codeline><highlight class="comment">// SYSTEM INCLUDES</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="preprocessor">#include <string></highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="preprocessor">#include "stdio.h"</highlight></codeline>
+<linenumber line="29"/><codeline></codeline>
+<linenumber line="30"/><codeline><highlight class="comment">// PROJECT INCLUDES</highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="32"/><codeline><highlight class="preprocessor">#include "system.h"</highlight></codeline>
+<linenumber line="33"/><codeline><highlight class="preprocessor">#include "console.h"</highlight></codeline>
+<linenumber line="34"/><codeline></codeline>
+<linenumber line="35"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="36"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define new DEBUG_NEW</highlight></codeline>
+<linenumber line="37"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="38"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="39"/><codeline><highlight class="preprocessor">#include "Main.h"</highlight></codeline>
+<linenumber line="40"/><codeline></codeline>
+<linenumber line="42"/><codeline><highlight class="comment">// 1?AU/?AIC</highlight></codeline>
+<linenumber line="44"/><codeline><highlight class="comment"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/Main.cpp"/>
+ </compounddef>
+ <compounddef id="Main_8h" kind="file">
+ <compoundname>Main.h</compoundname>
+ <includedby id="AbstractSprite_8cpp" local="yes">AbstractSprite.cpp</includedby>
+ <includedby id="ConsoleImpl_8cpp" local="yes">ConsoleImpl.cpp</includedby>
+ <includedby id="InputImpl_8cpp" local="yes">InputImpl.cpp</includedby>
+ <includedby id="Main_8cpp" local="yes">Main.cpp</includedby>
+ <includedby id="sfglib_8cpp" local="yes">sfglib.cpp</includedby>
+ <includedby id="System_8cpp" local="yes">System.cpp</includedby>
+ <includedby id="SystemImpl_8cpp" local="yes">SystemImpl.cpp</includedby>
+ <invincdepgraph>
+ <node id="361">
+ <label>sfglib.cpp</label>
+ <link id="sfglib_8cpp-source"/>
+ </node>
+ <node id="363">
+ <label>SystemImpl.cpp</label>
+ <link id="SystemImpl_8cpp-source"/>
+ </node>
+ <node id="359">
+ <label>InputImpl.cpp</label>
+ <link id="InputImpl_8cpp-source"/>
+ </node>
+ <node id="360">
+ <label>Main.cpp</label>
+ <link id="Main_8cpp-source"/>
+ </node>
+ <node id="358">
+ <label>ConsoleImpl.cpp</label>
+ <link id="ConsoleImpl_8cpp-source"/>
+ </node>
+ <node id="362">
+ <label>System.cpp</label>
+ <link id="System_8cpp-source"/>
+ </node>
+ <node id="357">
+ <label>AbstractSprite.cpp</label>
+ <link id="AbstractSprite_8cpp-source"/>
+ </node>
+ <node id="356">
+ <label>Main.h</label>
+ <link id="Main.h"/>
+ <childnode id="357" relation="public-inheritance">
+ </childnode>
+ <childnode id="358" relation="public-inheritance">
+ </childnode>
+ <childnode id="359" relation="public-inheritance">
+ </childnode>
+ <childnode id="360" relation="public-inheritance">
+ </childnode>
+ <childnode id="361" relation="public-inheritance">
+ </childnode>
+ <childnode id="362" relation="public-inheritance">
+ </childnode>
+ <childnode id="363" relation="public-inheritance">
+ </childnode>
+ </node>
+ </invincdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1application">sf::application</innernamespace>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="Main_8h_1a0" virt="normal" prot="public">
+ <name>AFX_Main_H__FFF94F56_3A52_413E_9CD2_A5E815DCFB90__INCLUDED_</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Main.h" line="22" bodystart="22" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// Main Ae?Y\\81P\e\1?I\O\A\A!\81\91\a\?\o\\81P\e\1?IAe\83ÊA</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// !!\a\?\o?IIR?i?o1?AU?\81E?T?1!\81\92</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// ?AoY?I?eIy?I!\81\91\81÷n?Y\\81P\e\1?EC??\81â?T?1!\81\92</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// $Log: Main.h,v $</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:35 fujiwara</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// Revision 1.3 2001/07/09 20:30:08 fujiwara</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:49:43 fujiwara</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="preprocessor">#if !defined(AFX_Main_H__FFF94F56_3A52_413E_9CD2_A5E815DCFB90__INCLUDED_)</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define AFX_Main_H__FFF94F56_3A52_413E_9CD2_A5E815DCFB90__INCLUDED_</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="preprocessor">#if _MSC_VER > 1000</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#pragma once</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif // _MSC_VER > 1000</highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="keyword">namespace </highlight>sf{</codeline>
+<linenumber line="29"/><codeline> <highlight class="keyword">namespace </highlight>application {</codeline>
+<linenumber line="30"/><codeline> </codeline>
+<linenumber line="31"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> INIT_PLAYER = 3;</codeline>
+<linenumber line="32"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> STAGE_NUM_MAX = 1;</codeline>
+<linenumber line="33"/><codeline></codeline>
+<linenumber line="34"/><codeline> <highlight class="keyword">class </highlight>Main </codeline>
+<linenumber line="35"/><codeline> {</codeline>
+<linenumber line="36"/><codeline> <highlight class="comment">// LIFECYCLE //</highlight></codeline>
+<linenumber line="37"/><codeline> <highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="38"/><codeline> Main(){;};</codeline>
+<linenumber line="39"/><codeline> <highlight class="keyword">virtual</highlight> ~Main(){;};</codeline>
+<linenumber line="40"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> initialize(<highlight class="keywordtype">void</highlight>) = 0;</codeline>
+<linenumber line="41"/><codeline> <highlight class="comment">// OPERATORS //</highlight></codeline>
+<linenumber line="42"/><codeline> <highlight class="comment">// OPERATIONS //</highlight></codeline>
+<linenumber line="43"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> run() = 0;</codeline>
+<linenumber line="44"/><codeline> <highlight class="keyword">virtual</highlight> <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite">sf::system::console::sprite::Sprite</ref> * <highlight class="keyword">const</highlight> getBlankSprite() = 0;</codeline>
+<linenumber line="45"/><codeline></codeline>
+<linenumber line="46"/><codeline> <highlight class="comment">// INQUIRY //</highlight></codeline>
+<linenumber line="47"/><codeline> <highlight class="keyword">static</highlight> Main * <ref idref="namespacesf_1_1system_1a4">instance</ref>();</codeline>
+<linenumber line="48"/><codeline> };<highlight class="comment">// Main</highlight></codeline>
+<linenumber line="49"/><codeline> }<highlight class="comment">// application</highlight></codeline>
+<linenumber line="50"/><codeline>}<highlight class="comment">// sf</highlight></codeline>
+<linenumber line="51"/><codeline><highlight class="preprocessor">#endif // !defined(AFX_Main_H__FFF94F56_3A52_413E_9CD2_A5E815DCFB90__INCLUDED_)</highlight></codeline>
+<linenumber line="52"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/Main.h"/>
+ </compounddef>
+ <compounddef id="Obj_8cpp" kind="file">
+ <compoundname>Obj.cpp</compoundname>
+ <includes local="no">string</includes>
+ <includes local="yes">stdio.h</includes>
+ <includes local="yes">system.h</includes>
+ <includes local="yes">console.h</includes>
+ <includes id="Obj_8h" local="yes">Obj.h</includes>
+ <incdepgraph>
+ <node id="365">
+ <label>string</label>
+ </node>
+ <node id="364">
+ <label>Obj.cpp</label>
+ <link id="Obj.cpp"/>
+ <childnode id="365" relation="public-inheritance">
+ </childnode>
+ <childnode id="366" relation="public-inheritance">
+ </childnode>
+ <childnode id="367" relation="public-inheritance">
+ </childnode>
+ <childnode id="368" relation="public-inheritance">
+ </childnode>
+ <childnode id="369" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="370">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="368">
+ <label>console.h</label>
+ </node>
+ <node id="369">
+ <label>Obj.h</label>
+ <link id="Obj_8h-source"/>
+ <childnode id="370" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="367">
+ <label>system.h</label>
+ </node>
+ <node id="366">
+ <label>stdio.h</label>
+ </node>
+ </incdepgraph>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// \1\\81~\e\?\E?dEoEY\81ây\\81P\e\1</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// IuIo:</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// $Log: Obj.cpp,v $</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// Revision 1.2 2001/10/28 21:35:56 fujiwara</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:35 fujiwara</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:49:33 fujiwara</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">// 2001/01/29 \a\a\e!?\e!?\\81P\81C!?DIN\e\?\O\e\e?IAE2A </highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// 2001/05/04 \a\O\\81C\\81\98\\81P\EATAt\81ât?I\81\92A\81\92O\81\92C??A\83Ê</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="comment">// \a\a\e!?\e!?\\81P\81C!?DIN</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#ifndef _BORLAND</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define _CRTDBG_MAP_ALLOC</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include <stdlib.h></highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="preprocessor">#include <crtdbg.h></highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="30"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="preprocessor">#include <string></highlight></codeline>
+<linenumber line="32"/><codeline><highlight class="preprocessor">#include "stdio.h"</highlight></codeline>
+<linenumber line="33"/><codeline></codeline>
+<linenumber line="34"/><codeline><highlight class="preprocessor">#include "system.h"</highlight></codeline>
+<linenumber line="35"/><codeline><highlight class="preprocessor">#include "console.h"</highlight></codeline>
+<linenumber line="36"/><codeline></codeline>
+<linenumber line="37"/><codeline><highlight class="preprocessor">#include "Obj.h"</highlight></codeline>
+<linenumber line="38"/><codeline></codeline>
+<linenumber line="40"/><codeline><highlight class="comment">// 1?AU/?AIC</highlight></codeline>
+<linenumber line="42"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="43"/><codeline><highlight class="keyword">using</highlight> <highlight class="keyword">namespace </highlight>sf::system::console;</codeline>
+<linenumber line="44"/><codeline></codeline>
+<linenumber line="45"/><codeline>int Obj::List::mCount = 0;</codeline>
+<linenumber line="46"/><codeline>Obj* Obj::List::mspBottom = NULL;</codeline>
+<linenumber line="47"/><codeline>Obj* Obj::List::mspTop = NULL;</codeline>
+<linenumber line="48"/><codeline>Obj* Obj::List::mspCurrent = NULL;</codeline>
+<linenumber line="49"/><codeline></codeline>
+<linenumber line="50"/><codeline><highlight class="comment">//----------------------------------------------------------------------------</highlight></codeline>
+<linenumber line="51"/><codeline><highlight class="comment">// Obj Class</highlight></codeline>
+<linenumber line="52"/><codeline><highlight class="comment">//----------------------------------------------------------------------------</highlight></codeline>
+<linenumber line="53"/><codeline></codeline>
+<linenumber line="54"/><codeline><highlight class="comment">// \3\o\1\E\e\\81P\? -------------------------------------------------------------</highlight></codeline>
+<linenumber line="55"/><codeline>Obj::Obj()</codeline>
+<linenumber line="56"/><codeline>{</codeline>
+<linenumber line="57"/><codeline></codeline>
+<linenumber line="58"/><codeline>}<highlight class="comment">// Obj</highlight></codeline>
+<linenumber line="59"/><codeline></codeline>
+<linenumber line="60"/><codeline><highlight class="comment">// \C\1\E\e\\81P\? ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="61"/><codeline>Obj::~Obj()</codeline>
+<linenumber line="62"/><codeline>{</codeline>
+<linenumber line="63"/><codeline></codeline>
+<linenumber line="64"/><codeline>}<highlight class="comment">// Obj</highlight></codeline>
+<linenumber line="65"/><codeline></codeline>
+<linenumber line="66"/><codeline><highlight class="comment">//----------------------------------------------------------------------------</highlight></codeline>
+<linenumber line="67"/><codeline><highlight class="comment">// Obj::List Class</highlight></codeline>
+<linenumber line="68"/><codeline><highlight class="comment">//----------------------------------------------------------------------------</highlight></codeline>
+<linenumber line="69"/><codeline></codeline>
+<linenumber line="70"/><codeline><highlight class="comment">// Obj?oZAI?C\?!?\E?\81E?E?\81Ê?eATAt?1?e --------------------------------------------</highlight></codeline>
+<linenumber line="71"/><codeline><highlight class="keywordtype">void</highlight> Obj::List::insertObj(Obj *value)</codeline>
+<linenumber line="72"/><codeline>{</codeline>
+<linenumber line="73"/><codeline> Obj *pobj = mspTop;</codeline>
+<linenumber line="74"/><codeline> <highlight class="keywordflow">if</highlight>(mspTop == NULL){</codeline>
+<linenumber line="75"/><codeline> mspTop = value;</codeline>
+<linenumber line="76"/><codeline> mspCurrent = value;</codeline>
+<linenumber line="77"/><codeline> mspBottom = value;</codeline>
+<linenumber line="78"/><codeline> value->next(NULL);</codeline>
+<linenumber line="79"/><codeline> value->previous(NULL);</codeline>
+<linenumber line="80"/><codeline> mCount++;</codeline>
+<linenumber line="81"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="82"/><codeline> <highlight class="keywordflow">while</highlight>(pobj != NULL)</codeline>
+<linenumber line="83"/><codeline> {</codeline>
+<linenumber line="84"/><codeline> <highlight class="keywordflow">if</highlight>(value->z() <= pobj->z())</codeline>
+<linenumber line="85"/><codeline> {</codeline>
+<linenumber line="86"/><codeline> pobj = pobj->next();</codeline>
+<linenumber line="87"/><codeline> </codeline>
+<linenumber line="88"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="89"/><codeline> </codeline>
+<linenumber line="90"/><codeline> value->next(pobj);</codeline>
+<linenumber line="91"/><codeline> </codeline>
+<linenumber line="92"/><codeline> <highlight class="keywordflow">if</highlight>(pobj->previous() != NULL){</codeline>
+<linenumber line="93"/><codeline> value->previous(pobj->previous());</codeline>
+<linenumber line="94"/><codeline> value->previous()->next(value);</codeline>
+<linenumber line="95"/><codeline> pobj->previous(value);</codeline>
+<linenumber line="96"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="97"/><codeline> value->previous(NULL);</codeline>
+<linenumber line="98"/><codeline> mspTop = value; </codeline>
+<linenumber line="99"/><codeline> pobj->previous(value);</codeline>
+<linenumber line="100"/><codeline> }</codeline>
+<linenumber line="101"/><codeline></codeline>
+<linenumber line="102"/><codeline> mCount++;</codeline>
+<linenumber line="103"/><codeline> <highlight class="keywordflow">return</highlight>;</codeline>
+<linenumber line="104"/><codeline> }</codeline>
+<linenumber line="105"/><codeline></codeline>
+<linenumber line="106"/><codeline> }</codeline>
+<linenumber line="107"/><codeline></codeline>
+<linenumber line="108"/><codeline> mspBottom->next(value);</codeline>
+<linenumber line="109"/><codeline> value->previous(mspBottom);</codeline>
+<linenumber line="110"/><codeline> value->next(NULL);</codeline>
+<linenumber line="111"/><codeline> mspBottom = value;</codeline>
+<linenumber line="112"/><codeline> mCount++;</codeline>
+<linenumber line="113"/><codeline> }</codeline>
+<linenumber line="114"/><codeline>}<highlight class="comment">// insertObj()</highlight></codeline>
+<linenumber line="115"/><codeline></codeline>
+<linenumber line="116"/><codeline><highlight class="comment">// Obj?ooi?u?1?e --------------------------------------------------------------</highlight></codeline>
+<linenumber line="117"/><codeline><highlight class="keywordtype">void</highlight> Obj::List::deleteObj(Obj *value)</codeline>
+<linenumber line="118"/><codeline>{</codeline>
+<linenumber line="119"/><codeline> <highlight class="keywordflow">if</highlight>(value->next() != NULL)</codeline>
+<linenumber line="120"/><codeline> {</codeline>
+<linenumber line="121"/><codeline> <highlight class="keywordflow">if</highlight>(value->previous() != NULL)</codeline>
+<linenumber line="122"/><codeline> {</codeline>
+<linenumber line="123"/><codeline> value->previous()->next(value->next());</codeline>
+<linenumber line="124"/><codeline> value->next()->previous(value->previous());</codeline>
+<linenumber line="125"/><codeline> value->next(NULL);</codeline>
+<linenumber line="126"/><codeline> value->previous(NULL);</codeline>
+<linenumber line="127"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="128"/><codeline> mspTop = value->next();</codeline>
+<linenumber line="129"/><codeline> value->next()->previous(NULL);</codeline>
+<linenumber line="130"/><codeline> value->next(NULL);</codeline>
+<linenumber line="131"/><codeline> }</codeline>
+<linenumber line="132"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="133"/><codeline> <highlight class="keywordflow">if</highlight>(value->previous() != NULL){</codeline>
+<linenumber line="134"/><codeline> mspBottom = value->previous();</codeline>
+<linenumber line="135"/><codeline> value->previous()->next(NULL);</codeline>
+<linenumber line="136"/><codeline> value->previous(NULL);</codeline>
+<linenumber line="137"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="138"/><codeline> value->next(NULL);</codeline>
+<linenumber line="139"/><codeline> value->previous(NULL);</codeline>
+<linenumber line="140"/><codeline> mspBottom = NULL;</codeline>
+<linenumber line="141"/><codeline> mspTop = NULL;</codeline>
+<linenumber line="142"/><codeline> }</codeline>
+<linenumber line="143"/><codeline> }</codeline>
+<linenumber line="144"/><codeline> mCount --;</codeline>
+<linenumber line="145"/><codeline>} <highlight class="comment">// deleteObj()</highlight></codeline>
+<linenumber line="146"/><codeline></codeline>
+<linenumber line="147"/><codeline>Obj * Obj::List::moveNext()</codeline>
+<linenumber line="148"/><codeline>{</codeline>
+<linenumber line="149"/><codeline> <highlight class="keywordflow">if</highlight>(mspCurrent != NULL)</codeline>
+<linenumber line="150"/><codeline> mspCurrent = mspCurrent->next();</codeline>
+<linenumber line="151"/><codeline> <highlight class="keywordflow">return</highlight> mspCurrent;</codeline>
+<linenumber line="152"/><codeline>};</codeline>
+<linenumber line="153"/><codeline></codeline>
+<linenumber line="154"/><codeline>Obj * Obj::List::movePrevious()</codeline>
+<linenumber line="155"/><codeline>{ <highlight class="keywordflow">if</highlight>(mspCurrent != NULL)</codeline>
+<linenumber line="156"/><codeline> mspCurrent = mspCurrent->previous();</codeline>
+<linenumber line="157"/><codeline> <highlight class="keywordflow">return</highlight> mspCurrent;</codeline>
+<linenumber line="158"/><codeline>};</codeline>
+<linenumber line="159"/><codeline></codeline>
+<linenumber line="160"/><codeline>Obj * Obj::List::moveTop(){mspCurrent = mspTop ; <highlight class="keywordflow">return</highlight> mspTop ;};</codeline>
+<linenumber line="161"/><codeline>Obj * Obj::List::moveBottom(){mspCurrent = mspBottom ; <highlight class="keywordflow">return</highlight> mspBottom;};</codeline>
+<linenumber line="162"/><codeline></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/Obj.cpp"/>
+ </compounddef>
+ <compounddef id="Obj_8h" kind="file">
+ <compoundname>Obj.h</compoundname>
+ <includes id="sf_8h" local="yes">sf.h</includes>
+ <includedby id="AbstractSprite_8cpp" local="yes">AbstractSprite.cpp</includedby>
+ <includedby id="ObjRectangle_8h" local="yes">ObjRectangle.h</includedby>
+ <includedby id="Obj3D_8h" local="yes">Obj3D.h</includedby>
+ <includedby id="BackGround_8cpp" local="yes">BackGround.cpp</includedby>
+ <includedby id="ConsoleImpl_8cpp" local="yes">ConsoleImpl.cpp</includedby>
+ <includedby id="InputImpl_8cpp" local="yes">InputImpl.cpp</includedby>
+ <includedby id="Obj_8cpp" local="yes">Obj.cpp</includedby>
+ <includedby id="Obj2D_8cpp" local="yes">Obj2D.cpp</includedby>
+ <includedby id="ObjQuadrangle_8cpp" local="yes">ObjQuadrangle.cpp</includedby>
+ <includedby id="ObjRectangle_8cpp" local="yes">ObjRectangle.cpp</includedby>
+ <includedby id="sfglib_8cpp" local="yes">sfglib.cpp</includedby>
+ <includedby id="Sprite2D_8cpp" local="yes">Sprite2D.cpp</includedby>
+ <includedby id="Sprite3D_8cpp" local="yes">Sprite3D.cpp</includedby>
+ <includedby id="SpriteMesh_8cpp" local="yes">SpriteMesh.cpp</includedby>
+ <includedby id="System_8cpp" local="yes">System.cpp</includedby>
+ <includedby id="SystemImpl_8cpp" local="yes">SystemImpl.cpp</includedby>
+ <incdepgraph>
+ <node id="373">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="372">
+ <label>Obj.h</label>
+ <link id="Obj.h"/>
+ <childnode id="373" relation="public-inheritance">
+ </childnode>
+ </node>
+ </incdepgraph>
+ <invincdepgraph>
+ <node id="391">
+ <label>sfglib.cpp</label>
+ <link id="sfglib_8cpp-source"/>
+ </node>
+ <node id="379">
+ <label>ObjRectangle.cpp</label>
+ <link id="ObjRectangle_8cpp-source"/>
+ </node>
+ <node id="380">
+ <label>Sprite2D.cpp</label>
+ <link id="Sprite2D_8cpp-source"/>
+ </node>
+ <node id="377">
+ <label>BackGround.cpp</label>
+ <link id="BackGround_8cpp-source"/>
+ </node>
+ <node id="393">
+ <label>SystemImpl.cpp</label>
+ <link id="SystemImpl_8cpp-source"/>
+ </node>
+ <node id="387">
+ <label>InputImpl.cpp</label>
+ <link id="InputImpl_8cpp-source"/>
+ </node>
+ <node id="388">
+ <label>Obj.cpp</label>
+ <link id="Obj_8cpp-source"/>
+ </node>
+ <node id="378">
+ <label>ConsoleImpl.cpp</label>
+ <link id="ConsoleImpl_8cpp-source"/>
+ </node>
+ <node id="390">
+ <label>ObjQuadrangle.cpp</label>
+ <link id="ObjQuadrangle_8cpp-source"/>
+ </node>
+ <node id="385">
+ <label>SpriteMesh.cpp</label>
+ <link id="SpriteMesh_8cpp-source"/>
+ </node>
+ <node id="392">
+ <label>System.cpp</label>
+ <link id="System_8cpp-source"/>
+ </node>
+ <node id="381">
+ <label>Obj3D.h</label>
+ <link id="Obj3D_8h-source"/>
+ <childnode id="375" relation="public-inheritance">
+ </childnode>
+ <childnode id="382" relation="public-inheritance">
+ </childnode>
+ <childnode id="378" relation="public-inheritance">
+ </childnode>
+ <childnode id="386" relation="public-inheritance">
+ </childnode>
+ <childnode id="383" relation="public-inheritance">
+ </childnode>
+ <childnode id="384" relation="public-inheritance">
+ </childnode>
+ <childnode id="385" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="376">
+ <label>ObjRectangle.h</label>
+ <link id="ObjRectangle_8h-source"/>
+ <childnode id="375" relation="public-inheritance">
+ </childnode>
+ <childnode id="377" relation="public-inheritance">
+ </childnode>
+ <childnode id="378" relation="public-inheritance">
+ </childnode>
+ <childnode id="379" relation="public-inheritance">
+ </childnode>
+ <childnode id="380" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="382">
+ <label>Obj3DL.h</label>
+ <link id="Obj3DL_8h-source"/>
+ <childnode id="375" relation="public-inheritance">
+ </childnode>
+ <childnode id="378" relation="public-inheritance">
+ </childnode>
+ <childnode id="383" relation="public-inheritance">
+ </childnode>
+ <childnode id="384" relation="public-inheritance">
+ </childnode>
+ <childnode id="385" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="386">
+ <label>Obj3D.cpp</label>
+ <link id="Obj3D_8cpp-source"/>
+ </node>
+ <node id="374">
+ <label>Obj.h</label>
+ <link id="Obj.h"/>
+ <childnode id="375" relation="public-inheritance">
+ </childnode>
+ <childnode id="376" relation="public-inheritance">
+ </childnode>
+ <childnode id="381" relation="public-inheritance">
+ </childnode>
+ <childnode id="377" relation="public-inheritance">
+ </childnode>
+ <childnode id="378" relation="public-inheritance">
+ </childnode>
+ <childnode id="387" relation="public-inheritance">
+ </childnode>
+ <childnode id="388" relation="public-inheritance">
+ </childnode>
+ <childnode id="389" relation="public-inheritance">
+ </childnode>
+ <childnode id="390" relation="public-inheritance">
+ </childnode>
+ <childnode id="379" relation="public-inheritance">
+ </childnode>
+ <childnode id="391" relation="public-inheritance">
+ </childnode>
+ <childnode id="380" relation="public-inheritance">
+ </childnode>
+ <childnode id="384" relation="public-inheritance">
+ </childnode>
+ <childnode id="385" relation="public-inheritance">
+ </childnode>
+ <childnode id="392" relation="public-inheritance">
+ </childnode>
+ <childnode id="393" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="383">
+ <label>Obj3DL.cpp</label>
+ <link id="Obj3DL_8cpp-source"/>
+ </node>
+ <node id="375">
+ <label>AbstractSprite.cpp</label>
+ <link id="AbstractSprite_8cpp-source"/>
+ </node>
+ <node id="384">
+ <label>Sprite3D.cpp</label>
+ <link id="Sprite3D_8cpp-source"/>
+ </node>
+ <node id="389">
+ <label>Obj2D.cpp</label>
+ <link id="Obj2D_8cpp-source"/>
+ </node>
+ </invincdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1console">sf::system::console</innernamespace>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="Obj_8h_1a0" virt="normal" prot="public">
+ <name>AFX_OBJ_H__848EAA84_F65D_4C04_982A_EC1A7484C2E7__INCLUDED_</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj.h" line="24" bodystart="24" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// Obj.h: Obj \\81P\e\1?I\?\o\?!?\O\\81\98\?\1</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// IuIo!\81\98</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// $Log: Obj.h,v $</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// Revision 1.2 2001/10/28 21:35:56 fujiwara</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:35 fujiwara</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">// Revision 1.3 2001/07/09 20:30:09 fujiwara</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:49:33 fujiwara</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="preprocessor">#if !defined(AFX_OBJ_H__848EAA84_F65D_4C04_982A_EC1A7484C2E7__INCLUDED_)</highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define AFX_OBJ_H__848EAA84_F65D_4C04_982A_EC1A7484C2E7__INCLUDED_</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="preprocessor">#if _MSC_VER > 1000</highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#pragma once</highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif // _MSC_VER > 1000</highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="30"/><codeline><highlight class="preprocessor">#include "sf.h"</highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="keyword">extern</highlight> <highlight class="stringliteral">"C"</highlight> {</codeline>
+<linenumber line="32"/><codeline><highlight class="keyword">namespace </highlight>sf {</codeline>
+<linenumber line="33"/><codeline> <highlight class="keyword">namespace </highlight>system {</codeline>
+<linenumber line="34"/><codeline> <highlight class="keyword">namespace </highlight>console {</codeline>
+<linenumber line="35"/><codeline></codeline>
+<linenumber line="36"/><codeline><highlight class="keyword">typedef</highlight> <highlight class="keywordtype">int</highlight> OBJNO;</codeline>
+<linenumber line="37"/><codeline></codeline>
+<linenumber line="38"/><codeline><highlight class="comment">// Obj ------------------------------------------------------------------------</highlight></codeline>
+<linenumber line="39"/><codeline><highlight class="keyword">class </highlight>SFDLL Obj</codeline>
+<linenumber line="40"/><codeline>{</codeline>
+<linenumber line="41"/><codeline><highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="42"/><codeline> Obj();</codeline>
+<linenumber line="43"/><codeline> <highlight class="keyword">virtual</highlight> ~Obj();</codeline>
+<linenumber line="44"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> draw() = 0;</codeline>
+<linenumber line="45"/><codeline></codeline>
+<linenumber line="46"/><codeline> <highlight class="comment">// ACCESS //</highlight></codeline>
+<linenumber line="47"/><codeline></codeline>
+<linenumber line="48"/><codeline> <highlight class="comment">// \1\\81~\e\?\E?I\\81\91\E\i\1 //</highlight></codeline>
+<linenumber line="49"/><codeline> <highlight class="keyword">virtual</highlight> sprite::Sprite * <highlight class="keyword">const</highlight> sprite() <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="50"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> sprite(sprite::Sprite* <highlight class="keyword">const</highlight> value) = 0;</codeline>
+<linenumber line="51"/><codeline></codeline>
+<linenumber line="52"/><codeline> <highlight class="comment">// \?\o\C\A\\81P\1//</highlight></codeline>
+<linenumber line="53"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> index() <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="54"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> index(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> value) = 0;</codeline>
+<linenumber line="55"/><codeline></codeline>
+<linenumber line="56"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> visibility() <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="57"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> visibility(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> value) = 0;</codeline>
+<linenumber line="58"/><codeline></codeline>
+<linenumber line="59"/><codeline> <highlight class="keyword">virtual</highlight> Obj * <highlight class="keyword">const</highlight> previous() <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="60"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> previous(Obj * <highlight class="keyword">const</highlight> value) = 0;</codeline>
+<linenumber line="61"/><codeline> </codeline>
+<linenumber line="62"/><codeline> <highlight class="keyword">virtual</highlight> Obj * <highlight class="keyword">const</highlight> next() <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="63"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> next(Obj * <highlight class="keyword">const</highlight> value) = 0;</codeline>
+<linenumber line="64"/><codeline></codeline>
+<linenumber line="65"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> z() <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="66"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> z(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value) = 0;</codeline>
+<linenumber line="67"/><codeline></codeline>
+<linenumber line="68"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> drawMode(<highlight class="keyword">const</highlight> <ref idref="namespacesf_1_1system_1_1console_1a12">DrawMode</ref> value) = 0;</codeline>
+<linenumber line="69"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <ref idref="namespacesf_1_1system_1_1console_1a12">DrawMode</ref> drawMode() <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="70"/><codeline></codeline>
+<linenumber line="71"/><codeline> <highlight class="comment">//ADEy\81Ct\e\1\E?oEY\81ây?1?e\\81P\e\1 --------------------------------------------</highlight></codeline>
+<linenumber line="72"/><codeline> <highlight class="keyword">class </highlight>SFDLL List</codeline>
+<linenumber line="73"/><codeline> {</codeline>
+<linenumber line="74"/><codeline> <highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="75"/><codeline> <highlight class="keyword">static</highlight> <highlight class="keywordtype">void</highlight> insertObj(Obj *value);</codeline>
+<linenumber line="76"/><codeline> <highlight class="keyword">static</highlight> <highlight class="keywordtype">void</highlight> deleteObj(Obj *value);</codeline>
+<linenumber line="77"/><codeline> </codeline>
+<linenumber line="78"/><codeline> <highlight class="keyword">static</highlight> Obj * moveTop();</codeline>
+<linenumber line="79"/><codeline> <highlight class="keyword">static</highlight> Obj * moveBottom();</codeline>
+<linenumber line="80"/><codeline> </codeline>
+<linenumber line="81"/><codeline> <highlight class="keyword">static</highlight> Obj * moveNext();</codeline>
+<linenumber line="82"/><codeline> <highlight class="keyword">static</highlight> Obj * movePrevious();</codeline>
+<linenumber line="83"/><codeline> </codeline>
+<linenumber line="84"/><codeline> <highlight class="keyword">private</highlight>:</codeline>
+<linenumber line="85"/><codeline> </codeline>
+<linenumber line="86"/><codeline> <highlight class="keyword">static</highlight> Obj* mspCurrent;</codeline>
+<linenumber line="87"/><codeline> <highlight class="keyword">static</highlight> Obj* mspTop;</codeline>
+<linenumber line="88"/><codeline> <highlight class="keyword">static</highlight> Obj* mspBottom;</codeline>
+<linenumber line="89"/><codeline> <highlight class="keyword">static</highlight> <highlight class="keywordtype">int</highlight> mCount;</codeline>
+<linenumber line="90"/><codeline> </codeline>
+<linenumber line="91"/><codeline> };<highlight class="comment">// List</highlight></codeline>
+<linenumber line="92"/><codeline></codeline>
+<linenumber line="93"/><codeline>};<highlight class="comment">// Obj</highlight></codeline>
+<linenumber line="94"/><codeline></codeline>
+<linenumber line="95"/><codeline></codeline>
+<linenumber line="96"/><codeline> }</codeline>
+<linenumber line="97"/><codeline> }</codeline>
+<linenumber line="98"/><codeline>}</codeline>
+<linenumber line="99"/><codeline>}</codeline>
+<linenumber line="100"/><codeline><highlight class="preprocessor">#endif // !defined(AFX_OBJ_H__848EAA84_F65D_4C04_982A_EC1A7484C2E7__INCLUDED_)</highlight></codeline>
+<linenumber line="101"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/Obj.h"/>
+ </compounddef>
+ <compounddef id="Obj2D_8cpp" kind="file">
+ <compoundname>Obj2D.cpp</compoundname>
+ <includes local="no">string</includes>
+ <includes local="yes">stdio.h</includes>
+ <includes local="yes">system.h</includes>
+ <includes local="yes">console.h</includes>
+ <includes id="Obj_8h" local="yes">Obj.h</includes>
+ <includes id="Obj2D_8h" local="yes">Obj2D.h</includes>
+ <incdepgraph>
+ <node id="395">
+ <label>string</label>
+ </node>
+ <node id="400">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="398">
+ <label>console.h</label>
+ </node>
+ <node id="401">
+ <label>Obj2D.h</label>
+ <link id="Obj2D_8h-source"/>
+ <childnode id="400" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="399">
+ <label>Obj.h</label>
+ <link id="Obj_8h-source"/>
+ <childnode id="400" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="397">
+ <label>system.h</label>
+ </node>
+ <node id="396">
+ <label>stdio.h</label>
+ </node>
+ <node id="394">
+ <label>Obj2D.cpp</label>
+ <link id="Obj2D.cpp"/>
+ <childnode id="395" relation="public-inheritance">
+ </childnode>
+ <childnode id="396" relation="public-inheritance">
+ </childnode>
+ <childnode id="397" relation="public-inheritance">
+ </childnode>
+ <childnode id="398" relation="public-inheritance">
+ </childnode>
+ <childnode id="399" relation="public-inheritance">
+ </childnode>
+ <childnode id="401" relation="public-inheritance">
+ </childnode>
+ </node>
+ </incdepgraph>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// \81\922\81\92A\1\\81~\e\?\E?dEoEY\81ây\\81P\e\1</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// IuIo:</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// $Log: Obj2D.cpp,v $</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:35 fujiwara</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:49:33 fujiwara</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">// 2001/01/29 \a\a\e!?\e!?\\81P\81C!?DIN\e\?\O\e\e?IAE2A </highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">// \a\a\e!?\e!?\\81P\81C!?DIN</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#ifndef _BORLAND</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define _CRTDBG_MAP_ALLOC</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include <stdlib.h></highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="preprocessor">#include <crtdbg.h></highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="preprocessor">#include <string></highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="preprocessor">#include "stdio.h"</highlight></codeline>
+<linenumber line="29"/><codeline></codeline>
+<linenumber line="30"/><codeline><highlight class="preprocessor">#include "system.h"</highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="preprocessor">#include "console.h"</highlight></codeline>
+<linenumber line="32"/><codeline></codeline>
+<linenumber line="33"/><codeline><highlight class="preprocessor">#include "Obj.h"</highlight></codeline>
+<linenumber line="34"/><codeline><highlight class="preprocessor">#include "Obj2D.h"</highlight></codeline>
+<linenumber line="35"/><codeline></codeline>
+<linenumber line="37"/><codeline><highlight class="comment">// 1?AU/?AIC</highlight></codeline>
+<linenumber line="39"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="40"/><codeline><highlight class="keyword">using</highlight> <highlight class="keyword">namespace </highlight>sf::system::console;</codeline>
+<linenumber line="41"/><codeline></codeline>
+<linenumber line="42"/><codeline></codeline>
+<linenumber line="43"/><codeline><highlight class="comment">//----------------------------------------------------------------------------</highlight></codeline>
+<linenumber line="44"/><codeline><highlight class="comment">// Obj2D Class</highlight></codeline>
+<linenumber line="45"/><codeline><highlight class="comment">//----------------------------------------------------------------------------</highlight></codeline>
+<linenumber line="46"/><codeline></codeline>
+<linenumber line="47"/><codeline><highlight class="comment">// \3\o\1\E\e\\81P\? -------------------------------------------------------------</highlight></codeline>
+<linenumber line="48"/><codeline></codeline>
+<linenumber line="49"/><codeline>Obj2D::Obj2D()</codeline>
+<linenumber line="50"/><codeline>{</codeline>
+<linenumber line="51"/><codeline> mbVisibility = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="52"/><codeline> mIndex = 0;</codeline>
+<linenumber line="53"/><codeline> mpNext = mpPrevious = NULL;</codeline>
+<linenumber line="54"/><codeline> mRad = mAngle = 0.0f;</codeline>
+<linenumber line="55"/><codeline> mScalingX = mScalingY = 1.0f;</codeline>
+<linenumber line="56"/><codeline> mX = mY = 0.0f;</codeline>
+<linenumber line="57"/><codeline> mZ = 0.0f;</codeline>
+<linenumber line="58"/><codeline> mbReverseX = mbReverseY = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="59"/><codeline> mpSprite = NULL;</codeline>
+<linenumber line="60"/><codeline></codeline>
+<linenumber line="61"/><codeline>}<highlight class="comment">// Obj2D</highlight></codeline>
+<linenumber line="62"/><codeline></codeline>
+<linenumber line="63"/><codeline><highlight class="comment">// \C\1\E\e\\81P\? ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="64"/><codeline>Obj2D::~Obj2D()</codeline>
+<linenumber line="65"/><codeline>{</codeline>
+<linenumber line="66"/><codeline>}<highlight class="comment">// ~Obj2D</highlight></codeline>
+<linenumber line="67"/><codeline></codeline>
+<linenumber line="68"/><codeline></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/Obj2D.cpp"/>
+ </compounddef>
+ <compounddef id="Obj2D_8h" kind="file">
+ <compoundname>Obj2D.h</compoundname>
+ <includes id="sf_8h" local="yes">sf.h</includes>
+ <includedby id="AbstractSprite_8cpp" local="yes">AbstractSprite.cpp</includedby>
+ <includedby id="BackGround_8cpp" local="yes">BackGround.cpp</includedby>
+ <includedby id="ConsoleImpl_8cpp" local="yes">ConsoleImpl.cpp</includedby>
+ <includedby id="Obj2D_8cpp" local="yes">Obj2D.cpp</includedby>
+ <includedby id="ObjQuadrangle_8cpp" local="yes">ObjQuadrangle.cpp</includedby>
+ <includedby id="ObjRectangle_8cpp" local="yes">ObjRectangle.cpp</includedby>
+ <includedby id="Sprite2D_8cpp" local="yes">Sprite2D.cpp</includedby>
+ <incdepgraph>
+ <node id="404">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="403">
+ <label>Obj2D.h</label>
+ <link id="Obj2D.h"/>
+ <childnode id="404" relation="public-inheritance">
+ </childnode>
+ </node>
+ </incdepgraph>
+ <invincdepgraph>
+ <node id="411">
+ <label>ObjRectangle.cpp</label>
+ <link id="ObjRectangle_8cpp-source"/>
+ </node>
+ <node id="412">
+ <label>Sprite2D.cpp</label>
+ <link id="Sprite2D_8cpp-source"/>
+ </node>
+ <node id="407">
+ <label>BackGround.cpp</label>
+ <link id="BackGround_8cpp-source"/>
+ </node>
+ <node id="408">
+ <label>ConsoleImpl.cpp</label>
+ <link id="ConsoleImpl_8cpp-source"/>
+ </node>
+ <node id="410">
+ <label>ObjQuadrangle.cpp</label>
+ <link id="ObjQuadrangle_8cpp-source"/>
+ </node>
+ <node id="405">
+ <label>Obj2D.h</label>
+ <link id="Obj2D.h"/>
+ <childnode id="406" relation="public-inheritance">
+ </childnode>
+ <childnode id="407" relation="public-inheritance">
+ </childnode>
+ <childnode id="408" relation="public-inheritance">
+ </childnode>
+ <childnode id="409" relation="public-inheritance">
+ </childnode>
+ <childnode id="410" relation="public-inheritance">
+ </childnode>
+ <childnode id="411" relation="public-inheritance">
+ </childnode>
+ <childnode id="412" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="406">
+ <label>AbstractSprite.cpp</label>
+ <link id="AbstractSprite_8cpp-source"/>
+ </node>
+ <node id="409">
+ <label>Obj2D.cpp</label>
+ <link id="Obj2D_8cpp-source"/>
+ </node>
+ </invincdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1console">sf::system::console</innernamespace>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="Obj2D_8h_1a0" virt="normal" prot="public">
+ <name>OBJ2D</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj2D.h" line="24" bodystart="24" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// Obj.h: Obj \\81P\e\1?I\?\o\?!?\O\\81\98\?\1</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// $Log: Obj2D.h,v $</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// Revision 1.2 2001/10/28 21:35:56 fujiwara</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:35 fujiwara</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">// Revision 1.3 2001/07/09 20:30:09 fujiwara</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:49:33 fujiwara</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="22"/><codeline></codeline>
+<linenumber line="23"/><codeline><highlight class="preprocessor">#if !defined(OBJ2D)</highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define OBJ2D</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="preprocessor">#if _MSC_VER > 1000</highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#pragma once</highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif // _MSC_VER > 1000</highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="preprocessor"></highlight><highlight class="keyword">extern</highlight> <highlight class="stringliteral">"C"</highlight> {</codeline>
+<linenumber line="30"/><codeline><highlight class="keyword">namespace </highlight>sf {</codeline>
+<linenumber line="31"/><codeline> <highlight class="keyword">namespace </highlight>system {</codeline>
+<linenumber line="32"/><codeline> <highlight class="keyword">namespace </highlight>console {</codeline>
+<linenumber line="33"/><codeline></codeline>
+<linenumber line="34"/><codeline><highlight class="preprocessor">#include "sf.h"</highlight></codeline>
+<linenumber line="35"/><codeline></codeline>
+<linenumber line="36"/><codeline><highlight class="comment">// Obj ------------------------------------------------------------------------</highlight></codeline>
+<linenumber line="37"/><codeline><highlight class="keyword">class </highlight>SFDLL Obj2D : <highlight class="keyword">public</highlight> Obj</codeline>
+<linenumber line="38"/><codeline>{</codeline>
+<linenumber line="39"/><codeline><highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="40"/><codeline> Obj2D();</codeline>
+<linenumber line="41"/><codeline> <highlight class="keyword">virtual</highlight> ~Obj2D();</codeline>
+<linenumber line="42"/><codeline></codeline>
+<linenumber line="43"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> x()<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> mX;};</codeline>
+<linenumber line="44"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> x(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value) { mX = value;}; </codeline>
+<linenumber line="45"/><codeline> </codeline>
+<linenumber line="46"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> y()<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> mY;};</codeline>
+<linenumber line="47"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> y(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value) { mY = value;}; </codeline>
+<linenumber line="48"/><codeline> </codeline>
+<linenumber line="49"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> z()<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> mZ;};</codeline>
+<linenumber line="50"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> z(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value) { mZ = value;List::deleteObj(<highlight class="keyword">this</highlight>); List::insertObj(<highlight class="keyword">this</highlight>);};</codeline>
+<linenumber line="51"/><codeline> </codeline>
+<linenumber line="52"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> angle()<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> mAngle;};</codeline>
+<linenumber line="53"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> angle(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value) { mAngle = value;};</codeline>
+<linenumber line="54"/><codeline> </codeline>
+<linenumber line="55"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> scalingX()<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> mScalingX;}; </codeline>
+<linenumber line="56"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> scalingX(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value) { mScalingX = value;}; </codeline>
+<linenumber line="57"/><codeline> </codeline>
+<linenumber line="58"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> scalingY()<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> mScalingY;}; </codeline>
+<linenumber line="59"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> scalingY(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value) { mScalingY = value;}; </codeline>
+<linenumber line="60"/><codeline></codeline>
+<linenumber line="61"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> reverseX()<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> mbReverseX;}; </codeline>
+<linenumber line="62"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> reverseX(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> value) { mbReverseX = value;}; </codeline>
+<linenumber line="63"/><codeline> </codeline>
+<linenumber line="64"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> reverseY()<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> mbReverseY;};</codeline>
+<linenumber line="65"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> reverseY(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> value) { mbReverseY = value;}</codeline>
+<linenumber line="66"/><codeline> </codeline>
+<linenumber line="67"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> drawMode(<highlight class="keyword">const</highlight> <ref idref="namespacesf_1_1system_1_1console_1a12">DrawMode</ref> value) { mDrawMode = value;};</codeline>
+<linenumber line="68"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <ref idref="namespacesf_1_1system_1_1console_1a12">DrawMode</ref> drawMode()<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mDrawMode;}</codeline>
+<linenumber line="69"/><codeline> </codeline>
+<linenumber line="70"/><codeline> <highlight class="comment">// \1\\81~\e\?\E?I\\81\91\E\i\1 //</highlight></codeline>
+<linenumber line="71"/><codeline> <highlight class="keyword">virtual</highlight> sprite::Sprite * <highlight class="keyword">const</highlight> sprite()<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mpSprite;};</codeline>
+<linenumber line="72"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> sprite(sprite::Sprite* <highlight class="keyword">const</highlight> value){ mpSprite = value;};</codeline>
+<linenumber line="73"/><codeline></codeline>
+<linenumber line="74"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> index()<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> mIndex;};</codeline>
+<linenumber line="75"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> index(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> value) { mIndex = value;};</codeline>
+<linenumber line="76"/><codeline></codeline>
+<linenumber line="77"/><codeline> </codeline>
+<linenumber line="78"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> visibility()<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mbVisibility;};</codeline>
+<linenumber line="79"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> visibility(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> value){ mbVisibility = value;};</codeline>
+<linenumber line="80"/><codeline> </codeline>
+<linenumber line="81"/><codeline> <highlight class="keyword">virtual</highlight> Obj * <highlight class="keyword">const</highlight> previous() <highlight class="keyword">const</highlight> {<highlight class="keywordflow">return</highlight> mpPrevious;};</codeline>
+<linenumber line="82"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> previous(Obj * <highlight class="keyword">const</highlight> value){mpPrevious = value;};</codeline>
+<linenumber line="83"/><codeline> </codeline>
+<linenumber line="84"/><codeline> <highlight class="keyword">virtual</highlight> Obj * <highlight class="keyword">const</highlight> next()<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mpNext;};</codeline>
+<linenumber line="85"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> next(Obj * <highlight class="keyword">const</highlight> value){mpNext = value;};</codeline>
+<linenumber line="86"/><codeline></codeline>
+<linenumber line="87"/><codeline><highlight class="keyword">private</highlight>:</codeline>
+<linenumber line="88"/><codeline></codeline>
+<linenumber line="89"/><codeline> <highlight class="keywordtype">float</highlight> mX,mY,mZ,mRad,mAngle;</codeline>
+<linenumber line="90"/><codeline> <highlight class="keywordtype">float</highlight> mScalingX,mScalingY;</codeline>
+<linenumber line="91"/><codeline> <highlight class="keywordtype">bool</highlight> mbVisibility;</codeline>
+<linenumber line="92"/><codeline> <highlight class="keywordtype">bool</highlight> mbReverseX;</codeline>
+<linenumber line="93"/><codeline> <highlight class="keywordtype">bool</highlight> mbReverseY;</codeline>
+<linenumber line="94"/><codeline> </codeline>
+<linenumber line="95"/><codeline> sprite::Sprite *mpSprite;</codeline>
+<linenumber line="96"/><codeline> <highlight class="keywordtype">int</highlight> mIndex;</codeline>
+<linenumber line="97"/><codeline></codeline>
+<linenumber line="98"/><codeline> <ref idref="namespacesf_1_1system_1_1console_1a12">DrawMode</ref> mDrawMode;</codeline>
+<linenumber line="99"/><codeline> Obj* mpPrevious;</codeline>
+<linenumber line="100"/><codeline> Obj* mpNext;</codeline>
+<linenumber line="101"/><codeline></codeline>
+<linenumber line="102"/><codeline>};<highlight class="comment">// Obj</highlight></codeline>
+<linenumber line="103"/><codeline></codeline>
+<linenumber line="104"/><codeline></codeline>
+<linenumber line="105"/><codeline></codeline>
+<linenumber line="106"/><codeline> }</codeline>
+<linenumber line="107"/><codeline> }</codeline>
+<linenumber line="108"/><codeline>}</codeline>
+<linenumber line="109"/><codeline>}</codeline>
+<linenumber line="110"/><codeline><highlight class="preprocessor">#endif // !defined(AFX_OBJ_H__848EAA84_F65D_4C04_982A_EC1A7484C2E7__INCLUDED_)</highlight></codeline>
+<linenumber line="111"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/Obj2D.h"/>
+ </compounddef>
+ <compounddef id="Obj3D_8cpp" kind="file">
+ <compoundname>Obj3D.cpp</compoundname>
+ <includes id="sfdebug_8h" local="yes">sfdebug.h</includes>
+ <includes local="no">string</includes>
+ <includes local="yes">stdio.h</includes>
+ <includes local="yes">math.h</includes>
+ <includes local="yes">system.h</includes>
+ <includes local="yes">console.h</includes>
+ <includes id="Obj3D_8h" local="yes">Obj3D.h</includes>
+ <incdepgraph>
+ <node id="415">
+ <label>string</label>
+ </node>
+ <node id="414">
+ <label>sfdebug.h</label>
+ <link id="sfdebug_8h"/>
+ </node>
+ <node id="421">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="419">
+ <label>console.h</label>
+ </node>
+ <node id="420">
+ <label>Obj3D.h</label>
+ <link id="Obj3D_8h-source"/>
+ <childnode id="421" relation="public-inheritance">
+ </childnode>
+ <childnode id="422" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="417">
+ <label>math.h</label>
+ </node>
+ <node id="413">
+ <label>Obj3D.cpp</label>
+ <link id="Obj3D.cpp"/>
+ <childnode id="414" relation="public-inheritance">
+ </childnode>
+ <childnode id="415" relation="public-inheritance">
+ </childnode>
+ <childnode id="416" relation="public-inheritance">
+ </childnode>
+ <childnode id="417" relation="public-inheritance">
+ </childnode>
+ <childnode id="418" relation="public-inheritance">
+ </childnode>
+ <childnode id="419" relation="public-inheritance">
+ </childnode>
+ <childnode id="420" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="422">
+ <label>Obj.h</label>
+ <link id="Obj_8h-source"/>
+ <childnode id="421" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="418">
+ <label>system.h</label>
+ </node>
+ <node id="416">
+ <label>stdio.h</label>
+ </node>
+ </incdepgraph>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// Obj3D.cpp: Obj3D \\81P\e\1?I\?\o\\81~\e\a\o\A!?\\81E\c\o</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// IuIo!\81\98</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// $Log: Obj3D.cpp,v $</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:35 fujiwara</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">// Revision 1.4 2001/07/09 20:30:09 fujiwara</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">// Revision 1.3 2001/07/01 21:30:34 fujiwara</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// \a\a\e\e!?\\81P\A\\81\98\A\\81P\81C\81áA??\81E</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:49:33 fujiwara</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="comment">#pragma warning( disable : 4786 ) //STL?I\81EU1d3\81\8b?\81E</highlight></codeline>
+<linenumber line="23"/><codeline></codeline>
+<linenumber line="24"/><codeline><highlight class="comment">// \a\a\e!?\e!?\\81P\81C!?DIN</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="preprocessor">#include "<ref idref="sfdebug_8h">sfdebug.h</ref>"</highlight></codeline>
+<linenumber line="26"/><codeline></codeline>
+<linenumber line="27"/><codeline><highlight class="preprocessor">#include <string></highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="preprocessor">#include "stdio.h"</highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="preprocessor">#include "math.h"</highlight></codeline>
+<linenumber line="30"/><codeline></codeline>
+<linenumber line="31"/><codeline><highlight class="preprocessor">#include "system.h"</highlight></codeline>
+<linenumber line="32"/><codeline><highlight class="preprocessor">#include "console.h"</highlight></codeline>
+<linenumber line="33"/><codeline></codeline>
+<linenumber line="34"/><codeline><highlight class="preprocessor">#include "Obj3D.h"</highlight></codeline>
+<linenumber line="35"/><codeline></codeline>
+<linenumber line="37"/><codeline><highlight class="comment">// 1?AU/?AIC</highlight></codeline>
+<linenumber line="39"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="40"/><codeline><highlight class="keyword">using</highlight> <highlight class="keyword">namespace </highlight>sf::system::console;</codeline>
+<linenumber line="41"/><codeline></codeline>
+<linenumber line="42"/><codeline>Obj3D::Obj3D()</codeline>
+<linenumber line="43"/><codeline>{</codeline>
+<linenumber line="44"/><codeline> mX = mY = mZ = 0.0f;</codeline>
+<linenumber line="45"/><codeline> mAngleX = mAngleY = mAngleZ = 0.0f;</codeline>
+<linenumber line="46"/><codeline> mScalingX = mScalingY = mScalingZ = 1.0f;</codeline>
+<linenumber line="47"/><codeline> mRotXSin = mRotYSin = mRotZSin = sinf(0.0f); </codeline>
+<linenumber line="48"/><codeline> mRotXCos = mRotYCos = mRotZCos = cosf(0.0f); </codeline>
+<linenumber line="49"/><codeline> </codeline>
+<linenumber line="50"/><codeline> mSpaceX = mSpaceY = mSpaceZ = 0.0f;</codeline>
+<linenumber line="51"/><codeline> </codeline>
+<linenumber line="52"/><codeline> mbVisibility = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="53"/><codeline> mIndex = 0;</codeline>
+<linenumber line="54"/><codeline> mpNext = mpPrevious = NULL;</codeline>
+<linenumber line="55"/><codeline> mDrawMode = <ref idref="namespacesf_1_1system_1_1console_1a12a3">DRAW_TRANS</ref>;</codeline>
+<linenumber line="56"/><codeline> mpSprite = NULL;</codeline>
+<linenumber line="57"/><codeline>}</codeline>
+<linenumber line="58"/><codeline></codeline>
+<linenumber line="59"/><codeline>Obj3D::~Obj3D()</codeline>
+<linenumber line="60"/><codeline>{;</codeline>
+<linenumber line="61"/><codeline>}</codeline>
+<linenumber line="62"/><codeline></codeline>
+<linenumber line="63"/><codeline><highlight class="comment">// XoAE\81C !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="64"/><codeline><highlight class="keywordtype">void</highlight> Obj3D::x(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value)</codeline>
+<linenumber line="65"/><codeline>{</codeline>
+<linenumber line="66"/><codeline> mX = value;</codeline>
+<linenumber line="67"/><codeline> mSpaceX = value * 2.0f / (float)screen::HEIGHT;</codeline>
+<linenumber line="68"/><codeline>}<highlight class="comment">// x</highlight></codeline>
+<linenumber line="69"/><codeline></codeline>
+<linenumber line="70"/><codeline><highlight class="comment">// XoAE\81C !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="71"/><codeline><highlight class="keywordtype">void</highlight> Obj3D::y(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value)</codeline>
+<linenumber line="72"/><codeline>{</codeline>
+<linenumber line="73"/><codeline> mY = value;</codeline>
+<linenumber line="74"/><codeline> mSpaceY = - value * 2.0f / (float)screen::HEIGHT;</codeline>
+<linenumber line="75"/><codeline>}<highlight class="comment">// x</highlight></codeline>
+<linenumber line="76"/><codeline></codeline>
+<linenumber line="77"/><codeline><highlight class="comment">// XoAE\81C !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="78"/><codeline><highlight class="keywordtype">void</highlight> Obj3D::z(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value)</codeline>
+<linenumber line="79"/><codeline>{</codeline>
+<linenumber line="80"/><codeline> mSpaceZ = mZ = value;</codeline>
+<linenumber line="81"/><codeline> List::deleteObj(<highlight class="keyword">this</highlight>);</codeline>
+<linenumber line="82"/><codeline> List::insertObj(<highlight class="keyword">this</highlight>);</codeline>
+<linenumber line="83"/><codeline></codeline>
+<linenumber line="84"/><codeline> <highlight class="comment">//mSpaceZ = value * 2.0f / (float)screen::HEIGHT; </highlight></codeline>
+<linenumber line="85"/><codeline>}<highlight class="comment">// x</highlight></codeline>
+<linenumber line="86"/><codeline></codeline>
+<linenumber line="87"/><codeline><highlight class="comment">// X3NAU !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="88"/><codeline><highlight class="keywordtype">void</highlight> Obj3D::angleX(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value)</codeline>
+<linenumber line="89"/><codeline>{</codeline>
+<linenumber line="90"/><codeline> mAngleX = value;</codeline>
+<linenumber line="91"/><codeline> mRotXCos = cosf(value);</codeline>
+<linenumber line="92"/><codeline> mRotXSin = sinf(value);</codeline>
+<linenumber line="93"/><codeline>}<highlight class="comment">// AngleX()</highlight></codeline>
+<linenumber line="94"/><codeline></codeline>
+<linenumber line="95"/><codeline><highlight class="comment">// Y3NAU !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="96"/><codeline><highlight class="keywordtype">void</highlight> Obj3D::angleY(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value)</codeline>
+<linenumber line="97"/><codeline>{</codeline>
+<linenumber line="98"/><codeline> mAngleY = value;</codeline>
+<linenumber line="99"/><codeline> mRotYCos = cosf(value);</codeline>
+<linenumber line="100"/><codeline> mRotYSin = sinf(value);</codeline>
+<linenumber line="101"/><codeline>}<highlight class="comment">// AngleY()</highlight></codeline>
+<linenumber line="102"/><codeline></codeline>
+<linenumber line="103"/><codeline><highlight class="comment">// X3NAU !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="104"/><codeline><highlight class="keywordtype">void</highlight> Obj3D::angleZ(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value)</codeline>
+<linenumber line="105"/><codeline>{</codeline>
+<linenumber line="106"/><codeline> mAngleZ = value;</codeline>
+<linenumber line="107"/><codeline> mRotZCos = cosf(value);</codeline>
+<linenumber line="108"/><codeline> mRotZSin = sinf(value);</codeline>
+<linenumber line="109"/><codeline>}<highlight class="comment">// AngleZ()</highlight></codeline>
+<linenumber line="110"/><codeline></codeline>
+<linenumber line="111"/><codeline></codeline>
+<linenumber line="112"/><codeline></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/Obj3D.cpp"/>
+ </compounddef>
+ <compounddef id="Obj3D_8h" kind="file">
+ <compoundname>Obj3D.h</compoundname>
+ <includes id="sf_8h" local="yes">sf.h</includes>
+ <includes id="Obj_8h" local="yes">Obj.h</includes>
+ <includedby id="AbstractSprite_8cpp" local="yes">AbstractSprite.cpp</includedby>
+ <includedby id="Obj3DL_8h" local="yes">Obj3DL.h</includedby>
+ <includedby id="ConsoleImpl_8cpp" local="yes">ConsoleImpl.cpp</includedby>
+ <includedby id="Obj3D_8cpp" local="yes">Obj3D.cpp</includedby>
+ <includedby id="Obj3DL_8cpp" local="yes">Obj3DL.cpp</includedby>
+ <includedby id="Sprite3D_8cpp" local="yes">Sprite3D.cpp</includedby>
+ <includedby id="SpriteMesh_8cpp" local="yes">SpriteMesh.cpp</includedby>
+ <incdepgraph>
+ <node id="425">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="424">
+ <label>Obj3D.h</label>
+ <link id="Obj3D.h"/>
+ <childnode id="425" relation="public-inheritance">
+ </childnode>
+ <childnode id="426" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="426">
+ <label>Obj.h</label>
+ <link id="Obj_8h-source"/>
+ <childnode id="425" relation="public-inheritance">
+ </childnode>
+ </node>
+ </incdepgraph>
+ <invincdepgraph>
+ <node id="430">
+ <label>ConsoleImpl.cpp</label>
+ <link id="ConsoleImpl_8cpp-source"/>
+ </node>
+ <node id="433">
+ <label>SpriteMesh.cpp</label>
+ <link id="SpriteMesh_8cpp-source"/>
+ </node>
+ <node id="427">
+ <label>Obj3D.h</label>
+ <link id="Obj3D.h"/>
+ <childnode id="428" relation="public-inheritance">
+ </childnode>
+ <childnode id="429" relation="public-inheritance">
+ </childnode>
+ <childnode id="430" relation="public-inheritance">
+ </childnode>
+ <childnode id="434" relation="public-inheritance">
+ </childnode>
+ <childnode id="431" relation="public-inheritance">
+ </childnode>
+ <childnode id="432" relation="public-inheritance">
+ </childnode>
+ <childnode id="433" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="429">
+ <label>Obj3DL.h</label>
+ <link id="Obj3DL_8h-source"/>
+ <childnode id="428" relation="public-inheritance">
+ </childnode>
+ <childnode id="430" relation="public-inheritance">
+ </childnode>
+ <childnode id="431" relation="public-inheritance">
+ </childnode>
+ <childnode id="432" relation="public-inheritance">
+ </childnode>
+ <childnode id="433" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="434">
+ <label>Obj3D.cpp</label>
+ <link id="Obj3D_8cpp-source"/>
+ </node>
+ <node id="431">
+ <label>Obj3DL.cpp</label>
+ <link id="Obj3DL_8cpp-source"/>
+ </node>
+ <node id="428">
+ <label>AbstractSprite.cpp</label>
+ <link id="AbstractSprite_8cpp-source"/>
+ </node>
+ <node id="432">
+ <label>Sprite3D.cpp</label>
+ <link id="Sprite3D_8cpp-source"/>
+ </node>
+ </invincdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1console">sf::system::console</innernamespace>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="Obj3D_8h_1a0" virt="normal" prot="public">
+ <name>AFX_OBJ3D_H__6F81DB0E_4F49_491D_9D09_E729679CE97A__INCLUDED_</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3D.h" line="25" bodystart="25" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// Obj3D.h: Obj3D \\81P\e\1?I\?\o\?!?\O\\81\98\?\1</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// ?\81~?e!??o?\83Ê?o?I\e\?\O\e\e?o\81â21I?E?\81E?AoiAR</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// IuIo!\81\98</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// $Log: Obj3D.h,v $</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// Revision 1.2 2001/10/28 21:35:56 fujiwara</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:35 fujiwara</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// Revision 1.3 2001/07/09 20:30:09 fujiwara</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:49:33 fujiwara</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="preprocessor">#if !defined(AFX_OBJ3D_H__6F81DB0E_4F49_491D_9D09_E729679CE97A__INCLUDED_)</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define AFX_OBJ3D_H__6F81DB0E_4F49_491D_9D09_E729679CE97A__INCLUDED_</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="preprocessor">#if _MSC_VER > 1000</highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#pragma once</highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif // _MSC_VER > 1000</highlight></codeline>
+<linenumber line="30"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include "sf.h"</highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="preprocessor">#include "Obj.h"</highlight></codeline>
+<linenumber line="32"/><codeline><highlight class="keyword">extern</highlight> <highlight class="stringliteral">"C"</highlight> {</codeline>
+<linenumber line="33"/><codeline><highlight class="keyword">namespace </highlight>sf{</codeline>
+<linenumber line="34"/><codeline> <highlight class="keyword">namespace </highlight>system{</codeline>
+<linenumber line="35"/><codeline> <highlight class="keyword">namespace </highlight>console {</codeline>
+<linenumber line="36"/><codeline></codeline>
+<linenumber line="37"/><codeline><highlight class="keyword">class </highlight>SFDLL Obj3D : <highlight class="keyword">public</highlight> Obj </codeline>
+<linenumber line="38"/><codeline>{</codeline>
+<linenumber line="39"/><codeline> <highlight class="comment">// LIFECYCLE //</highlight></codeline>
+<linenumber line="40"/><codeline><highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="41"/><codeline> Obj3D();</codeline>
+<linenumber line="42"/><codeline> <highlight class="keyword">virtual</highlight> ~Obj3D();</codeline>
+<linenumber line="43"/><codeline> <highlight class="comment">// OPERATORS //</highlight></codeline>
+<linenumber line="44"/><codeline> <highlight class="comment">// OPERATIONS //</highlight></codeline>
+<linenumber line="45"/><codeline> </codeline>
+<linenumber line="46"/><codeline> <highlight class="comment">// ACCESS //</highlight></codeline>
+<linenumber line="47"/><codeline> <highlight class="comment">// X oAE\81C</highlight></codeline>
+<linenumber line="48"/><codeline> <highlight class="keywordtype">void</highlight> x(<highlight class="keywordtype">float</highlight> value);</codeline>
+<linenumber line="49"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> x(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mX;};</codeline>
+<linenumber line="50"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> spaceX(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mSpaceX;};</codeline>
+<linenumber line="51"/><codeline> </codeline>
+<linenumber line="52"/><codeline> <highlight class="comment">// Y oAE\81C</highlight></codeline>
+<linenumber line="53"/><codeline> <highlight class="keywordtype">void</highlight> y(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value);</codeline>
+<linenumber line="54"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> y(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> mY;};</codeline>
+<linenumber line="55"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> spaceY(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mSpaceY;};</codeline>
+<linenumber line="56"/><codeline></codeline>
+<linenumber line="57"/><codeline> <highlight class="comment">// Z oAE\81C</highlight></codeline>
+<linenumber line="58"/><codeline> <highlight class="keywordtype">void</highlight> z(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value);</codeline>
+<linenumber line="59"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> z(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mZ;};</codeline>
+<linenumber line="60"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> spaceZ(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> mSpaceZ;};</codeline>
+<linenumber line="61"/><codeline></codeline>
+<linenumber line="62"/><codeline> <highlight class="comment">// X2oA?</highlight></codeline>
+<linenumber line="63"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> angleX(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mAngleX;};</codeline>
+<linenumber line="64"/><codeline> <highlight class="keywordtype">void</highlight> angleX(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value);</codeline>
+<linenumber line="65"/><codeline></codeline>
+<linenumber line="66"/><codeline> <highlight class="comment">// Y2oA?</highlight></codeline>
+<linenumber line="67"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> angleY(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mAngleY;};</codeline>
+<linenumber line="68"/><codeline> <highlight class="keywordtype">void</highlight> angleY(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value);</codeline>
+<linenumber line="69"/><codeline></codeline>
+<linenumber line="70"/><codeline> <highlight class="comment">// Z2oA?</highlight></codeline>
+<linenumber line="71"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> angleZ(<highlight class="keywordtype">void</highlight>){<highlight class="keywordflow">return</highlight> mAngleZ;};</codeline>
+<linenumber line="72"/><codeline> <highlight class="keywordtype">void</highlight> angleZ(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value);</codeline>
+<linenumber line="73"/><codeline></codeline>
+<linenumber line="74"/><codeline> <highlight class="comment">// </highlight></codeline>
+<linenumber line="75"/><codeline></codeline>
+<linenumber line="76"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> rotXCos(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> mRotXCos;};</codeline>
+<linenumber line="77"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> rotXSin(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> mRotXSin;};</codeline>
+<linenumber line="78"/><codeline></codeline>
+<linenumber line="79"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> rotYCos(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> mRotYCos;};</codeline>
+<linenumber line="80"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> rotYSin(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> mRotYSin;};</codeline>
+<linenumber line="81"/><codeline></codeline>
+<linenumber line="82"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> rotZCos(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> mRotZCos;};</codeline>
+<linenumber line="83"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> rotZSin(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> mRotZSin;};</codeline>
+<linenumber line="84"/><codeline></codeline>
+<linenumber line="85"/><codeline> <highlight class="comment">// \1\\81}!?\e\o\\81\8b</highlight></codeline>
+<linenumber line="86"/><codeline></codeline>
+<linenumber line="87"/><codeline> <highlight class="comment">// X</highlight></codeline>
+<linenumber line="88"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> scalingX(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mScalingX;};</codeline>
+<linenumber line="89"/><codeline> <highlight class="keywordtype">void</highlight> scalingX(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value){mScalingX = value;};</codeline>
+<linenumber line="90"/><codeline></codeline>
+<linenumber line="91"/><codeline> <highlight class="comment">// Y</highlight></codeline>
+<linenumber line="92"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> scalingY(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mScalingY;};</codeline>
+<linenumber line="93"/><codeline> <highlight class="keywordtype">void</highlight> scalingY(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value){mScalingY = value;};</codeline>
+<linenumber line="94"/><codeline></codeline>
+<linenumber line="95"/><codeline> <highlight class="comment">// Z</highlight></codeline>
+<linenumber line="96"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> scalingZ(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mScalingZ;};</codeline>
+<linenumber line="97"/><codeline> <highlight class="keywordtype">void</highlight> scalingZ(<highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> value){mScalingZ = value;};</codeline>
+<linenumber line="98"/><codeline></codeline>
+<linenumber line="99"/><codeline> <highlight class="keywordtype">void</highlight> drawMode(<highlight class="keyword">const</highlight> <ref idref="namespacesf_1_1system_1_1console_1a12">DrawMode</ref> value) { mDrawMode = value;};</codeline>
+<linenumber line="100"/><codeline> <highlight class="keyword">const</highlight> <ref idref="namespacesf_1_1system_1_1console_1a12">DrawMode</ref> drawMode()<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mDrawMode;}</codeline>
+<linenumber line="101"/><codeline> </codeline>
+<linenumber line="102"/><codeline> <highlight class="comment">// \1\\81~\e\?\E?I\\81\91\E\i\1 //</highlight></codeline>
+<linenumber line="103"/><codeline> <highlight class="keyword">virtual</highlight> sprite::Sprite * <highlight class="keyword">const</highlight> sprite()<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mpSprite;};</codeline>
+<linenumber line="104"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> sprite(sprite::Sprite* <highlight class="keyword">const</highlight> value){ mpSprite = value;};</codeline>
+<linenumber line="105"/><codeline></codeline>
+<linenumber line="106"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> index()<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> mIndex;};</codeline>
+<linenumber line="107"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> index(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> value) { mIndex = value;};</codeline>
+<linenumber line="108"/><codeline> </codeline>
+<linenumber line="109"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> visibility()<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mbVisibility;};</codeline>
+<linenumber line="110"/><codeline> <highlight class="keywordtype">void</highlight> visibility(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> value){ mbVisibility = value;};</codeline>
+<linenumber line="111"/><codeline> </codeline>
+<linenumber line="112"/><codeline> Obj * <highlight class="keyword">const</highlight> previous()<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mpPrevious;};</codeline>
+<linenumber line="113"/><codeline> <highlight class="keywordtype">void</highlight> previous(Obj * <highlight class="keyword">const</highlight> value){mpPrevious = value;};</codeline>
+<linenumber line="114"/><codeline> </codeline>
+<linenumber line="115"/><codeline> Obj * <highlight class="keyword">const</highlight> next()<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> mpNext;};</codeline>
+<linenumber line="116"/><codeline> <highlight class="keywordtype">void</highlight> next(Obj * <highlight class="keyword">const</highlight> value){mpNext = value;};</codeline>
+<linenumber line="117"/><codeline> <highlight class="comment">// INQUIRY //</highlight></codeline>
+<linenumber line="118"/><codeline><highlight class="keyword">private</highlight>:</codeline>
+<linenumber line="119"/><codeline> <highlight class="comment">// \1\\81P\e!?\ooAE\81C</highlight></codeline>
+<linenumber line="120"/><codeline> <highlight class="keywordtype">float</highlight> mX;</codeline>
+<linenumber line="121"/><codeline> <highlight class="keywordtype">float</highlight> mY;</codeline>
+<linenumber line="122"/><codeline> <highlight class="keywordtype">float</highlight> mZ;</codeline>
+<linenumber line="123"/><codeline></codeline>
+<linenumber line="124"/><codeline> <highlight class="comment">// 3D\81÷o\81LOoAE\81C</highlight></codeline>
+<linenumber line="125"/><codeline> <highlight class="keywordtype">float</highlight> mSpaceX;</codeline>
+<linenumber line="126"/><codeline> <highlight class="keywordtype">float</highlight> mSpaceY;</codeline>
+<linenumber line="127"/><codeline> <highlight class="keywordtype">float</highlight> mSpaceZ;</codeline>
+<linenumber line="128"/><codeline> </codeline>
+<linenumber line="129"/><codeline> <highlight class="keywordtype">float</highlight> mAngleX;</codeline>
+<linenumber line="130"/><codeline> <highlight class="keywordtype">float</highlight> mAngleY;</codeline>
+<linenumber line="131"/><codeline> <highlight class="keywordtype">float</highlight> mAngleZ;</codeline>
+<linenumber line="132"/><codeline></codeline>
+<linenumber line="133"/><codeline> <highlight class="keywordtype">float</highlight> mRotXSin;</codeline>
+<linenumber line="134"/><codeline> <highlight class="keywordtype">float</highlight> mRotYSin;</codeline>
+<linenumber line="135"/><codeline> <highlight class="keywordtype">float</highlight> mRotZSin;</codeline>
+<linenumber line="136"/><codeline> <highlight class="keywordtype">float</highlight> mRotXCos;</codeline>
+<linenumber line="137"/><codeline> <highlight class="keywordtype">float</highlight> mRotYCos;</codeline>
+<linenumber line="138"/><codeline> <highlight class="keywordtype">float</highlight> mRotZCos;</codeline>
+<linenumber line="139"/><codeline> </codeline>
+<linenumber line="140"/><codeline> <highlight class="keywordtype">float</highlight> mScalingX;</codeline>
+<linenumber line="141"/><codeline> <highlight class="keywordtype">float</highlight> mScalingY;</codeline>
+<linenumber line="142"/><codeline> <highlight class="keywordtype">float</highlight> mScalingZ;</codeline>
+<linenumber line="143"/><codeline> </codeline>
+<linenumber line="144"/><codeline> <highlight class="keywordtype">bool</highlight> mbVisibility;</codeline>
+<linenumber line="145"/><codeline> sprite::Sprite *mpSprite;</codeline>
+<linenumber line="146"/><codeline> <highlight class="keywordtype">int</highlight> mIndex;</codeline>
+<linenumber line="147"/><codeline> <ref idref="namespacesf_1_1system_1_1console_1a12">DrawMode</ref> mDrawMode;</codeline>
+<linenumber line="148"/><codeline> Obj* mpPrevious;</codeline>
+<linenumber line="149"/><codeline> Obj* mpNext;</codeline>
+<linenumber line="150"/><codeline></codeline>
+<linenumber line="151"/><codeline>};</codeline>
+<linenumber line="152"/><codeline> }</codeline>
+<linenumber line="153"/><codeline> }</codeline>
+<linenumber line="154"/><codeline>}</codeline>
+<linenumber line="155"/><codeline>}</codeline>
+<linenumber line="156"/><codeline><highlight class="preprocessor">#endif // !defined(AFX_OBJ3D_H__6F81DB0E_4F49_491D_9D09_E729679CE97A__INCLUDED_)</highlight></codeline>
+<linenumber line="157"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/Obj3D.h"/>
+ </compounddef>
+ <compounddef id="Obj3DL_8cpp" kind="file">
+ <compoundname>Obj3DL.cpp</compoundname>
+ <includes id="sfdebug_8h" local="yes">sfdebug.h</includes>
+ <includes local="no">string</includes>
+ <includes local="yes">stdio.h</includes>
+ <includes local="yes">math.h</includes>
+ <includes local="yes">system.h</includes>
+ <includes local="yes">console.h</includes>
+ <includes id="Obj3D_8h" local="yes">Obj3D.h</includes>
+ <includes id="Obj3DL_8h" local="yes">Obj3DL.h</includes>
+ <incdepgraph>
+ <node id="437">
+ <label>string</label>
+ </node>
+ <node id="436">
+ <label>sfdebug.h</label>
+ <link id="sfdebug_8h"/>
+ </node>
+ <node id="443">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="441">
+ <label>console.h</label>
+ </node>
+ <node id="442">
+ <label>Obj3D.h</label>
+ <link id="Obj3D_8h-source"/>
+ <childnode id="443" relation="public-inheritance">
+ </childnode>
+ <childnode id="444" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="439">
+ <label>math.h</label>
+ </node>
+ <node id="445">
+ <label>Obj3DL.h</label>
+ <link id="Obj3DL_8h-source"/>
+ <childnode id="443" relation="public-inheritance">
+ </childnode>
+ <childnode id="442" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="444">
+ <label>Obj.h</label>
+ <link id="Obj_8h-source"/>
+ <childnode id="443" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="435">
+ <label>Obj3DL.cpp</label>
+ <link id="Obj3DL.cpp"/>
+ <childnode id="436" relation="public-inheritance">
+ </childnode>
+ <childnode id="437" relation="public-inheritance">
+ </childnode>
+ <childnode id="438" relation="public-inheritance">
+ </childnode>
+ <childnode id="439" relation="public-inheritance">
+ </childnode>
+ <childnode id="440" relation="public-inheritance">
+ </childnode>
+ <childnode id="441" relation="public-inheritance">
+ </childnode>
+ <childnode id="442" relation="public-inheritance">
+ </childnode>
+ <childnode id="445" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="440">
+ <label>system.h</label>
+ </node>
+ <node id="438">
+ <label>stdio.h</label>
+ </node>
+ </incdepgraph>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// Obj3DL.cpp: Obj3DL \\81P\e\1?I\?\o\\81~\e\a\o\A!?\\81E\c\o</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// IuIo!\81\98</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// $Log: Obj3DL.cpp,v $</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:35 fujiwara</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">// Revision 1.3 2001/07/01 21:30:34 fujiwara</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// \a\a\e\e!?\\81P\A\\81\98\A\\81P\81C\81áA??\81E</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:49:33 fujiwara</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">#include "sfdebug.h"</highlight></codeline>
+<linenumber line="20"/><codeline></codeline>
+<linenumber line="21"/><codeline><highlight class="preprocessor">#include <string></highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="preprocessor">#include "stdio.h"</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="preprocessor">#include "math.h"</highlight></codeline>
+<linenumber line="24"/><codeline></codeline>
+<linenumber line="25"/><codeline><highlight class="preprocessor">#include "system.h"</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="preprocessor">#include "console.h"</highlight></codeline>
+<linenumber line="27"/><codeline></codeline>
+<linenumber line="28"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define new DEBUG_NEW</highlight></codeline>
+<linenumber line="30"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="32"/><codeline><highlight class="preprocessor">#include "Obj3D.h"</highlight></codeline>
+<linenumber line="33"/><codeline><highlight class="preprocessor">#include "Obj3DL.h"</highlight></codeline>
+<linenumber line="34"/><codeline></codeline>
+<linenumber line="36"/><codeline><highlight class="comment">// 1?AU/?AIC</highlight></codeline>
+<linenumber line="38"/><codeline><highlight class="comment">using namespace sf::system::console;</highlight></codeline>
+<linenumber line="39"/><codeline></codeline>
+<linenumber line="40"/><codeline>Obj3DL::Obj3DL() : Obj3D()</codeline>
+<linenumber line="41"/><codeline>{</codeline>
+<linenumber line="42"/><codeline> mColor = 0xffffffff;</codeline>
+<linenumber line="43"/><codeline> mSpecular = 0;</codeline>
+<linenumber line="44"/><codeline></codeline>
+<linenumber line="45"/><codeline> Obj::List::insertObj(<highlight class="keyword">this</highlight>);</codeline>
+<linenumber line="46"/><codeline>}</codeline>
+<linenumber line="47"/><codeline></codeline>
+<linenumber line="48"/><codeline>Obj3DL::~Obj3DL()</codeline>
+<linenumber line="49"/><codeline>{</codeline>
+<linenumber line="50"/><codeline> Obj::List::deleteObj(<highlight class="keyword">this</highlight>);</codeline>
+<linenumber line="51"/><codeline>}</codeline>
+<linenumber line="52"/><codeline></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/Obj3DL.cpp"/>
+ </compounddef>
+ <compounddef id="Obj3DL_8h" kind="file">
+ <compoundname>Obj3DL.h</compoundname>
+ <includes id="sf_8h" local="yes">sf.h</includes>
+ <includes id="Obj3D_8h" local="yes">Obj3D.h</includes>
+ <includedby id="AbstractSprite_8cpp" local="yes">AbstractSprite.cpp</includedby>
+ <includedby id="ConsoleImpl_8cpp" local="yes">ConsoleImpl.cpp</includedby>
+ <includedby id="Obj3DL_8cpp" local="yes">Obj3DL.cpp</includedby>
+ <includedby id="Sprite3D_8cpp" local="yes">Sprite3D.cpp</includedby>
+ <includedby id="SpriteMesh_8cpp" local="yes">SpriteMesh.cpp</includedby>
+ <incdepgraph>
+ <node id="448">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="449">
+ <label>Obj3D.h</label>
+ <link id="Obj3D_8h-source"/>
+ <childnode id="448" relation="public-inheritance">
+ </childnode>
+ <childnode id="450" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="447">
+ <label>Obj3DL.h</label>
+ <link id="Obj3DL.h"/>
+ <childnode id="448" relation="public-inheritance">
+ </childnode>
+ <childnode id="449" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="450">
+ <label>Obj.h</label>
+ <link id="Obj_8h-source"/>
+ <childnode id="448" relation="public-inheritance">
+ </childnode>
+ </node>
+ </incdepgraph>
+ <invincdepgraph>
+ <node id="453">
+ <label>ConsoleImpl.cpp</label>
+ <link id="ConsoleImpl_8cpp-source"/>
+ </node>
+ <node id="456">
+ <label>SpriteMesh.cpp</label>
+ <link id="SpriteMesh_8cpp-source"/>
+ </node>
+ <node id="451">
+ <label>Obj3DL.h</label>
+ <link id="Obj3DL.h"/>
+ <childnode id="452" relation="public-inheritance">
+ </childnode>
+ <childnode id="453" relation="public-inheritance">
+ </childnode>
+ <childnode id="454" relation="public-inheritance">
+ </childnode>
+ <childnode id="455" relation="public-inheritance">
+ </childnode>
+ <childnode id="456" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="454">
+ <label>Obj3DL.cpp</label>
+ <link id="Obj3DL_8cpp-source"/>
+ </node>
+ <node id="452">
+ <label>AbstractSprite.cpp</label>
+ <link id="AbstractSprite_8cpp-source"/>
+ </node>
+ <node id="455">
+ <label>Sprite3D.cpp</label>
+ <link id="Sprite3D_8cpp-source"/>
+ </node>
+ </invincdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1console">sf::system::console</innernamespace>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="Obj3DL_8h_1a0" virt="normal" prot="public">
+ <name>AFX_OBJ3DL_H__D55D6FF5_0A23_4FDD_A6A5_4C2EFE1B6E28__INCLUDED_</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Obj3DL.h" line="22" bodystart="22" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// Obj3DL.h: Obj3DL \\81P\e\1?I\?\o\?!?\O\\81\98\?\1</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// \e\?\A\\81\92\o\\81\8boN?sI?\E\e\o\1\O\c!?\aAoAA?I\1\\81~\e\?\E</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// IuIo!\81\98</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// $Log: Obj3DL.h,v $</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// Revision 1.2 2001/10/28 21:35:56 fujiwara</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:35 fujiwara</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:49:33 fujiwara</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="preprocessor">#if !defined(AFX_OBJ3DL_H__D55D6FF5_0A23_4FDD_A6A5_4C2EFE1B6E28__INCLUDED_)</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define AFX_OBJ3DL_H__D55D6FF5_0A23_4FDD_A6A5_4C2EFE1B6E28__INCLUDED_</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="preprocessor">#if _MSC_VER > 1000</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#pragma once</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif // _MSC_VER > 1000</highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include "sf.h"</highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="preprocessor">#include "Obj3D.h"</highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="keyword">extern</highlight> <highlight class="stringliteral">"C"</highlight> {</codeline>
+<linenumber line="30"/><codeline><highlight class="keyword">namespace </highlight>sf {</codeline>
+<linenumber line="31"/><codeline> <highlight class="keyword">namespace </highlight>system {</codeline>
+<linenumber line="32"/><codeline> <highlight class="keyword">namespace </highlight>console {</codeline>
+<linenumber line="33"/><codeline><highlight class="keyword">class </highlight>SFDLL Obj3DL : <highlight class="keyword">public</highlight> Obj3D </codeline>
+<linenumber line="34"/><codeline>{</codeline>
+<linenumber line="35"/><codeline><highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="36"/><codeline> Obj3DL();</codeline>
+<linenumber line="37"/><codeline> <highlight class="keyword">virtual</highlight> ~Obj3DL();</codeline>
+<linenumber line="38"/><codeline></codeline>
+<linenumber line="39"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> draw(){<highlight class="keywordflow">if</highlight>(visibility()) sprite()->draw(<highlight class="keyword">this</highlight>);};</codeline>
+<linenumber line="40"/><codeline> </codeline>
+<linenumber line="41"/><codeline> <highlight class="keyword">const</highlight> COLOR color()<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> mColor;}; </codeline>
+<linenumber line="42"/><codeline> <highlight class="keywordtype">void</highlight> color(<highlight class="keyword">const</highlight> COLOR value) { mColor = value;}; </codeline>
+<linenumber line="43"/><codeline> </codeline>
+<linenumber line="44"/><codeline> <highlight class="keyword">const</highlight> COLOR specular()<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> mSpecular;}; </codeline>
+<linenumber line="45"/><codeline> <highlight class="keywordtype">void</highlight> specular(<highlight class="keyword">const</highlight> COLOR value) { mSpecular = value;}; </codeline>
+<linenumber line="46"/><codeline></codeline>
+<linenumber line="47"/><codeline><highlight class="keyword">private</highlight>:</codeline>
+<linenumber line="48"/><codeline> COLOR mColor;</codeline>
+<linenumber line="49"/><codeline> COLOR mSpecular;</codeline>
+<linenumber line="50"/><codeline>};</codeline>
+<linenumber line="51"/><codeline> }</codeline>
+<linenumber line="52"/><codeline> }</codeline>
+<linenumber line="53"/><codeline>}</codeline>
+<linenumber line="54"/><codeline>}</codeline>
+<linenumber line="55"/><codeline><highlight class="preprocessor">#endif // !defined(AFX_OBJ3DL_H__D55D6FF5_0A23_4FDD_A6A5_4C2EFE1B6E28__INCLUDED_)</highlight></codeline>
+<linenumber line="56"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/Obj3DL.h"/>
+ </compounddef>
+ <compounddef id="ObjQuadrangle_8cpp" kind="file">
+ <compoundname>ObjQuadrangle.cpp</compoundname>
+ <includes id="sfdebug_8h" local="yes">sfdebug.h</includes>
+ <includes local="no">string</includes>
+ <includes local="yes">stdio.h</includes>
+ <includes local="yes">system.h</includes>
+ <includes local="yes">console.h</includes>
+ <includes id="Obj_8h" local="yes">Obj.h</includes>
+ <includes id="Obj2D_8h" local="yes">Obj2D.h</includes>
+ <includes id="ObjQuadrangle_8h" local="yes">ObjQuadrangle.h</includes>
+ <incdepgraph>
+ <node id="459">
+ <label>string</label>
+ </node>
+ <node id="458">
+ <label>sfdebug.h</label>
+ <link id="sfdebug_8h"/>
+ </node>
+ <node id="464">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="457">
+ <label>ObjQuadrangle.cpp</label>
+ <link id="ObjQuadrangle.cpp"/>
+ <childnode id="458" relation="public-inheritance">
+ </childnode>
+ <childnode id="459" relation="public-inheritance">
+ </childnode>
+ <childnode id="460" relation="public-inheritance">
+ </childnode>
+ <childnode id="461" relation="public-inheritance">
+ </childnode>
+ <childnode id="462" relation="public-inheritance">
+ </childnode>
+ <childnode id="463" relation="public-inheritance">
+ </childnode>
+ <childnode id="465" relation="public-inheritance">
+ </childnode>
+ <childnode id="466" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="462">
+ <label>console.h</label>
+ </node>
+ <node id="465">
+ <label>Obj2D.h</label>
+ <link id="Obj2D_8h-source"/>
+ <childnode id="464" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="463">
+ <label>Obj.h</label>
+ <link id="Obj_8h-source"/>
+ <childnode id="464" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="466">
+ <label>ObjQuadrangle.h</label>
+ <link id="ObjQuadrangle_8h-source"/>
+ <childnode id="464" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="461">
+ <label>system.h</label>
+ </node>
+ <node id="460">
+ <label>stdio.h</label>
+ </node>
+ </incdepgraph>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">// ObjQuadrangle.cpp: ObjQuadrangle \\81P\e\1?I\?\o\\81~\e\a\o\A!?\\81E\c\o</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// IuIo:</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// $Log: ObjQuadrangle.cpp,v $</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:35 fujiwara</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">// Revision 1.3 2001/07/01 21:30:34 fujiwara</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">// \a\a\e\e!?\\81P\A\\81\98\A\\81P\81C\81áA??\81E</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:49:24 fujiwara</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">// 2001/01/29 \a\a\e!?\e!?\\81P\81C!?DIN\e\?\O\e\e?IAE2A </highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment">// \a\a\e!?\e!?\\81P\81C!?DIN</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="preprocessor">#include "<ref idref="sfdebug_8h">sfdebug.h</ref>"</highlight></codeline>
+<linenumber line="22"/><codeline></codeline>
+<linenumber line="23"/><codeline><highlight class="preprocessor">#include <string></highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="preprocessor">#include "stdio.h"</highlight></codeline>
+<linenumber line="25"/><codeline></codeline>
+<linenumber line="26"/><codeline><highlight class="preprocessor">#include "system.h"</highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="preprocessor">#include "console.h"</highlight></codeline>
+<linenumber line="28"/><codeline></codeline>
+<linenumber line="29"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="30"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define new DEBUG_NEW</highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="32"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="33"/><codeline><highlight class="preprocessor">#include "Obj.h"</highlight></codeline>
+<linenumber line="34"/><codeline><highlight class="preprocessor">#include "Obj2D.h"</highlight></codeline>
+<linenumber line="35"/><codeline><highlight class="preprocessor">#include "ObjQuadrangle.h"</highlight></codeline>
+<linenumber line="36"/><codeline></codeline>
+<linenumber line="38"/><codeline><highlight class="comment">// 1?AU/?AIC</highlight></codeline>
+<linenumber line="40"/><codeline><highlight class="comment">using namespace sf::system::console;</highlight></codeline>
+<linenumber line="41"/><codeline></codeline>
+<linenumber line="42"/><codeline>ObjQuadrangle::ObjQuadrangle()</codeline>
+<linenumber line="43"/><codeline>{</codeline>
+<linenumber line="44"/><codeline> Obj::List::insertObj(<highlight class="keyword">this</highlight>);</codeline>
+<linenumber line="45"/><codeline></codeline>
+<linenumber line="46"/><codeline></codeline>
+<linenumber line="47"/><codeline>}</codeline>
+<linenumber line="48"/><codeline></codeline>
+<linenumber line="49"/><codeline>ObjQuadrangle::~ObjQuadrangle()</codeline>
+<linenumber line="50"/><codeline>{</codeline>
+<linenumber line="51"/><codeline> Obj::List::deleteObj(<highlight class="keyword">this</highlight>);</codeline>
+<linenumber line="52"/><codeline></codeline>
+<linenumber line="53"/><codeline>}</codeline>
+<linenumber line="54"/><codeline></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/ObjQuadrangle.cpp"/>
+ </compounddef>
+ <compounddef id="ObjQuadrangle_8h" kind="file">
+ <compoundname>ObjQuadrangle.h</compoundname>
+ <includes id="sf_8h" local="yes">sf.h</includes>
+ <includedby id="AbstractSprite_8cpp" local="yes">AbstractSprite.cpp</includedby>
+ <includedby id="BackGround_8cpp" local="yes">BackGround.cpp</includedby>
+ <includedby id="ConsoleImpl_8cpp" local="yes">ConsoleImpl.cpp</includedby>
+ <includedby id="ObjQuadrangle_8cpp" local="yes">ObjQuadrangle.cpp</includedby>
+ <includedby id="Sprite2D_8cpp" local="yes">Sprite2D.cpp</includedby>
+ <incdepgraph>
+ <node id="469">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="468">
+ <label>ObjQuadrangle.h</label>
+ <link id="ObjQuadrangle.h"/>
+ <childnode id="469" relation="public-inheritance">
+ </childnode>
+ </node>
+ </incdepgraph>
+ <invincdepgraph>
+ <node id="475">
+ <label>Sprite2D.cpp</label>
+ <link id="Sprite2D_8cpp-source"/>
+ </node>
+ <node id="472">
+ <label>BackGround.cpp</label>
+ <link id="BackGround_8cpp-source"/>
+ </node>
+ <node id="473">
+ <label>ConsoleImpl.cpp</label>
+ <link id="ConsoleImpl_8cpp-source"/>
+ </node>
+ <node id="474">
+ <label>ObjQuadrangle.cpp</label>
+ <link id="ObjQuadrangle_8cpp-source"/>
+ </node>
+ <node id="470">
+ <label>ObjQuadrangle.h</label>
+ <link id="ObjQuadrangle.h"/>
+ <childnode id="471" relation="public-inheritance">
+ </childnode>
+ <childnode id="472" relation="public-inheritance">
+ </childnode>
+ <childnode id="473" relation="public-inheritance">
+ </childnode>
+ <childnode id="474" relation="public-inheritance">
+ </childnode>
+ <childnode id="475" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="471">
+ <label>AbstractSprite.cpp</label>
+ <link id="AbstractSprite_8cpp-source"/>
+ </node>
+ </invincdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1console">sf::system::console</innernamespace>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="ObjQuadrangle_8h_1a0" virt="normal" prot="public">
+ <name>AFX_OBJQUADRANGLE_H__ED2DE6B9_7EFB_40FC_9DB2_F8B6D1338B88__INCLUDED_</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ObjQuadrangle.h" line="24" bodystart="24" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// ObjQuadrangle.h: ObjQuadrangle \\81P\e\1</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// \81âI3N\81EA?I\1\\81~\e\?\E?oEA2e?1?e???a?I\\81P\e\1?C?1!\81\92</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// $Log: ObjQuadrangle.h,v $</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// Revision 1.2 2001/10/28 21:35:56 fujiwara</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:35 fujiwara</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">// Revision 1.3 2001/07/09 20:30:09 fujiwara</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:49:24 fujiwara</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="preprocessor">#if !defined(AFX_OBJQUADRANGLE_H__ED2DE6B9_7EFB_40FC_9DB2_F8B6D1338B88__INCLUDED_)</highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define AFX_OBJQUADRANGLE_H__ED2DE6B9_7EFB_40FC_9DB2_F8B6D1338B88__INCLUDED_</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="preprocessor">#if _MSC_VER > 1000</highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#pragma once</highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif // _MSC_VER > 1000</highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include "sf.h"</highlight></codeline>
+<linenumber line="30"/><codeline><highlight class="keyword">extern</highlight> <highlight class="stringliteral">"C"</highlight> {</codeline>
+<linenumber line="31"/><codeline><highlight class="keyword">namespace </highlight>sf {</codeline>
+<linenumber line="32"/><codeline> <highlight class="keyword">namespace </highlight>system {</codeline>
+<linenumber line="33"/><codeline> <highlight class="keyword">namespace </highlight>console {</codeline>
+<linenumber line="34"/><codeline> </codeline>
+<linenumber line="35"/><codeline> <highlight class="comment">// ObjSquare ------------------------------------------------------------------</highlight></codeline>
+<linenumber line="36"/><codeline> <highlight class="keyword">class </highlight>SFDLL ObjQuadrangle : <highlight class="keyword">public</highlight> Obj2D</codeline>
+<linenumber line="37"/><codeline> {</codeline>
+<linenumber line="38"/><codeline> <highlight class="comment">// LIFECYCLE </highlight></codeline>
+<linenumber line="39"/><codeline> <highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="40"/><codeline> ObjQuadrangle();</codeline>
+<linenumber line="41"/><codeline> <highlight class="keyword">virtual</highlight> ~ObjQuadrangle();</codeline>
+<linenumber line="42"/><codeline> <highlight class="comment">// OPERATORS //</highlight></codeline>
+<linenumber line="43"/><codeline> <highlight class="comment">// OPERATIONS //</highlight></codeline>
+<linenumber line="44"/><codeline> <highlight class="comment">// EA2e?eIy</highlight></codeline>
+<linenumber line="45"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> draw(){<highlight class="keywordflow">if</highlight>(visibility()) sprite()->draw(<highlight class="keyword">this</highlight>);};</codeline>
+<linenumber line="46"/><codeline> <highlight class="comment">// ACCESS // </highlight></codeline>
+<linenumber line="47"/><codeline> <highlight class="comment">// AoAAEO1a?o?a?E?E!\81\91AoAA?dEo?oAA?e</highlight></codeline>
+<linenumber line="48"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> Vertex * <highlight class="keyword">const</highlight> vertex(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> i)<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> &mVertex[i];};</codeline>
+<linenumber line="49"/><codeline> <highlight class="keyword">virtual</highlight> Vertex * <highlight class="keyword">const</highlight> vertex(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> i){<highlight class="keywordflow">return</highlight> &mVertex[i];};</codeline>
+<linenumber line="50"/><codeline> <highlight class="keyword">private</highlight>:</codeline>
+<linenumber line="51"/><codeline> <highlight class="keyword">mutable</highlight> Vertex mVertex[4];<highlight class="comment">// AoAA?I?dEo</highlight></codeline>
+<linenumber line="52"/><codeline> };<highlight class="comment">// ObjQuadrangle</highlight></codeline>
+<linenumber line="53"/><codeline> }</codeline>
+<linenumber line="54"/><codeline> }</codeline>
+<linenumber line="55"/><codeline>}</codeline>
+<linenumber line="56"/><codeline>}</codeline>
+<linenumber line="57"/><codeline></codeline>
+<linenumber line="58"/><codeline><highlight class="preprocessor">#endif // !defined(AFX_OBJQUADRANGLE_H__ED2DE6B9_7EFB_40FC_9DB2_F8B6D1338B88__INCLUDED_)</highlight></codeline>
+<linenumber line="59"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/ObjQuadrangle.h"/>
+ </compounddef>
+ <compounddef id="ObjRectangle_8cpp" kind="file">
+ <compoundname>ObjRectangle.cpp</compoundname>
+ <includes id="sfdebug_8h" local="yes">sfdebug.h</includes>
+ <includes local="no">string</includes>
+ <includes local="yes">stdio.h</includes>
+ <includes local="yes">system.h</includes>
+ <includes local="yes">console.h</includes>
+ <includes id="Obj_8h" local="yes">Obj.h</includes>
+ <includes id="Obj2D_8h" local="yes">Obj2D.h</includes>
+ <includes id="ObjRectangle_8h" local="yes">ObjRectangle.h</includes>
+ <incdepgraph>
+ <node id="476">
+ <label>ObjRectangle.cpp</label>
+ <link id="ObjRectangle.cpp"/>
+ <childnode id="477" relation="public-inheritance">
+ </childnode>
+ <childnode id="478" relation="public-inheritance">
+ </childnode>
+ <childnode id="479" relation="public-inheritance">
+ </childnode>
+ <childnode id="480" relation="public-inheritance">
+ </childnode>
+ <childnode id="481" relation="public-inheritance">
+ </childnode>
+ <childnode id="482" relation="public-inheritance">
+ </childnode>
+ <childnode id="484" relation="public-inheritance">
+ </childnode>
+ <childnode id="485" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="478">
+ <label>string</label>
+ </node>
+ <node id="477">
+ <label>sfdebug.h</label>
+ <link id="sfdebug_8h"/>
+ </node>
+ <node id="483">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="481">
+ <label>console.h</label>
+ </node>
+ <node id="484">
+ <label>Obj2D.h</label>
+ <link id="Obj2D_8h-source"/>
+ <childnode id="483" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="485">
+ <label>ObjRectangle.h</label>
+ <link id="ObjRectangle_8h-source"/>
+ <childnode id="483" relation="public-inheritance">
+ </childnode>
+ <childnode id="482" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="482">
+ <label>Obj.h</label>
+ <link id="Obj_8h-source"/>
+ <childnode id="483" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="480">
+ <label>system.h</label>
+ </node>
+ <node id="479">
+ <label>stdio.h</label>
+ </node>
+ </incdepgraph>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// ObjRectangle.cpp: ObjRectangle \\81P\e\1?I\?\o\\81~\e\a\o\A!?\\81E\c\o</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// IuIo:</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// $Log: ObjRectangle.cpp,v $</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:35 fujiwara</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">// Revision 1.4 2001/07/09 20:30:09 fujiwara</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">// Revision 1.3 2001/07/01 21:30:34 fujiwara</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// \a\a\e\e!?\\81P\A\\81\98\A\\81P\81C\81áA??\81E</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:49:24 fujiwara</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">// 2001/01/29 \a\a\e!?\e!?\\81P\81C!?DIN\e\?\O\e\e?IAE2A </highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="comment">// \a\a\e!?\e!?\\81P\81C!?DIN</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="preprocessor">#include "<ref idref="sfdebug_8h">sfdebug.h</ref>"</highlight></codeline>
+<linenumber line="26"/><codeline></codeline>
+<linenumber line="27"/><codeline><highlight class="preprocessor">#include <string></highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="preprocessor">#include "stdio.h"</highlight></codeline>
+<linenumber line="29"/><codeline></codeline>
+<linenumber line="30"/><codeline><highlight class="preprocessor">#include "system.h"</highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="preprocessor">#include "console.h"</highlight></codeline>
+<linenumber line="32"/><codeline></codeline>
+<linenumber line="33"/><codeline></codeline>
+<linenumber line="34"/><codeline><highlight class="preprocessor">#include "Obj.h"</highlight></codeline>
+<linenumber line="35"/><codeline><highlight class="preprocessor">#include "Obj2D.h"</highlight></codeline>
+<linenumber line="36"/><codeline></codeline>
+<linenumber line="37"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="38"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define new DEBUG_NEW</highlight></codeline>
+<linenumber line="39"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="40"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="41"/><codeline><highlight class="preprocessor">#include "ObjRectangle.h"</highlight></codeline>
+<linenumber line="42"/><codeline></codeline>
+<linenumber line="44"/><codeline><highlight class="comment">// 1?AU/?AIC</highlight></codeline>
+<linenumber line="46"/><codeline><highlight class="comment">using namespace sf::system::console;</highlight></codeline>
+<linenumber line="47"/><codeline></codeline>
+<linenumber line="48"/><codeline>ObjRectangle::ObjRectangle()</codeline>
+<linenumber line="49"/><codeline>{</codeline>
+<linenumber line="50"/><codeline> mColor = 0;</codeline>
+<linenumber line="51"/><codeline> mSpecular = 0;</codeline>
+<linenumber line="52"/><codeline> Obj::List::insertObj(<highlight class="keyword">this</highlight>);</codeline>
+<linenumber line="53"/><codeline></codeline>
+<linenumber line="54"/><codeline>}</codeline>
+<linenumber line="55"/><codeline></codeline>
+<linenumber line="56"/><codeline>ObjRectangle::~ObjRectangle()</codeline>
+<linenumber line="57"/><codeline>{</codeline>
+<linenumber line="58"/><codeline> Obj::List::deleteObj(<highlight class="keyword">this</highlight>);</codeline>
+<linenumber line="59"/><codeline></codeline>
+<linenumber line="60"/><codeline>}</codeline>
+<linenumber line="61"/><codeline></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/ObjRectangle.cpp"/>
+ </compounddef>
+ <compounddef id="ObjRectangle_8h" kind="file">
+ <compoundname>ObjRectangle.h</compoundname>
+ <includes id="sf_8h" local="yes">sf.h</includes>
+ <includes id="Obj_8h" local="yes">Obj.h</includes>
+ <includedby id="AbstractSprite_8cpp" local="yes">AbstractSprite.cpp</includedby>
+ <includedby id="BackGround_8cpp" local="yes">BackGround.cpp</includedby>
+ <includedby id="ConsoleImpl_8cpp" local="yes">ConsoleImpl.cpp</includedby>
+ <includedby id="ObjRectangle_8cpp" local="yes">ObjRectangle.cpp</includedby>
+ <includedby id="Sprite2D_8cpp" local="yes">Sprite2D.cpp</includedby>
+ <incdepgraph>
+ <node id="488">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="487">
+ <label>ObjRectangle.h</label>
+ <link id="ObjRectangle.h"/>
+ <childnode id="488" relation="public-inheritance">
+ </childnode>
+ <childnode id="489" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="489">
+ <label>Obj.h</label>
+ <link id="Obj_8h-source"/>
+ <childnode id="488" relation="public-inheritance">
+ </childnode>
+ </node>
+ </incdepgraph>
+ <invincdepgraph>
+ <node id="494">
+ <label>ObjRectangle.cpp</label>
+ <link id="ObjRectangle_8cpp-source"/>
+ </node>
+ <node id="495">
+ <label>Sprite2D.cpp</label>
+ <link id="Sprite2D_8cpp-source"/>
+ </node>
+ <node id="492">
+ <label>BackGround.cpp</label>
+ <link id="BackGround_8cpp-source"/>
+ </node>
+ <node id="493">
+ <label>ConsoleImpl.cpp</label>
+ <link id="ConsoleImpl_8cpp-source"/>
+ </node>
+ <node id="490">
+ <label>ObjRectangle.h</label>
+ <link id="ObjRectangle.h"/>
+ <childnode id="491" relation="public-inheritance">
+ </childnode>
+ <childnode id="492" relation="public-inheritance">
+ </childnode>
+ <childnode id="493" relation="public-inheritance">
+ </childnode>
+ <childnode id="494" relation="public-inheritance">
+ </childnode>
+ <childnode id="495" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="491">
+ <label>AbstractSprite.cpp</label>
+ <link id="AbstractSprite_8cpp-source"/>
+ </node>
+ </invincdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1console">sf::system::console</innernamespace>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="ObjRectangle_8h_1a0" virt="normal" prot="public">
+ <name>AFX_ObjRectangle_H__50602D13_69D5_4210_BB85_14A2CA649768__INCLUDED_</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/ObjRectangle.h" line="20" bodystart="20" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// ObjRectangle.h: ObjRectangle \\81P\e\1?I\?\o\?!?\O\\81\98\?\1</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// $Log: ObjRectangle.h,v $</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// Revision 1.2 2001/10/28 21:35:56 fujiwara</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:35 fujiwara</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:49:24 fujiwara</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="preprocessor">#if !defined(AFX_ObjRectangle_H__50602D13_69D5_4210_BB85_14A2CA649768__INCLUDED_)</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define AFX_ObjRectangle_H__50602D13_69D5_4210_BB85_14A2CA649768__INCLUDED_</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="preprocessor">#if _MSC_VER > 1000</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#pragma once</highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif // _MSC_VER > 1000</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include "sf.h"</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="preprocessor">#include "Obj.h"</highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="keyword">extern</highlight> <highlight class="stringliteral">"C"</highlight> {</codeline>
+<linenumber line="28"/><codeline><highlight class="keyword">namespace </highlight>sf {</codeline>
+<linenumber line="29"/><codeline> <highlight class="keyword">namespace </highlight>system {</codeline>
+<linenumber line="30"/><codeline> <highlight class="keyword">namespace </highlight>console {</codeline>
+<linenumber line="31"/><codeline></codeline>
+<linenumber line="32"/><codeline> <highlight class="comment">// ObjNormal ------------------------------------------------------------------</highlight></codeline>
+<linenumber line="33"/><codeline> <highlight class="keyword">class </highlight>SFDLL ObjRectangle : <highlight class="keyword">public</highlight> Obj2D </codeline>
+<linenumber line="34"/><codeline> {</codeline>
+<linenumber line="35"/><codeline> <highlight class="comment">// LIFECYCLE </highlight></codeline>
+<linenumber line="36"/><codeline> <highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="37"/><codeline> ObjRectangle();<highlight class="comment">//</highlight></codeline>
+<linenumber line="38"/><codeline> <highlight class="keyword">virtual</highlight> ~ObjRectangle();</codeline>
+<linenumber line="39"/><codeline> <highlight class="comment">// OPERATORS //</highlight></codeline>
+<linenumber line="40"/><codeline> <highlight class="comment">// OPEARATIONS //</highlight></codeline>
+<linenumber line="41"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> draw(){<highlight class="keywordflow">if</highlight>(visibility()) sprite()->draw(<highlight class="keyword">this</highlight>);};</codeline>
+<linenumber line="42"/><codeline> <highlight class="comment">// ACCESS </highlight></codeline>
+<linenumber line="43"/><codeline></codeline>
+<linenumber line="44"/><codeline> <highlight class="keyword">const</highlight> COLOR color()<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> mColor;}; </codeline>
+<linenumber line="45"/><codeline> <highlight class="keywordtype">void</highlight> color(<highlight class="keyword">const</highlight> COLOR value) { mColor = value;}; </codeline>
+<linenumber line="46"/><codeline> </codeline>
+<linenumber line="47"/><codeline> <highlight class="keyword">const</highlight> COLOR specular()<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> mSpecular;}; </codeline>
+<linenumber line="48"/><codeline> <highlight class="keywordtype">void</highlight> specular(<highlight class="keyword">const</highlight> COLOR value) { mSpecular = value;}; </codeline>
+<linenumber line="49"/><codeline> </codeline>
+<linenumber line="50"/><codeline> <highlight class="keyword">private</highlight>:</codeline>
+<linenumber line="51"/><codeline> COLOR mColor;</codeline>
+<linenumber line="52"/><codeline> COLOR mSpecular;</codeline>
+<linenumber line="53"/><codeline> </codeline>
+<linenumber line="54"/><codeline> };<highlight class="comment">// ObjRectangle</highlight></codeline>
+<linenumber line="55"/><codeline> }</codeline>
+<linenumber line="56"/><codeline> }</codeline>
+<linenumber line="57"/><codeline>}</codeline>
+<linenumber line="58"/><codeline>}</codeline>
+<linenumber line="59"/><codeline><highlight class="preprocessor">#endif // !defined(AFX_ObjRectangle_H__50602D13_69D5_4210_BB85_14A2CA649768__INCLUDED_)</highlight></codeline>
+<linenumber line="60"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/ObjRectangle.h"/>
+ </compounddef>
+ <compounddef id="sfglib_2resource_8h" kind="file">
+ <compoundname>sfglib/resource.h</compoundname>
+ <includedby id="InputImpl_8cpp" local="yes">InputImpl.cpp</includedby>
+ <includedby id="sfglib_8cpp" local="yes">sfglib.cpp</includedby>
+ <includedby id="System_8cpp" local="yes">System.cpp</includedby>
+ <includedby id="SystemImpl_8cpp" local="yes">SystemImpl.cpp</includedby>
+ <invincdepgraph>
+ <node id="499">
+ <label>sfglib.cpp</label>
+ <link id="sfglib_8cpp-source"/>
+ </node>
+ <node id="497">
+ <label>sfglib/resource.h</label>
+ <link id="sfglib/resource.h"/>
+ <childnode id="498" relation="public-inheritance">
+ </childnode>
+ <childnode id="499" relation="public-inheritance">
+ </childnode>
+ <childnode id="500" relation="public-inheritance">
+ </childnode>
+ <childnode id="501" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="501">
+ <label>SystemImpl.cpp</label>
+ <link id="SystemImpl_8cpp-source"/>
+ </node>
+ <node id="498">
+ <label>InputImpl.cpp</label>
+ <link id="InputImpl_8cpp-source"/>
+ </node>
+ <node id="500">
+ <label>System.cpp</label>
+ <link id="System_8cpp-source"/>
+ </node>
+ </invincdepgraph>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="sfglib_2resource_8h_1a0" virt="normal" prot="public">
+ <name>IDI_ICON1</name>
+ <initializer>101</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/resource.h" line="5" bodystart="5" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="define" id="sfglib_2resource_8h_1a1" virt="normal" prot="public">
+ <name>IDR_MENU1</name>
+ <initializer>104</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/resource.h" line="6" bodystart="6" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="define" id="sfglib_2resource_8h_1a2" virt="normal" prot="public">
+ <name>IDD_ABOUT</name>
+ <initializer>105</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/resource.h" line="7" bodystart="7" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="define" id="sfglib_2resource_8h_1a3" virt="normal" prot="public">
+ <name>ID_RESET</name>
+ <initializer>40001</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/resource.h" line="8" bodystart="8" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="define" id="sfglib_2resource_8h_1a4" virt="normal" prot="public">
+ <name>ID_EXIT</name>
+ <initializer>40002</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/resource.h" line="9" bodystart="9" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="define" id="sfglib_2resource_8h_1a5" virt="normal" prot="public">
+ <name>ID_BGM</name>
+ <initializer>40003</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/resource.h" line="10" bodystart="10" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="define" id="sfglib_2resource_8h_1a6" virt="normal" prot="public">
+ <name>ID_EFFECT</name>
+ <initializer>40004</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/resource.h" line="11" bodystart="11" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="define" id="sfglib_2resource_8h_1a7" virt="normal" prot="public">
+ <name>ID_ABOUT</name>
+ <initializer>40005</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/resource.h" line="12" bodystart="12" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="define" id="sfglib_2resource_8h_1a8" virt="normal" prot="public">
+ <name>ID_DIK</name>
+ <initializer>40006</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/resource.h" line="13" bodystart="13" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="define" id="sfglib_2resource_8h_1a9" virt="normal" prot="public">
+ <name>ID_EDITGAME</name>
+ <initializer>40008</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/resource.h" line="14" bodystart="14" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//{{NO_DEPENDENCIES}}</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">// Microsoft Developer Studio generated include file.</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// Used by sfglib.rc</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="preprocessor">#define IDI_ICON1 101</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define IDR_MENU1 104</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define IDD_ABOUT 105</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define ID_RESET 40001</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define ID_EXIT 40002</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define ID_BGM 40003</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define ID_EFFECT 40004</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define ID_ABOUT 40005</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define ID_DIK 40006</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define ID_EDITGAME 40008</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// Next default values for new objects</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">// </highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="preprocessor">#ifdef APSTUDIO_INVOKED</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#ifndef APSTUDIO_READONLY_SYMBOLS</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define _APS_NEXT_RESOURCE_VALUE 109</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define _APS_NEXT_COMMAND_VALUE 40009</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define _APS_NEXT_CONTROL_VALUE 1009</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define _APS_NEXT_SYMED_VALUE 101</highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/resource.h"/>
+ </compounddef>
+ <compounddef id="resource_8h" kind="file">
+ <compoundname>resource.h</compoundname>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="resource_8h_1a0" virt="normal" prot="public">
+ <name>IDI_ICON1</name>
+ <initializer>101</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/resource.h" line="5" bodystart="5" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="define" id="resource_8h_1a1" virt="normal" prot="public">
+ <name>IDR_MENU1</name>
+ <initializer>104</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/resource.h" line="6" bodystart="6" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="define" id="resource_8h_1a2" virt="normal" prot="public">
+ <name>IDD_ABOUT</name>
+ <initializer>105</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/resource.h" line="7" bodystart="7" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="define" id="resource_8h_1a3" virt="normal" prot="public">
+ <name>ID_RESET</name>
+ <initializer>40001</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/resource.h" line="8" bodystart="8" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="define" id="resource_8h_1a4" virt="normal" prot="public">
+ <name>ID_EXIT</name>
+ <initializer>40002</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/resource.h" line="9" bodystart="9" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="define" id="resource_8h_1a5" virt="normal" prot="public">
+ <name>ID_BGM</name>
+ <initializer>40003</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/resource.h" line="10" bodystart="10" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="define" id="resource_8h_1a6" virt="normal" prot="public">
+ <name>ID_EFFECT</name>
+ <initializer>40004</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/resource.h" line="11" bodystart="11" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="define" id="resource_8h_1a7" virt="normal" prot="public">
+ <name>ID_ABOUT</name>
+ <initializer>40005</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/resource.h" line="12" bodystart="12" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="define" id="resource_8h_1a8" virt="normal" prot="public">
+ <name>ID_DIK</name>
+ <initializer>40006</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/resource.h" line="13" bodystart="13" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="define" id="resource_8h_1a9" virt="normal" prot="public">
+ <name>ID_EDITGAME</name>
+ <initializer>40008</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/resource.h" line="14" bodystart="14" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//{{NO_DEPENDENCIES}}</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">// Microsoft Developer Studio generated include file.</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// Used by genx.rc</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="preprocessor">#define IDI_ICON1 101</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define IDR_MENU1 104</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define IDD_ABOUT 105</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define ID_RESET 40001</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define ID_EXIT 40002</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define ID_BGM 40003</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define ID_EFFECT 40004</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define ID_ABOUT 40005</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define ID_DIK 40006</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define ID_EDITGAME 40008</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// Next default values for new objects</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">// </highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="preprocessor">#ifdef APSTUDIO_INVOKED</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#ifndef APSTUDIO_READONLY_SYMBOLS</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define _APS_NEXT_RESOURCE_VALUE 109</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define _APS_NEXT_COMMAND_VALUE 40009</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define _APS_NEXT_CONTROL_VALUE 1009</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define _APS_NEXT_SYMED_VALUE 101</highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/resource.h"/>
+ </compounddef>
+ <compounddef id="sf_8h" kind="file">
+ <compoundname>sf.h</compoundname>
+ <includedby id="System_8h" local="yes">System.h</includedby>
+ <includedby id="Obj_8h" local="yes">Obj.h</includedby>
+ <includedby id="Obj2D_8h" local="yes">Obj2D.h</includedby>
+ <includedby id="ObjRectangle_8h" local="yes">ObjRectangle.h</includedby>
+ <includedby id="ObjQuadrangle_8h" local="yes">ObjQuadrangle.h</includedby>
+ <includedby id="Obj3D_8h" local="yes">Obj3D.h</includedby>
+ <includedby id="Obj3DL_8h" local="yes">Obj3DL.h</includedby>
+ <includedby id="AbstractSprite_8h" local="yes">AbstractSprite.h</includedby>
+ <includedby id="ConsoleImpl_8h" local="yes">ConsoleImpl.h</includedby>
+ <includedby id="Console_8h" local="yes">Console.h</includedby>
+ <includedby id="BackGround_8h" local="yes">BackGround.h</includedby>
+ <includedby id="Sprite2D_8h" local="yes">Sprite2D.h</includedby>
+ <includedby id="Sprite3D_8h" local="yes">Sprite3D.h</includedby>
+ <includedby id="SpriteMesh_8h" local="yes">SpriteMesh.h</includedby>
+ <includedby id="Exception_8h" local="yes">Exception.h</includedby>
+ <includedby id="Input_8h" local="yes">Input.h</includedby>
+ <includedby id="SoundImpl_8h" local="yes">SoundImpl.h</includedby>
+ <includedby id="Sound_8h" local="yes">Sound.h</includedby>
+ <includedby id="InputImpl_8h" local="yes">InputImpl.h</includedby>
+ <includedby id="SystemImpl_8h" local="yes">SystemImpl.h</includedby>
+ <invincdepgraph>
+ <node id="510">
+ <label>sfglib.cpp</label>
+ <link id="sfglib_8cpp-source"/>
+ </node>
+ <node id="541">
+ <label>Input.cpp</label>
+ <link id="Input_8cpp-source"/>
+ </node>
+ <node id="511">
+ <label>SoundImpl.cpp</label>
+ <link id="SoundImpl_8cpp-source"/>
+ </node>
+ <node id="543">
+ <label>SoundImpl.h</label>
+ <link id="SoundImpl_8h"/>
+ <childnode id="509" relation="public-inheritance">
+ </childnode>
+ <childnode id="510" relation="public-inheritance">
+ </childnode>
+ <childnode id="511" relation="public-inheritance">
+ </childnode>
+ <childnode id="515" relation="public-inheritance">
+ </childnode>
+ <childnode id="516" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="540">
+ <label>Input.h</label>
+ <link id="Input_8h"/>
+ <childnode id="541" relation="public-inheritance">
+ </childnode>
+ <childnode id="542" relation="public-inheritance">
+ </childnode>
+ <childnode id="511" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="538">
+ <label>Exception.h</label>
+ <link id="Exception_8h"/>
+ <childnode id="539" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="520">
+ <label>ObjRectangle.cpp</label>
+ <link id="ObjRectangle_8cpp-source"/>
+ </node>
+ <node id="512">
+ <label>Sprite2D.cpp</label>
+ <link id="Sprite2D_8cpp-source"/>
+ </node>
+ <node id="506">
+ <label>System.h</label>
+ <link id="System_8h"/>
+ <childnode id="507" relation="public-inheritance">
+ </childnode>
+ <childnode id="508" relation="public-inheritance">
+ </childnode>
+ <childnode id="509" relation="public-inheritance">
+ </childnode>
+ <childnode id="510" relation="public-inheritance">
+ </childnode>
+ <childnode id="511" relation="public-inheritance">
+ </childnode>
+ <childnode id="512" relation="public-inheritance">
+ </childnode>
+ <childnode id="513" relation="public-inheritance">
+ </childnode>
+ <childnode id="514" relation="public-inheritance">
+ </childnode>
+ <childnode id="515" relation="public-inheritance">
+ </childnode>
+ <childnode id="516" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="519">
+ <label>BackGround.cpp</label>
+ <link id="BackGround_8cpp-source"/>
+ </node>
+ <node id="516">
+ <label>SystemImpl.cpp</label>
+ <link id="SystemImpl_8cpp-source"/>
+ </node>
+ <node id="533">
+ <label>ConsoleImpl.h</label>
+ <link id="ConsoleImpl_8h"/>
+ <childnode id="507" relation="public-inheritance">
+ </childnode>
+ <childnode id="508" relation="public-inheritance">
+ </childnode>
+ <childnode id="509" relation="public-inheritance">
+ </childnode>
+ <childnode id="510" relation="public-inheritance">
+ </childnode>
+ <childnode id="512" relation="public-inheritance">
+ </childnode>
+ <childnode id="513" relation="public-inheritance">
+ </childnode>
+ <childnode id="515" relation="public-inheritance">
+ </childnode>
+ <childnode id="516" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="509">
+ <label>InputImpl.cpp</label>
+ <link id="InputImpl_8cpp-source"/>
+ </node>
+ <node id="525">
+ <label>Obj.cpp</label>
+ <link id="Obj_8cpp-source"/>
+ </node>
+ <node id="535">
+ <label>Console.cpp</label>
+ <link id="Console_8cpp-source"/>
+ </node>
+ <node id="530">
+ <label>AbstractSprite.h</label>
+ <link id="AbstractSprite_8h-source"/>
+ <childnode id="507" relation="public-inheritance">
+ </childnode>
+ <childnode id="508" relation="public-inheritance">
+ </childnode>
+ <childnode id="531" relation="public-inheritance">
+ </childnode>
+ <childnode id="532" relation="public-inheritance">
+ </childnode>
+ <childnode id="509" relation="public-inheritance">
+ </childnode>
+ <childnode id="510" relation="public-inheritance">
+ </childnode>
+ <childnode id="512" relation="public-inheritance">
+ </childnode>
+ <childnode id="513" relation="public-inheritance">
+ </childnode>
+ <childnode id="514" relation="public-inheritance">
+ </childnode>
+ <childnode id="515" relation="public-inheritance">
+ </childnode>
+ <childnode id="516" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="546">
+ <label>SystemImpl.h</label>
+ <link id="SystemImpl_8h-source"/>
+ <childnode id="509" relation="public-inheritance">
+ </childnode>
+ <childnode id="510" relation="public-inheritance">
+ </childnode>
+ <childnode id="515" relation="public-inheritance">
+ </childnode>
+ <childnode id="516" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="532">
+ <label>SpriteMesh.h</label>
+ <link id="SpriteMesh_8h-source"/>
+ <childnode id="508" relation="public-inheritance">
+ </childnode>
+ <childnode id="514" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="508">
+ <label>ConsoleImpl.cpp</label>
+ <link id="ConsoleImpl_8cpp-source"/>
+ </node>
+ <node id="505">
+ <label>sf.h</label>
+ <link id="sf.h"/>
+ <childnode id="506" relation="public-inheritance">
+ </childnode>
+ <childnode id="517" relation="public-inheritance">
+ </childnode>
+ <childnode id="528" relation="public-inheritance">
+ </childnode>
+ <childnode id="518" relation="public-inheritance">
+ </childnode>
+ <childnode id="529" relation="public-inheritance">
+ </childnode>
+ <childnode id="521" relation="public-inheritance">
+ </childnode>
+ <childnode id="522" relation="public-inheritance">
+ </childnode>
+ <childnode id="530" relation="public-inheritance">
+ </childnode>
+ <childnode id="533" relation="public-inheritance">
+ </childnode>
+ <childnode id="534" relation="public-inheritance">
+ </childnode>
+ <childnode id="537" relation="public-inheritance">
+ </childnode>
+ <childnode id="536" relation="public-inheritance">
+ </childnode>
+ <childnode id="531" relation="public-inheritance">
+ </childnode>
+ <childnode id="532" relation="public-inheritance">
+ </childnode>
+ <childnode id="538" relation="public-inheritance">
+ </childnode>
+ <childnode id="540" relation="public-inheritance">
+ </childnode>
+ <childnode id="543" relation="public-inheritance">
+ </childnode>
+ <childnode id="544" relation="public-inheritance">
+ </childnode>
+ <childnode id="542" relation="public-inheritance">
+ </childnode>
+ <childnode id="546" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="527">
+ <label>ObjQuadrangle.cpp</label>
+ <link id="ObjQuadrangle_8cpp-source"/>
+ </node>
+ <node id="514">
+ <label>SpriteMesh.cpp</label>
+ <link id="SpriteMesh_8cpp-source"/>
+ </node>
+ <node id="537">
+ <label>BackGround.h</label>
+ <link id="BackGround_8h-source"/>
+ <childnode id="519" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="545">
+ <label>Sound.cpp</label>
+ <link id="Sound_8cpp-source"/>
+ </node>
+ <node id="534">
+ <label>Console.h</label>
+ <link id="Console_8h"/>
+ <childnode id="530" relation="public-inheritance">
+ </childnode>
+ <childnode id="533" relation="public-inheritance">
+ </childnode>
+ <childnode id="535" relation="public-inheritance">
+ </childnode>
+ <childnode id="536" relation="public-inheritance">
+ </childnode>
+ <childnode id="509" relation="public-inheritance">
+ </childnode>
+ <childnode id="510" relation="public-inheritance">
+ </childnode>
+ <childnode id="511" relation="public-inheritance">
+ </childnode>
+ <childnode id="515" relation="public-inheritance">
+ </childnode>
+ <childnode id="516" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="542">
+ <label>InputImpl.h</label>
+ <link id="InputImpl_8h"/>
+ <childnode id="509" relation="public-inheritance">
+ </childnode>
+ <childnode id="510" relation="public-inheritance">
+ </childnode>
+ <childnode id="515" relation="public-inheritance">
+ </childnode>
+ <childnode id="516" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="515">
+ <label>System.cpp</label>
+ <link id="System_8cpp-source"/>
+ </node>
+ <node id="544">
+ <label>Sound.h</label>
+ <link id="Sound_8h"/>
+ <childnode id="543" relation="public-inheritance">
+ </childnode>
+ <childnode id="545" relation="public-inheritance">
+ </childnode>
+ <childnode id="511" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="521">
+ <label>Obj3D.h</label>
+ <link id="Obj3D_8h-source"/>
+ <childnode id="507" relation="public-inheritance">
+ </childnode>
+ <childnode id="522" relation="public-inheritance">
+ </childnode>
+ <childnode id="508" relation="public-inheritance">
+ </childnode>
+ <childnode id="524" relation="public-inheritance">
+ </childnode>
+ <childnode id="523" relation="public-inheritance">
+ </childnode>
+ <childnode id="513" relation="public-inheritance">
+ </childnode>
+ <childnode id="514" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="528">
+ <label>Obj2D.h</label>
+ <link id="Obj2D_8h-source"/>
+ <childnode id="507" relation="public-inheritance">
+ </childnode>
+ <childnode id="519" relation="public-inheritance">
+ </childnode>
+ <childnode id="508" relation="public-inheritance">
+ </childnode>
+ <childnode id="526" relation="public-inheritance">
+ </childnode>
+ <childnode id="527" relation="public-inheritance">
+ </childnode>
+ <childnode id="520" relation="public-inheritance">
+ </childnode>
+ <childnode id="512" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="518">
+ <label>ObjRectangle.h</label>
+ <link id="ObjRectangle_8h-source"/>
+ <childnode id="507" relation="public-inheritance">
+ </childnode>
+ <childnode id="519" relation="public-inheritance">
+ </childnode>
+ <childnode id="508" relation="public-inheritance">
+ </childnode>
+ <childnode id="520" relation="public-inheritance">
+ </childnode>
+ <childnode id="512" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="531">
+ <label>Sprite3D.h</label>
+ <link id="Sprite3D_8h-source"/>
+ <childnode id="508" relation="public-inheritance">
+ </childnode>
+ <childnode id="513" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="539">
+ <label>Exception.cpp</label>
+ <link id="Exception_8cpp-source"/>
+ </node>
+ <node id="522">
+ <label>Obj3DL.h</label>
+ <link id="Obj3DL_8h-source"/>
+ <childnode id="507" relation="public-inheritance">
+ </childnode>
+ <childnode id="508" relation="public-inheritance">
+ </childnode>
+ <childnode id="523" relation="public-inheritance">
+ </childnode>
+ <childnode id="513" relation="public-inheritance">
+ </childnode>
+ <childnode id="514" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="536">
+ <label>Sprite2D.h</label>
+ <link id="Sprite2D_8h-source"/>
+ <childnode id="508" relation="public-inheritance">
+ </childnode>
+ <childnode id="512" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="524">
+ <label>Obj3D.cpp</label>
+ <link id="Obj3D_8cpp-source"/>
+ </node>
+ <node id="517">
+ <label>Obj.h</label>
+ <link id="Obj_8h-source"/>
+ <childnode id="507" relation="public-inheritance">
+ </childnode>
+ <childnode id="518" relation="public-inheritance">
+ </childnode>
+ <childnode id="521" relation="public-inheritance">
+ </childnode>
+ <childnode id="519" relation="public-inheritance">
+ </childnode>
+ <childnode id="508" relation="public-inheritance">
+ </childnode>
+ <childnode id="509" relation="public-inheritance">
+ </childnode>
+ <childnode id="525" relation="public-inheritance">
+ </childnode>
+ <childnode id="526" relation="public-inheritance">
+ </childnode>
+ <childnode id="527" relation="public-inheritance">
+ </childnode>
+ <childnode id="520" relation="public-inheritance">
+ </childnode>
+ <childnode id="510" relation="public-inheritance">
+ </childnode>
+ <childnode id="512" relation="public-inheritance">
+ </childnode>
+ <childnode id="513" relation="public-inheritance">
+ </childnode>
+ <childnode id="514" relation="public-inheritance">
+ </childnode>
+ <childnode id="515" relation="public-inheritance">
+ </childnode>
+ <childnode id="516" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="529">
+ <label>ObjQuadrangle.h</label>
+ <link id="ObjQuadrangle_8h-source"/>
+ <childnode id="507" relation="public-inheritance">
+ </childnode>
+ <childnode id="519" relation="public-inheritance">
+ </childnode>
+ <childnode id="508" relation="public-inheritance">
+ </childnode>
+ <childnode id="527" relation="public-inheritance">
+ </childnode>
+ <childnode id="512" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="523">
+ <label>Obj3DL.cpp</label>
+ <link id="Obj3DL_8cpp-source"/>
+ </node>
+ <node id="507">
+ <label>AbstractSprite.cpp</label>
+ <link id="AbstractSprite_8cpp-source"/>
+ </node>
+ <node id="513">
+ <label>Sprite3D.cpp</label>
+ <link id="Sprite3D_8cpp-source"/>
+ </node>
+ <node id="526">
+ <label>Obj2D.cpp</label>
+ <link id="Obj2D_8cpp-source"/>
+ </node>
+ </invincdepgraph>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="sf_8h_1a0" virt="normal" prot="public">
+ <name>SFDLL</name>
+ <initializer>__declspec(dllimport)</initializer>
+ <briefdescription>
+<para>
+Ao?A\?\o\\81P\e!?\EEE\81âs. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib//sf.h" line="17" bodystart="17" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="define" id="sf_8h_1a1" virt="normal" prot="public">
+ <name>SFDLL</name>
+ <initializer>__declspec(dllimport)</initializer>
+ <briefdescription>
+<para>
+Ao?A\?\o\\81P\e!?\EEE\81âs. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/sf.h" line="17" bodystart="17" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline></codeline>
+<linenumber line="11"/><codeline></codeline>
+<linenumber line="12"/><codeline><highlight class="preprocessor">#ifndef SF</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define SF</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#ifdef SFGLIB_EXPORTS </highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor"> #define SFDLL __declspec(dllexport)</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#else</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor"> #define SFDLL __declspec(dllimport)</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/sf.h"/>
+ </compounddef>
+ <compounddef id="sfdebug_8h" kind="file">
+ <compoundname>sfdebug.h</compoundname>
+ <includedby id="AbstractSprite_8cpp" local="yes">AbstractSprite.cpp</includedby>
+ <includedby id="BackGround_8cpp" local="yes">BackGround.cpp</includedby>
+ <includedby id="ConsoleImpl_8cpp" local="yes">ConsoleImpl.cpp</includedby>
+ <includedby id="Exception_8cpp" local="yes">Exception.cpp</includedby>
+ <includedby id="Input_8cpp" local="yes">Input.cpp</includedby>
+ <includedby id="InputImpl_8cpp" local="yes">InputImpl.cpp</includedby>
+ <includedby id="Main_8cpp" local="yes">Main.cpp</includedby>
+ <includedby id="Obj3D_8cpp" local="yes">Obj3D.cpp</includedby>
+ <includedby id="Obj3DL_8cpp" local="yes">Obj3DL.cpp</includedby>
+ <includedby id="ObjQuadrangle_8cpp" local="yes">ObjQuadrangle.cpp</includedby>
+ <includedby id="ObjRectangle_8cpp" local="yes">ObjRectangle.cpp</includedby>
+ <includedby id="sfglib_8cpp" local="yes">sfglib.cpp</includedby>
+ <includedby id="Sound_8cpp" local="yes">Sound.cpp</includedby>
+ <includedby id="SoundImpl_8cpp" local="yes">SoundImpl.cpp</includedby>
+ <includedby id="Sprite2D_8cpp" local="yes">Sprite2D.cpp</includedby>
+ <includedby id="Sprite3D_8cpp" local="yes">Sprite3D.cpp</includedby>
+ <includedby id="SpriteMesh_8cpp" local="yes">SpriteMesh.cpp</includedby>
+ <includedby id="SystemImpl_8cpp" local="yes">SystemImpl.cpp</includedby>
+ <includedby id="WinMain_8cpp" local="yes">WinMain.cpp</includedby>
+ <invincdepgraph>
+ <node id="560">
+ <label>sfglib.cpp</label>
+ <link id="sfglib_8cpp-source"/>
+ </node>
+ <node id="553">
+ <label>Input.cpp</label>
+ <link id="Input_8cpp-source"/>
+ </node>
+ <node id="562">
+ <label>SoundImpl.cpp</label>
+ <link id="SoundImpl_8cpp-source"/>
+ </node>
+ <node id="567">
+ <label>WinMain.cpp</label>
+ <link id="WinMain_8cpp-source"/>
+ </node>
+ <node id="559">
+ <label>ObjRectangle.cpp</label>
+ <link id="ObjRectangle_8cpp-source"/>
+ </node>
+ <node id="563">
+ <label>Sprite2D.cpp</label>
+ <link id="Sprite2D_8cpp-source"/>
+ </node>
+ <node id="550">
+ <label>BackGround.cpp</label>
+ <link id="BackGround_8cpp-source"/>
+ </node>
+ <node id="566">
+ <label>SystemImpl.cpp</label>
+ <link id="SystemImpl_8cpp-source"/>
+ </node>
+ <node id="554">
+ <label>InputImpl.cpp</label>
+ <link id="InputImpl_8cpp-source"/>
+ </node>
+ <node id="548">
+ <label>sfdebug.h</label>
+ <link id="sfdebug.h"/>
+ <childnode id="549" relation="public-inheritance">
+ </childnode>
+ <childnode id="550" relation="public-inheritance">
+ </childnode>
+ <childnode id="551" relation="public-inheritance">
+ </childnode>
+ <childnode id="552" relation="public-inheritance">
+ </childnode>
+ <childnode id="553" relation="public-inheritance">
+ </childnode>
+ <childnode id="554" relation="public-inheritance">
+ </childnode>
+ <childnode id="555" relation="public-inheritance">
+ </childnode>
+ <childnode id="556" relation="public-inheritance">
+ </childnode>
+ <childnode id="557" relation="public-inheritance">
+ </childnode>
+ <childnode id="558" relation="public-inheritance">
+ </childnode>
+ <childnode id="559" relation="public-inheritance">
+ </childnode>
+ <childnode id="560" relation="public-inheritance">
+ </childnode>
+ <childnode id="561" relation="public-inheritance">
+ </childnode>
+ <childnode id="562" relation="public-inheritance">
+ </childnode>
+ <childnode id="563" relation="public-inheritance">
+ </childnode>
+ <childnode id="564" relation="public-inheritance">
+ </childnode>
+ <childnode id="565" relation="public-inheritance">
+ </childnode>
+ <childnode id="566" relation="public-inheritance">
+ </childnode>
+ <childnode id="567" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="555">
+ <label>Main.cpp</label>
+ <link id="Main_8cpp-source"/>
+ </node>
+ <node id="551">
+ <label>ConsoleImpl.cpp</label>
+ <link id="ConsoleImpl_8cpp-source"/>
+ </node>
+ <node id="558">
+ <label>ObjQuadrangle.cpp</label>
+ <link id="ObjQuadrangle_8cpp-source"/>
+ </node>
+ <node id="565">
+ <label>SpriteMesh.cpp</label>
+ <link id="SpriteMesh_8cpp-source"/>
+ </node>
+ <node id="561">
+ <label>Sound.cpp</label>
+ <link id="Sound_8cpp-source"/>
+ </node>
+ <node id="552">
+ <label>Exception.cpp</label>
+ <link id="Exception_8cpp-source"/>
+ </node>
+ <node id="556">
+ <label>Obj3D.cpp</label>
+ <link id="Obj3D_8cpp-source"/>
+ </node>
+ <node id="557">
+ <label>Obj3DL.cpp</label>
+ <link id="Obj3DL_8cpp-source"/>
+ </node>
+ <node id="549">
+ <label>AbstractSprite.cpp</label>
+ <link id="AbstractSprite_8cpp-source"/>
+ </node>
+ <node id="564">
+ <label>Sprite3D.cpp</label>
+ <link id="Sprite3D_8cpp-source"/>
+ </node>
+ </invincdepgraph>
+ <briefdescription>
+<para>
+\C\D\A\\81\8bIN\e\?\O\e\e?IAE?s1t?sAe\83ÊA. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="author"><title>oi?O: </title><para>
+S.F. </para>
+</simplesect><simplesect kind="version"><title>\D!?\\81C\c\o: </title><para>
+$Id:</para>
+</simplesect><para>
+Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved. </para>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline></codeline>
+<linenumber line="11"/><codeline></codeline>
+<linenumber line="12"/><codeline><highlight class="preprocessor">#ifndef _SFDEBUG</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define _SFDEBUG</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="preprocessor"></highlight><highlight class="comment">// \a\a\e!?\e!?\\81P\81C!?DIN</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#ifndef _BORLAND</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define _CRTDBG_MAP_ALLOC</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include <stdlib.h></highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="preprocessor">#include <crtdbg.h></highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="preprocessor"> #define DEBUG_NEW new(_NORMAL_BLOCK,__FILE__,__LINE__)</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#else</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor"> #define DEBUG_NEW new</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/sfdebug.h"/>
+ </compounddef>
+ <compounddef id="sfglib_8cpp" kind="file">
+ <compoundname>sfglib.cpp</compoundname>
+ <includes local="yes">stdafx.h</includes>
+ <includes id="sfdebug_8h" local="yes">sfdebug.h</includes>
+ <includes local="yes">math.h</includes>
+ <includes local="no">list</includes>
+ <includes local="no">queue</includes>
+ <includes local="no">memory</includes>
+ <includes local="no">map</includes>
+ <includes local="no">iostream</includes>
+ <includes local="no">strstream</includes>
+ <includes local="yes">windows.h</includes>
+ <includes local="yes">windowsx.h</includes>
+ <includes local="yes">d3d8.h</includes>
+ <includes local="yes">d3dx8.h</includes>
+ <includes local="yes">dmusici.h</includes>
+ <includes local="yes">dinput.h</includes>
+ <includes id="dxerr8sf_8h" local="yes">dxerr8sf.h</includes>
+ <includes local="yes">exception.h</includes>
+ <includes id="sfglib_2resource_8h" local="yes">resource.h</includes>
+ <includes id="System_8h" local="yes">System.h</includes>
+ <includes id="Console_8h" local="yes">Console.h</includes>
+ <includes id="Obj_8h" local="yes">Obj.h</includes>
+ <includes id="singleton_8h" local="yes">singleton.h</includes>
+ <includes id="AbstractSprite_8h" local="yes">AbstractSprite.h</includes>
+ <includes id="ConsoleImpl_8h" local="yes">ConsoleImpl.h</includes>
+ <includes id="SoundImpl_8h" local="yes">SoundImpl.h</includes>
+ <includes id="InputImpl_8h" local="yes">InputImpl.h</includes>
+ <includes id="Main_8h" local="yes">Main.h</includes>
+ <includes id="SystemImpl_8h" local="yes">SystemImpl.h</includes>
+ <incdepgraph>
+ <node id="568">
+ <label>sfglib.cpp</label>
+ <link id="sfglib.cpp"/>
+ <childnode id="569" relation="public-inheritance">
+ </childnode>
+ <childnode id="570" relation="public-inheritance">
+ </childnode>
+ <childnode id="571" relation="public-inheritance">
+ </childnode>
+ <childnode id="572" relation="public-inheritance">
+ </childnode>
+ <childnode id="573" relation="public-inheritance">
+ </childnode>
+ <childnode id="574" relation="public-inheritance">
+ </childnode>
+ <childnode id="575" relation="public-inheritance">
+ </childnode>
+ <childnode id="576" relation="public-inheritance">
+ </childnode>
+ <childnode id="577" relation="public-inheritance">
+ </childnode>
+ <childnode id="578" relation="public-inheritance">
+ </childnode>
+ <childnode id="579" relation="public-inheritance">
+ </childnode>
+ <childnode id="580" relation="public-inheritance">
+ </childnode>
+ <childnode id="581" relation="public-inheritance">
+ </childnode>
+ <childnode id="582" relation="public-inheritance">
+ </childnode>
+ <childnode id="583" relation="public-inheritance">
+ </childnode>
+ <childnode id="584" relation="public-inheritance">
+ </childnode>
+ <childnode id="586" relation="public-inheritance">
+ </childnode>
+ <childnode id="587" relation="public-inheritance">
+ </childnode>
+ <childnode id="588" relation="public-inheritance">
+ </childnode>
+ <childnode id="591" relation="public-inheritance">
+ </childnode>
+ <childnode id="592" relation="public-inheritance">
+ </childnode>
+ <childnode id="593" relation="public-inheritance">
+ </childnode>
+ <childnode id="594" relation="public-inheritance">
+ </childnode>
+ <childnode id="595" relation="public-inheritance">
+ </childnode>
+ <childnode id="596" relation="public-inheritance">
+ </childnode>
+ <childnode id="598" relation="public-inheritance">
+ </childnode>
+ <childnode id="600" relation="public-inheritance">
+ </childnode>
+ <childnode id="601" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="572">
+ <label>list</label>
+ </node>
+ <node id="593">
+ <label>singleton.h</label>
+ <link id="singleton_8h"/>
+ <childnode id="574" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="585">
+ <label>dxerr8.h</label>
+ </node>
+ <node id="573">
+ <label>queue</label>
+ </node>
+ <node id="596">
+ <label>SoundImpl.h</label>
+ <link id="SoundImpl_8h"/>
+ <childnode id="590" relation="public-inheritance">
+ </childnode>
+ <childnode id="597" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="578">
+ <label>windows.h</label>
+ </node>
+ <node id="569">
+ <label>stdafx.h</label>
+ </node>
+ <node id="599">
+ <label>Input.h</label>
+ <link id="Input_8h"/>
+ <childnode id="590" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="577">
+ <label>strstream</label>
+ </node>
+ <node id="588">
+ <label>System.h</label>
+ <link id="System_8h"/>
+ <childnode id="589" relation="public-inheritance">
+ </childnode>
+ <childnode id="590" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="579">
+ <label>windowsx.h</label>
+ </node>
+ <node id="587">
+ <label>resource.h</label>
+ <link id="sfglib_2resource_8h-source"/>
+ </node>
+ <node id="582">
+ <label>dmusici.h</label>
+ </node>
+ <node id="589">
+ <label>string</label>
+ </node>
+ <node id="595">
+ <label>ConsoleImpl.h</label>
+ <link id="ConsoleImpl_8h"/>
+ <childnode id="590" relation="public-inheritance">
+ </childnode>
+ <childnode id="591" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="584">
+ <label>dxerr8sf.h</label>
+ <link id="dxerr8sf_8h-source"/>
+ <childnode id="585" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="570">
+ <label>sfdebug.h</label>
+ <link id="sfdebug_8h"/>
+ </node>
+ <node id="575">
+ <label>map</label>
+ </node>
+ <node id="594">
+ <label>AbstractSprite.h</label>
+ <link id="AbstractSprite_8h-source"/>
+ <childnode id="590" relation="public-inheritance">
+ </childnode>
+ <childnode id="591" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="601">
+ <label>SystemImpl.h</label>
+ <link id="SystemImpl_8h-source"/>
+ <childnode id="590" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="590">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="591">
+ <label>Console.h</label>
+ <link id="Console_8h"/>
+ <childnode id="574" relation="public-inheritance">
+ </childnode>
+ <childnode id="590" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="598">
+ <label>InputImpl.h</label>
+ <link id="InputImpl_8h"/>
+ <childnode id="590" relation="public-inheritance">
+ </childnode>
+ <childnode id="599" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="597">
+ <label>Sound.h</label>
+ <link id="Sound_8h"/>
+ <childnode id="590" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="571">
+ <label>math.h</label>
+ </node>
+ <node id="576">
+ <label>iostream</label>
+ </node>
+ <node id="592">
+ <label>Obj.h</label>
+ <link id="Obj_8h-source"/>
+ <childnode id="590" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="580">
+ <label>d3d8.h</label>
+ </node>
+ <node id="600">
+ <label>Main.h</label>
+ <link id="Main_8h-source"/>
+ </node>
+ <node id="586">
+ <label>exception.h</label>
+ </node>
+ <node id="581">
+ <label>d3dx8.h</label>
+ </node>
+ <node id="574">
+ <label>memory</label>
+ </node>
+ <node id="583">
+ <label>dinput.h</label>
+ </node>
+ </incdepgraph>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="sfglib_8cpp_1a0" virt="normal" prot="public">
+ <name>WIN32_LEAN_AND_MEAN</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/sfglib.cpp" line="14" bodystart="14" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="func">
+ <memberdef kind="function" id="sfglib_8cpp_1a1" virt="normal" prot="public" const="no" volatile="no">
+ <type>BOOL APIENTRY</type>
+ <name>DllMain</name>
+ <param>
+ <type>HANDLE</type>
+ <declname>hModule</declname>
+ </param>
+ <param>
+ <type>DWORD</type>
+ <declname>ul_reason_for_call</declname>
+ </param>
+ <param>
+ <type>LPVOID</type>
+ <declname>lpReserved</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/sfglib.cpp" line="56" bodystart="52" bodyend="58"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">// sfglib.cpp : DLL \\81\91\\81~\e\\81}!?\\81E\c\oIN?I\\81N\o\E\e \Y\?\o\E?oAe\83ÊA?\81E?T?1!\81\92</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="3"/><codeline></codeline>
+<linenumber line="4"/><codeline><highlight class="preprocessor">#pragma warning( disable : 4786 4251) //STL?I\81EU1d3\81\8b?\81E</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="preprocessor">#include "stdafx.h"</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="preprocessor">#include "<ref idref="sfdebug_8h">sfdebug.h</ref>"</highlight></codeline>
+<linenumber line="8"/><codeline></codeline>
+<linenumber line="9"/><codeline></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// SYSTEM INCLUDES</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">//#define INITGUID</highlight></codeline>
+<linenumber line="13"/><codeline></codeline>
+<linenumber line="14"/><codeline><highlight class="preprocessor">#define WIN32_LEAN_AND_MEAN</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="preprocessor">#include "math.h"</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="preprocessor">#include <list></highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="preprocessor">#include <queue></highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="preprocessor">#include <memory></highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="preprocessor">#include <map></highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="preprocessor">#include <iostream></highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="preprocessor">#include <strstream></highlight></codeline>
+<linenumber line="23"/><codeline></codeline>
+<linenumber line="24"/><codeline><highlight class="preprocessor">#include "windows.h"</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="preprocessor">#include "windowsx.h"</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="preprocessor">#include "d3d8.h"</highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="preprocessor">#include "d3dx8.h"</highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="preprocessor">#include "dmusici.h"</highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="preprocessor">#include "dinput.h"</highlight></codeline>
+<linenumber line="30"/><codeline><highlight class="preprocessor">#include "dxerr8sf.h"</highlight></codeline>
+<linenumber line="31"/><codeline></codeline>
+<linenumber line="32"/><codeline><highlight class="comment">// PROJECT INCLUDES</highlight></codeline>
+<linenumber line="33"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="34"/><codeline></codeline>
+<linenumber line="35"/><codeline><highlight class="preprocessor">#include "exception.h"</highlight></codeline>
+<linenumber line="36"/><codeline><highlight class="preprocessor">#include "resource.h"</highlight></codeline>
+<linenumber line="37"/><codeline><highlight class="preprocessor">#include "<ref idref="System_8h">System.h</ref>"</highlight></codeline>
+<linenumber line="38"/><codeline><highlight class="preprocessor">#include "<ref idref="Console_8h">Console.h</ref>"</highlight></codeline>
+<linenumber line="39"/><codeline><highlight class="preprocessor">#include "Obj.h"</highlight></codeline>
+<linenumber line="40"/><codeline><highlight class="preprocessor">#include "<ref idref="singleton_8h">singleton.h</ref>"</highlight></codeline>
+<linenumber line="41"/><codeline><highlight class="preprocessor">#include "AbstractSprite.h"</highlight></codeline>
+<linenumber line="42"/><codeline><highlight class="preprocessor">#include "<ref idref="ConsoleImpl_8h">ConsoleImpl.h</ref>"</highlight> </codeline>
+<linenumber line="43"/><codeline><highlight class="preprocessor">#include "<ref idref="SoundImpl_8h">SoundImpl.h</ref>"</highlight></codeline>
+<linenumber line="44"/><codeline><highlight class="preprocessor">#include "<ref idref="InputImpl_8h">InputImpl.h</ref>"</highlight></codeline>
+<linenumber line="45"/><codeline><highlight class="preprocessor">#include "Main.h"</highlight></codeline>
+<linenumber line="46"/><codeline><highlight class="preprocessor">#include "SystemImpl.h"</highlight></codeline>
+<linenumber line="47"/><codeline></codeline>
+<linenumber line="48"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="49"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define new DEBUG_NEW</highlight></codeline>
+<linenumber line="50"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="51"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="52"/><codeline>BOOL APIENTRY DllMain( HANDLE hModule, </codeline>
+<linenumber line="53"/><codeline> <ref idref="namespacesf_1a0">DWORD</ref> ul_reason_for_call, </codeline>
+<linenumber line="54"/><codeline> LPVOID lpReserved</codeline>
+<linenumber line="55"/><codeline> )</codeline>
+<linenumber line="56"/><codeline>{</codeline>
+<linenumber line="57"/><codeline> <highlight class="keywordflow">return</highlight> TRUE;</codeline>
+<linenumber line="58"/><codeline>}</codeline>
+<linenumber line="59"/><codeline></codeline>
+<linenumber line="60"/><codeline></codeline>
+<linenumber line="61"/><codeline></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/sfglib.cpp"/>
+ </compounddef>
+ <compounddef id="sfinterface_8h" kind="file">
+ <compoundname>sfinterface.h</compoundname>
+ <includedby id="SystemWin32_8h" local="yes">SystemWin32.h</includedby>
+ <invincdepgraph>
+ <node id="604">
+ <label>sfinterface.h</label>
+ <link id="sfinterface.h"/>
+ <childnode id="605" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="607">
+ <label>SystemImpl.cpp</label>
+ <link id="SystemImpl_8cpp-source"/>
+ </node>
+ <node id="606">
+ <label>InputImpl.cpp</label>
+ <link id="InputImpl_8cpp-source"/>
+ </node>
+ <node id="605">
+ <label>SystemWin32.h</label>
+ <link id="SystemWin32_8h"/>
+ <childnode id="606" relation="public-inheritance">
+ </childnode>
+ <childnode id="607" relation="public-inheritance">
+ </childnode>
+ <childnode id="608" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="608">
+ <label>SystemWin32.cpp</label>
+ <link id="SystemWin32_8cpp-source"/>
+ </node>
+ </invincdepgraph>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="sfinterface_8h_1a0" virt="normal" prot="public">
+ <name>SF_INTERFACE</name>
+ <initializer>__declspec(novtable)</initializer>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfinterface.h" line="36" bodystart="36" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// Scene.h: Scene \\81P\e\1?I\?\o\?!?\O\\81\98\?\1</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// \\81E!?\o?I\?\o\?!?\O\\81\98!?\1?E?E?e\\81P\e\1?C?1!\81\92</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// IuIo!\81\98</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// 2000/02/05 \3\a\o\EAE2A</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// $Log: Scene.h,v $</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">// Revision 1.2 2001/11/06 21:27:34 fujiwara</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">// AcEy11?\81EA\81\8b\D\A\\81P\\81\91\A\\81~</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">// Revision 1.1 2001/10/28 21:40:37 fujiwara</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">// DLL?EE\81Ê3a</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">// Revision 1.4 2001/07/09 20:30:09 fujiwara</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">// Revision 1.3 2001/07/01 01:03:44 fujiwara</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">// const ?I\81C\81áA??\81E</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">// CUAO\\81N\C\\81\92\??IAOAa\81ED2a</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:49:09 fujiwara</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="preprocessor">#ifndef SFINTERFACE_H</highlight></codeline>
+<linenumber line="30"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define SFINTERFACE_H</highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="32"/><codeline><highlight class="preprocessor">#if _MSC_VER > 1000</highlight></codeline>
+<linenumber line="33"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#pragma once</highlight></codeline>
+<linenumber line="34"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif // _MSC_VER > 1000</highlight></codeline>
+<linenumber line="35"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="36"/><codeline><highlight class="preprocessor">#define SF_INTERFACE __declspec(novtable)</highlight></codeline>
+<linenumber line="37"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="38"/><codeline><highlight class="preprocessor">#endif</highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfinterface.h"/>
+ </compounddef>
+ <compounddef id="singleton_8h" kind="file">
+ <compoundname>singleton.h</compoundname>
+ <includes local="no">memory</includes>
+ <includedby id="InputImpl_8cpp" local="yes">InputImpl.cpp</includedby>
+ <includedby id="sfglib_8cpp" local="yes">sfglib.cpp</includedby>
+ <includedby id="System_8cpp" local="yes">System.cpp</includedby>
+ <includedby id="SystemImpl_8cpp" local="yes">SystemImpl.cpp</includedby>
+ <incdepgraph>
+ <node id="609">
+ <label>singleton.h</label>
+ <link id="singleton.h"/>
+ <childnode id="610" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="610">
+ <label>memory</label>
+ </node>
+ </incdepgraph>
+ <invincdepgraph>
+ <node id="613">
+ <label>sfglib.cpp</label>
+ <link id="sfglib_8cpp-source"/>
+ </node>
+ <node id="611">
+ <label>singleton.h</label>
+ <link id="singleton.h"/>
+ <childnode id="612" relation="public-inheritance">
+ </childnode>
+ <childnode id="613" relation="public-inheritance">
+ </childnode>
+ <childnode id="614" relation="public-inheritance">
+ </childnode>
+ <childnode id="615" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="615">
+ <label>SystemImpl.cpp</label>
+ <link id="SystemImpl_8cpp-source"/>
+ </node>
+ <node id="612">
+ <label>InputImpl.cpp</label>
+ <link id="InputImpl_8cpp-source"/>
+ </node>
+ <node id="614">
+ <label>System.cpp</label>
+ <link id="System_8cpp-source"/>
+ </node>
+ </invincdepgraph>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="singleton_8h_1a0" virt="normal" prot="public">
+ <name>DECLARE_SINGLETON</name>
+ <param><defname>X</defname></param>
+ <initializer>public: \
+ static X* const instance(void); \
+ private: \
+ typedef std::auto_ptr<X> _Instance; \
+ friend _Instance; \
+ static _Instance msInstance;</initializer>
+ <briefdescription>
+<para>
+Ao?A\?\o\\81P\e!?\EEE\81âs\T\\81P\i \\81E\o\\81\8b\e\E\oAe\83ÊA\T\\81P\i. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>X</parametername><parameterdescription><para>
+Ae\83ÊA?1?e\\81P\e\1I? </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/singleton.h" line="25" bodystart="19" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="define" id="singleton_8h_1a1" virt="normal" prot="public">
+ <name>IMPLEMENT_SINGLETON</name>
+ <param><defname>X</defname></param>
+ <param><defname>Y</defname></param>
+ <initializer>X::_Instance X::msInstance; \
+ X* const X::instance(void) \
+ { \
+ if(!msInstance.get()){ \
+ msInstance = _Instance(new Y); \
+ } \
+ return msInstance.get(); \
+ }</initializer>
+ <briefdescription>
+<para>
+\\81E\o\\81\8b\e\E\o?AAo\T\\81P\i. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+<parameterlist kind="param"><title>\81\8bu?o: </title><parametername>X</parametername><parameterdescription><para>
+Ae\83ÊA?1?e\\81P\e\1I?!EAI?i?I?AAo\\81P\e\1) </para>
+</parameterdescription><parametername>Y</parametername><parameterdescription><para>
+\?\o\1\?\o\1?oA\81CAR?1?e\\81P\e\1I?(AI?i?IX?EA\81}?\81C!E </para>
+</parameterdescription></parameterlist></para>
+ </detaileddescription>
+ <location file="J:/project/sfglib/singleton.h" line="54" bodystart="46" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+Singleton\N\?!?\o?I?AAo?o?I?\81E?c?e???a?I\T\\81P\iAe\83ÊA\O\!\?\e. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+STL?Iauto_ptr ?o\81âEIN?\81E?A???T?1!\81\92!! </para>
+<simplesect kind="author"><title>oi?O: </title><para>
+S.F. </para>
+</simplesect><simplesect kind="version"><title>\D!?\\81C\c\o: </title><para>
+$Id:</para>
+</simplesect><para>
+Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved. </para>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline></codeline>
+<linenumber line="12"/><codeline></codeline>
+<linenumber line="13"/><codeline><highlight class="preprocessor">#ifndef _SINGLETON</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define _SINGLETON</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include <memory></highlight></codeline>
+<linenumber line="16"/><codeline></codeline>
+<linenumber line="18"/><codeline></codeline>
+<linenumber line="19" refid="singleton_8h_1a0"/><codeline><highlight class="preprocessor">#define DECLARE_SINGLETON(X) \</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="preprocessor"> public: \</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="preprocessor"> static X* const instance(void); \</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="preprocessor"> private: \</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="preprocessor"> typedef std::auto_ptr<X> _Instance; \</highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="preprocessor"> friend _Instance; \</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="preprocessor"> static _Instance msInstance;</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#ifdef _BORLAND </highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="29"/><codeline></codeline>
+<linenumber line="31"/><codeline><highlight class="preprocessor">#define IMPLEMENT_SINGLETON(X,Y) \</highlight></codeline>
+<linenumber line="32"/><codeline><highlight class="preprocessor"> X::_Instance X::msInstance; \</highlight></codeline>
+<linenumber line="33"/><codeline><highlight class="preprocessor"> X* const X::instance(void) \</highlight></codeline>
+<linenumber line="34"/><codeline><highlight class="preprocessor"> { \</highlight></codeline>
+<linenumber line="35"/><codeline><highlight class="preprocessor"> if(!msInstance.get()){ \</highlight></codeline>
+<linenumber line="36"/><codeline><highlight class="preprocessor"> _Instance temp(new Y); \</highlight></codeline>
+<linenumber line="37"/><codeline><highlight class="preprocessor"> msInstance = temp; \</highlight></codeline>
+<linenumber line="38"/><codeline><highlight class="preprocessor"> } \</highlight></codeline>
+<linenumber line="39"/><codeline><highlight class="preprocessor"> return msInstance.get(); \</highlight></codeline>
+<linenumber line="40"/><codeline><highlight class="preprocessor"> }</highlight></codeline>
+<linenumber line="41"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#else</highlight></codeline>
+<linenumber line="42"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="44"/><codeline></codeline>
+<linenumber line="46" refid="singleton_8h_1a1"/><codeline><highlight class="preprocessor">#define IMPLEMENT_SINGLETON(X,Y) \</highlight></codeline>
+<linenumber line="47"/><codeline><highlight class="preprocessor"> X::_Instance X::msInstance; \</highlight></codeline>
+<linenumber line="48"/><codeline><highlight class="preprocessor"> X* const X::instance(void) \</highlight></codeline>
+<linenumber line="49"/><codeline><highlight class="preprocessor"> { \</highlight></codeline>
+<linenumber line="50"/><codeline><highlight class="preprocessor"> if(!msInstance.get()){ \</highlight></codeline>
+<linenumber line="51"/><codeline><highlight class="preprocessor"> msInstance = _Instance(new Y); \</highlight></codeline>
+<linenumber line="52"/><codeline><highlight class="preprocessor"> } \</highlight></codeline>
+<linenumber line="53"/><codeline><highlight class="preprocessor"> return msInstance.get(); \</highlight></codeline>
+<linenumber line="54"/><codeline><highlight class="preprocessor"> }</highlight></codeline>
+<linenumber line="55"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="56"/><codeline><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="57"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/singleton.h"/>
+ </compounddef>
+ <compounddef id="Sound_8cpp" kind="file">
+ <compoundname>Sound.cpp</compoundname>
+ <includes id="sfdebug_8h" local="yes">sfdebug.h</includes>
+ <includes local="yes">stdio.h</includes>
+ <includes local="yes">system.h</includes>
+ <includes id="Sound_8h" local="yes">Sound.h</includes>
+ <incdepgraph>
+ <node id="617">
+ <label>sfdebug.h</label>
+ <link id="sfdebug_8h"/>
+ </node>
+ <node id="621">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="616">
+ <label>Sound.cpp</label>
+ <link id="Sound.cpp"/>
+ <childnode id="617" relation="public-inheritance">
+ </childnode>
+ <childnode id="618" relation="public-inheritance">
+ </childnode>
+ <childnode id="619" relation="public-inheritance">
+ </childnode>
+ <childnode id="620" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="620">
+ <label>Sound.h</label>
+ <link id="Sound_8h"/>
+ <childnode id="621" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="619">
+ <label>system.h</label>
+ </node>
+ <node id="618">
+ <label>stdio.h</label>
+ </node>
+ </incdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1sound">sf::system::sound</innernamespace>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// Sound Ae?Y\\81P\e\1</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// IuIo:</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// $Log: Sound.cpp,v $</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:35 fujiwara</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">// Revision 1.3 2001/07/01 21:30:34 fujiwara</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// \a\a\e\e!?\\81P\A\\81\98\A\\81P\81C\81áA??\81E</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:49:02 fujiwara</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">// 2001/01/29 \a\a\e!?\e!?\\81P\81C!?DIN\e\?\O\e\e?IAE2A </highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="comment">// \a\a\e!?\e!?\\81P\81C!?DIN</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="preprocessor">#include "<ref idref="sfdebug_8h">sfdebug.h</ref>"</highlight></codeline>
+<linenumber line="23"/><codeline></codeline>
+<linenumber line="24"/><codeline><highlight class="preprocessor">#include "stdio.h"</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="preprocessor">#include "system.h"</highlight></codeline>
+<linenumber line="26"/><codeline></codeline>
+<linenumber line="27"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define new DEBUG_NEW</highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="30"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="preprocessor">#include "<ref idref="Sound_8h">Sound.h</ref>"</highlight></codeline>
+<linenumber line="32"/><codeline><highlight class="keyword">namespace </highlight>sf {</codeline>
+<linenumber line="33"/><codeline> <highlight class="keyword">namespace </highlight>system {</codeline>
+<linenumber line="34" refid="namespacesf_1_1system_1_1sound_1"/><codeline> <highlight class="keyword">namespace </highlight>sound {</codeline>
+<linenumber line="35"/><codeline></codeline>
+<linenumber line="36"/><codeline>Sound::Sound()</codeline>
+<linenumber line="37"/><codeline>{</codeline>
+<linenumber line="38"/><codeline></codeline>
+<linenumber line="39"/><codeline>}<highlight class="comment">// Sound()</highlight></codeline>
+<linenumber line="40"/><codeline></codeline>
+<linenumber line="41"/><codeline>Sound::~Sound()</codeline>
+<linenumber line="42"/><codeline>{</codeline>
+<linenumber line="43"/><codeline></codeline>
+<linenumber line="44"/><codeline>}<highlight class="comment">// ~Sound()</highlight></codeline>
+<linenumber line="45"/><codeline></codeline>
+<linenumber line="46"/><codeline> }<highlight class="comment">// sound</highlight></codeline>
+<linenumber line="47"/><codeline> }<highlight class="comment">// system</highlight></codeline>
+<linenumber line="48"/><codeline>}<highlight class="comment">// sf</highlight></codeline>
+<linenumber line="49"/><codeline></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/Sound.cpp"/>
+ </compounddef>
+ <compounddef id="Sound_8h" kind="file">
+ <compoundname>Sound.h</compoundname>
+ <includes id="sf_8h" local="yes">sf.h</includes>
+ <includedby id="SoundImpl_8h" local="yes">SoundImpl.h</includedby>
+ <includedby id="Sound_8cpp" local="yes">Sound.cpp</includedby>
+ <includedby id="SoundImpl_8cpp" local="yes">SoundImpl.cpp</includedby>
+ <incdepgraph>
+ <node id="624">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="623">
+ <label>Sound.h</label>
+ <link id="Sound.h"/>
+ <childnode id="624" relation="public-inheritance">
+ </childnode>
+ </node>
+ </incdepgraph>
+ <invincdepgraph>
+ <node id="628">
+ <label>sfglib.cpp</label>
+ <link id="sfglib_8cpp-source"/>
+ </node>
+ <node id="629">
+ <label>SoundImpl.cpp</label>
+ <link id="SoundImpl_8cpp-source"/>
+ </node>
+ <node id="626">
+ <label>SoundImpl.h</label>
+ <link id="SoundImpl_8h"/>
+ <childnode id="627" relation="public-inheritance">
+ </childnode>
+ <childnode id="628" relation="public-inheritance">
+ </childnode>
+ <childnode id="629" relation="public-inheritance">
+ </childnode>
+ <childnode id="630" relation="public-inheritance">
+ </childnode>
+ <childnode id="631" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="631">
+ <label>SystemImpl.cpp</label>
+ <link id="SystemImpl_8cpp-source"/>
+ </node>
+ <node id="627">
+ <label>InputImpl.cpp</label>
+ <link id="InputImpl_8cpp-source"/>
+ </node>
+ <node id="632">
+ <label>Sound.cpp</label>
+ <link id="Sound_8cpp-source"/>
+ </node>
+ <node id="630">
+ <label>System.cpp</label>
+ <link id="System_8cpp-source"/>
+ </node>
+ <node id="625">
+ <label>Sound.h</label>
+ <link id="Sound.h"/>
+ <childnode id="626" relation="public-inheritance">
+ </childnode>
+ <childnode id="632" relation="public-inheritance">
+ </childnode>
+ <childnode id="629" relation="public-inheritance">
+ </childnode>
+ </node>
+ </invincdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1sound">sf::system::sound</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1sound_1_1volume">sf::system::sound::volume</innernamespace>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="Sound_8h_1a0" virt="normal" prot="public">
+ <name>AFX_SOUND_H__87CC9C63_C71A_4276_9ACF_912DC2A4DD44__INCLUDED_</name>
+ <briefdescription>
+<para>
+Ao?A\?\o\\81P\e!?\EEE\81âs\T\\81P\i. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sound.h" line="13" bodystart="13" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+\\83Ê\|\o\E?t?e?I\\81P\e\1!\81\91Ae?o!\81\91EN?oAe\83ÊA?o1O?|!\81\92. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="author"><title>oi?O: </title><para>
+S.F. </para>
+</simplesect><simplesect kind="version"><title>\D!?\\81C\c\o: </title><para>
+$Id:</para>
+</simplesect><para>
+Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved. </para>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline></codeline>
+<linenumber line="11"/><codeline></codeline>
+<linenumber line="12"/><codeline><highlight class="preprocessor">#if !defined(AFX_SOUND_H__87CC9C63_C71A_4276_9ACF_912DC2A4DD44__INCLUDED_)</highlight></codeline>
+<linenumber line="13" refid="Sound_8h_1a0"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define AFX_SOUND_H__87CC9C63_C71A_4276_9ACF_912DC2A4DD44__INCLUDED_</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="preprocessor">#if _MSC_VER > 1000</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#pragma once</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif // _MSC_VER > 1000</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include "sf.h"</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="keyword">extern</highlight> <highlight class="stringliteral">"C"</highlight> {</codeline>
+<linenumber line="20"/><codeline><highlight class="keyword">namespace </highlight>sf{</codeline>
+<linenumber line="21"/><codeline> <highlight class="keyword">namespace </highlight>system {</codeline>
+<linenumber line="23"/><codeline> <highlight class="keyword">namespace </highlight>sound {</codeline>
+<linenumber line="24"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="namespacesf_1_1system_1_1sound_1a0">OBJECT_MAX</ref> = 128;</codeline>
+<linenumber line="25"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="namespacesf_1_1system_1_1sound_1a1">LOAD_ERROR</ref> = -1; </codeline>
+<linenumber line="26"/><codeline></codeline>
+<linenumber line="27"/><codeline> <highlight class="keyword">enum</highlight> <ref idref="namespacesf_1_1system_1_1sound_1a5">TYPE</ref></codeline>
+<linenumber line="28"/><codeline> {</codeline>
+<linenumber line="29"/><codeline> <ref idref="namespacesf_1_1system_1_1sound_1a5a2">NONE</ref>,</codeline>
+<linenumber line="30"/><codeline> <ref idref="namespacesf_1_1system_1_1sound_1a5a3">TEST</ref></codeline>
+<linenumber line="31"/><codeline> };</codeline>
+<linenumber line="32"/><codeline></codeline>
+<linenumber line="34" refid="namespacesf_1_1system_1_1sound_1_1volume_1"/><codeline> <highlight class="keyword">namespace </highlight>volume {</codeline>
+<linenumber line="35"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="namespacesf_1_1system_1_1sound_1_1volume_1a0">MAX</ref> = 0;</codeline>
+<linenumber line="36"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="namespacesf_1_1system_1_1sound_1_1volume_1a1">MIN</ref> = -9600;</codeline>
+<linenumber line="37"/><codeline> };</codeline>
+<linenumber line="38"/><codeline></codeline>
+<linenumber line="41" refid="classsf_1_1system_1_1sound_1_1Sound_1"/><codeline> <highlight class="keyword">class </highlight>Sound </codeline>
+<linenumber line="42"/><codeline> {</codeline>
+<linenumber line="43"/><codeline> <highlight class="comment">// LIFECYCLE //</highlight></codeline>
+<linenumber line="44"/><codeline> <highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="46" refid="classsf_1_1system_1_1sound_1_1Sound_1a0"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1Sound_1a0">Sound</ref>(){};</codeline>
+<linenumber line="48" refid="classsf_1_1system_1_1sound_1_1Sound_1a1"/><codeline> <highlight class="keyword">virtual</highlight> <ref idref="classsf_1_1system_1_1sound_1_1Sound_1a1">~Sound</ref>(){};</codeline>
+<linenumber line="49"/><codeline> <highlight class="comment">// OPERATORS //</highlight></codeline>
+<linenumber line="50"/><codeline> <highlight class="comment">// OPERATIONS //</highlight></codeline>
+<linenumber line="53"/><codeline><highlight class="comment"></highlight> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1sound_1_1Sound_1a2">initialize</ref>(<highlight class="keywordtype">void</highlight>) = 0;</codeline>
+<linenumber line="54"/><codeline> </codeline>
+<linenumber line="58"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1sound_1_1Sound_1a3">load</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> ObjNo,<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> * <highlight class="keyword">const</highlight> pFileName) = 0;</codeline>
+<linenumber line="59"/><codeline></codeline>
+<linenumber line="64"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="classsf_1_1system_1_1sound_1_1Sound_1a3">load</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> * <highlight class="keyword">const</highlight> pFileName) = 0;</codeline>
+<linenumber line="65"/><codeline></codeline>
+<linenumber line="68"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1sound_1_1Sound_1a5">unload</ref>() = 0;</codeline>
+<linenumber line="69"/><codeline></codeline>
+<linenumber line="75"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1sound_1_1Sound_1a6">play</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> ObjNo,<highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref> Repeat,<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bPrimary,<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bSync) = 0;</codeline>
+<linenumber line="76"/><codeline></codeline>
+<linenumber line="79"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1sound_1_1Sound_1a7">stop</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> ObjNo = 0) = 0;</codeline>
+<linenumber line="80"/><codeline></codeline>
+<linenumber line="83"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1sound_1_1Sound_1a8">update</ref>() = 0;</codeline>
+<linenumber line="84"/><codeline> <highlight class="comment">// ACCESS //</highlight></codeline>
+<linenumber line="85"/><codeline></codeline>
+<linenumber line="88"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1sound_1_1Sound_1a10">masterVolume</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> value) = 0;</codeline>
+<linenumber line="89"/><codeline></codeline>
+<linenumber line="92"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="classsf_1_1system_1_1sound_1_1Sound_1a10">masterVolume</ref>() <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="93"/><codeline> </codeline>
+<linenumber line="96"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1sound_1_1Sound_1a12">volumeMax</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> value) = 0;</codeline>
+<linenumber line="97"/><codeline></codeline>
+<linenumber line="100"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="classsf_1_1system_1_1sound_1_1Sound_1a12">volumeMax</ref>() <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="101"/><codeline> </codeline>
+<linenumber line="102"/><codeline> <highlight class="comment">// INQUIRY //</highlight></codeline>
+<linenumber line="103"/><codeline> </codeline>
+<linenumber line="107"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1sound_1_1Sound_1a13">isEnabled</ref>(<highlight class="keywordtype">void</highlight>) <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="108"/><codeline></codeline>
+<linenumber line="109"/><codeline> };</codeline>
+<linenumber line="110"/><codeline> }</codeline>
+<linenumber line="111"/><codeline> }</codeline>
+<linenumber line="112"/><codeline>}</codeline>
+<linenumber line="113"/><codeline>}</codeline>
+<linenumber line="114"/><codeline><highlight class="preprocessor">#endif // !defined(AFX_SOUND_H__87CC9C63_C71A_4276_9ACF_912DC2A4DD44__INCLUDED_)</highlight></codeline>
+<linenumber line="115"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/Sound.h"/>
+ </compounddef>
+ <compounddef id="SoundImpl_8cpp" kind="file">
+ <compoundname>SoundImpl.cpp</compoundname>
+ <includes id="sfdebug_8h" local="yes">sfdebug.h</includes>
+ <includes local="yes">windows.h</includes>
+ <includes local="yes">windowsx.h</includes>
+ <includes local="no">dmusici.h</includes>
+ <includes id="dxerr8sf_8h" local="yes">dxerr8sf.h</includes>
+ <includes local="no">string</includes>
+ <includes local="yes">exception.h</includes>
+ <includes id="System_8h" local="yes">System.h</includes>
+ <includes id="Input_8h" local="yes">Input.h</includes>
+ <includes id="Sound_8h" local="yes">Sound.h</includes>
+ <includes id="Console_8h" local="yes">Console.h</includes>
+ <includes id="SoundImpl_8h" local="yes">SoundImpl.h</includes>
+ <incdepgraph>
+ <node id="639">
+ <label>dxerr8.h</label>
+ </node>
+ <node id="633">
+ <label>SoundImpl.cpp</label>
+ <link id="SoundImpl.cpp"/>
+ <childnode id="634" relation="public-inheritance">
+ </childnode>
+ <childnode id="635" relation="public-inheritance">
+ </childnode>
+ <childnode id="636" relation="public-inheritance">
+ </childnode>
+ <childnode id="637" relation="public-inheritance">
+ </childnode>
+ <childnode id="638" relation="public-inheritance">
+ </childnode>
+ <childnode id="640" relation="public-inheritance">
+ </childnode>
+ <childnode id="641" relation="public-inheritance">
+ </childnode>
+ <childnode id="642" relation="public-inheritance">
+ </childnode>
+ <childnode id="644" relation="public-inheritance">
+ </childnode>
+ <childnode id="645" relation="public-inheritance">
+ </childnode>
+ <childnode id="646" relation="public-inheritance">
+ </childnode>
+ <childnode id="648" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="648">
+ <label>SoundImpl.h</label>
+ <link id="SoundImpl_8h"/>
+ <childnode id="643" relation="public-inheritance">
+ </childnode>
+ <childnode id="645" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="635">
+ <label>windows.h</label>
+ </node>
+ <node id="644">
+ <label>Input.h</label>
+ <link id="Input_8h"/>
+ <childnode id="643" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="642">
+ <label>System.h</label>
+ <link id="System_8h"/>
+ <childnode id="640" relation="public-inheritance">
+ </childnode>
+ <childnode id="643" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="636">
+ <label>windowsx.h</label>
+ </node>
+ <node id="637">
+ <label>dmusici.h</label>
+ </node>
+ <node id="640">
+ <label>string</label>
+ </node>
+ <node id="638">
+ <label>dxerr8sf.h</label>
+ <link id="dxerr8sf_8h-source"/>
+ <childnode id="639" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="634">
+ <label>sfdebug.h</label>
+ <link id="sfdebug_8h"/>
+ </node>
+ <node id="643">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="646">
+ <label>Console.h</label>
+ <link id="Console_8h"/>
+ <childnode id="647" relation="public-inheritance">
+ </childnode>
+ <childnode id="643" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="645">
+ <label>Sound.h</label>
+ <link id="Sound_8h"/>
+ <childnode id="643" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="641">
+ <label>exception.h</label>
+ </node>
+ <node id="647">
+ <label>memory</label>
+ </node>
+ </incdepgraph>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="SoundImpl_8cpp_1a0" virt="normal" prot="public">
+ <name>WIN32_LEAN_AND_MEAN</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.cpp" line="34" bodystart="34" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// Sound Ae?Y\\81P\e\1?I?AAo\\81P\e\1?C?\81\91?eSoundImpl!\81\91SoundImpl::Queue?I?AAo?C?1!\81\92</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// Win32!\81\91DirectX8?C?AAo?\83Ê?i?T?1!\81\92</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// IuIo:</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// $Log: SoundImpl.cpp,v $</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:36 fujiwara</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// Revision 1.5 2001/07/09 20:30:09 fujiwara</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// Revision 1.4 2001/07/01 21:30:34 fujiwara</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">// \a\a\e\e!?\\81P\A\\81\98\A\\81P\81C\81áA??\81E</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// Revision 1.3 2001/05/13 20:04:24 fujiwara</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">// \a\a\e!?\e!?\\81P?\81ÊE\81PA\81C?\81E???I?C?e?e?u?\81P!\81\92</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">// ?\81áAA?I\\83Ê\|\o\E\A\1\E</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:49:01 fujiwara</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="comment">// 2001/01/29 \a\a\e!?\e!?\\81P\81C!?DIN\e\?\O\e\e?IAE2A </highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="comment">// \a\a\e!?\e!?\\81P\81C!?DIN</highlight></codeline>
+<linenumber line="30"/><codeline><highlight class="preprocessor">#include "<ref idref="sfdebug_8h">sfdebug.h</ref>"</highlight></codeline>
+<linenumber line="31"/><codeline></codeline>
+<linenumber line="32"/><codeline><highlight class="comment">// SYSTEM INCLUDES</highlight></codeline>
+<linenumber line="33"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="34"/><codeline><highlight class="preprocessor">#define WIN32_LEAN_AND_MEAN</highlight></codeline>
+<linenumber line="35"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include "windows.h"</highlight></codeline>
+<linenumber line="36"/><codeline><highlight class="preprocessor">#include "windowsx.h"</highlight></codeline>
+<linenumber line="37"/><codeline><highlight class="preprocessor">#include <dmusici.h></highlight></codeline>
+<linenumber line="38"/><codeline><highlight class="preprocessor">#include "dxerr8sf.h"</highlight></codeline>
+<linenumber line="39"/><codeline><highlight class="preprocessor">#include <string></highlight></codeline>
+<linenumber line="40"/><codeline></codeline>
+<linenumber line="41"/><codeline><highlight class="comment">// PROJECT INCLUDES</highlight></codeline>
+<linenumber line="42"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="43"/><codeline><highlight class="preprocessor">#include "exception.h"</highlight></codeline>
+<linenumber line="44"/><codeline><highlight class="preprocessor">#include "<ref idref="System_8h">System.h</ref>"</highlight></codeline>
+<linenumber line="45"/><codeline><highlight class="preprocessor">#include "<ref idref="Input_8h">Input.h</ref>"</highlight></codeline>
+<linenumber line="46"/><codeline><highlight class="preprocessor">#include "<ref idref="Sound_8h">Sound.h</ref>"</highlight></codeline>
+<linenumber line="47"/><codeline><highlight class="preprocessor">#include "<ref idref="Console_8h">Console.h</ref>"</highlight></codeline>
+<linenumber line="48"/><codeline></codeline>
+<linenumber line="49"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="50"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define new DEBUG_NEW</highlight></codeline>
+<linenumber line="51"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="52"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="53"/><codeline><highlight class="preprocessor">#include "<ref idref="SoundImpl_8h">SoundImpl.h</ref>"</highlight></codeline>
+<linenumber line="54"/><codeline></codeline>
+<linenumber line="55"/><codeline><highlight class="comment">// namespace </highlight></codeline>
+<linenumber line="56"/><codeline><highlight class="keyword">using</highlight> <highlight class="keyword">namespace </highlight>sf::system::sound;</codeline>
+<linenumber line="57"/><codeline></codeline>
+<linenumber line="58"/><codeline><highlight class="comment">// ---------------------------------------------------------------------------</highlight></codeline>
+<linenumber line="59"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="60"/><codeline><highlight class="comment">// SoundImpl \\81P\e\1</highlight></codeline>
+<linenumber line="61"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="62"/><codeline><highlight class="comment">// ---------------------------------------------------------------------------</highlight></codeline>
+<linenumber line="63"/><codeline></codeline>
+<linenumber line="64"/><codeline><highlight class="comment">// \3\o\1\E\e\\81P\? -------------------------------------------------------------</highlight></codeline>
+<linenumber line="65" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1a0"/><codeline>SoundImpl::SoundImpl() </codeline>
+<linenumber line="66"/><codeline>{</codeline>
+<linenumber line="67"/><codeline> mbEnabled = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="68"/><codeline> mpLoader = NULL;</codeline>
+<linenumber line="69"/><codeline> mpPerformance = NULL;</codeline>
+<linenumber line="70"/><codeline> mpDefaultAudioPath = NULL;</codeline>
+<linenumber line="71"/><codeline></codeline>
+<linenumber line="72"/><codeline> <highlight class="keywordflow">for</highlight>(<highlight class="keywordtype">int</highlight> i = 0;i < <ref idref="namespacesf_1_1system_1_1sound_1a0">OBJECT_MAX</ref>;i++)</codeline>
+<linenumber line="73"/><codeline> {</codeline>
+<linenumber line="74"/><codeline> mpSegment[i] = NULL;</codeline>
+<linenumber line="75"/><codeline> mpAudioPath[i] = NULL;</codeline>
+<linenumber line="76"/><codeline> mbSegInUse[i] = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="77"/><codeline> mFileName[i] = <highlight class="stringliteral">""</highlight>;</codeline>
+<linenumber line="78"/><codeline> }</codeline>
+<linenumber line="79"/><codeline> </codeline>
+<linenumber line="80"/><codeline> mVolumeMax = volume::MAX;</codeline>
+<linenumber line="81"/><codeline> mMasterVolume = volume::MIN;</codeline>
+<linenumber line="82"/><codeline></codeline>
+<linenumber line="83"/><codeline> initialize();</codeline>
+<linenumber line="84"/><codeline> </codeline>
+<linenumber line="85"/><codeline>}<highlight class="comment">// SoundImpl()</highlight></codeline>
+<linenumber line="86"/><codeline></codeline>
+<linenumber line="87"/><codeline><highlight class="comment">// \C\1\E\e\\81P\? ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="88" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1a1"/><codeline>SoundImpl::~SoundImpl()</codeline>
+<linenumber line="89"/><codeline>{</codeline>
+<linenumber line="90"/><codeline> </codeline>
+<linenumber line="91"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a4">unload</ref>();</codeline>
+<linenumber line="92"/><codeline> </codeline>
+<linenumber line="93"/><codeline> <highlight class="keywordflow">if</highlight>(mpDefaultAudioPath)</codeline>
+<linenumber line="94"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o4">mpDefaultAudioPath</ref>->Release();</codeline>
+<linenumber line="95"/><codeline></codeline>
+<linenumber line="96"/><codeline> <highlight class="keywordflow">if</highlight>(mpLoader){</codeline>
+<linenumber line="97"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o0">mpLoader</ref>->Release();</codeline>
+<linenumber line="98"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o0">mpLoader</ref> = NULL;</codeline>
+<linenumber line="99"/><codeline> }</codeline>
+<linenumber line="100"/><codeline> </codeline>
+<linenumber line="101"/><codeline> <highlight class="keywordflow">if</highlight>(mpPerformance)</codeline>
+<linenumber line="102"/><codeline> {</codeline>
+<linenumber line="103"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o1">mpPerformance</ref>->CloseDown();</codeline>
+<linenumber line="104"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o1">mpPerformance</ref>->Release();</codeline>
+<linenumber line="105"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o1">mpPerformance</ref> = NULL;</codeline>
+<linenumber line="106"/><codeline> </codeline>
+<linenumber line="107"/><codeline> }</codeline>
+<linenumber line="108"/><codeline>} <highlight class="comment">// ~SoundImpl()</highlight></codeline>
+<linenumber line="109"/><codeline></codeline>
+<linenumber line="110"/><codeline><highlight class="comment">// ?e\81Lu2? ---------------------------------------------------------------------</highlight></codeline>
+<linenumber line="111" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1a13"/><codeline><highlight class="keywordtype">void</highlight> SoundImpl::initialize(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="112"/><codeline>{</codeline>
+<linenumber line="113"/><codeline> </codeline>
+<linenumber line="114"/><codeline> HRESULT hr = E_FAIL;</codeline>
+<linenumber line="115"/><codeline> std::string errTmp = <highlight class="stringliteral">"Sound Initialize Error:"</highlight>;</codeline>
+<linenumber line="116"/><codeline></codeline>
+<linenumber line="117"/><codeline> CoCreateInstance(CLSID_DirectMusicLoader, NULL, </codeline>
+<linenumber line="118"/><codeline> CLSCTX_INPROC, IID_IDirectMusicLoader8,</codeline>
+<linenumber line="119"/><codeline> (<highlight class="keywordtype">void</highlight>**)&<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o0">mpLoader</ref>);</codeline>
+<linenumber line="120"/><codeline> </codeline>
+<linenumber line="121"/><codeline> CoCreateInstance(CLSID_DirectMusicPerformance, NULL,</codeline>
+<linenumber line="122"/><codeline> CLSCTX_INPROC, IID_IDirectMusicPerformance8,</codeline>
+<linenumber line="123"/><codeline> (<highlight class="keywordtype">void</highlight>**)&<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o1">mpPerformance</ref> );</codeline>
+<linenumber line="124"/><codeline> </codeline>
+<linenumber line="125"/><codeline> <highlight class="comment">// Initialize the performance with the standard audio path.</highlight></codeline>
+<linenumber line="126"/><codeline> <highlight class="comment">// This initializes both DirectMusic and DirectSound and </highlight></codeline>
+<linenumber line="127"/><codeline> <highlight class="comment">// sets up the synthesizer. </highlight></codeline>
+<linenumber line="128"/><codeline> hr = <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o1">mpPerformance</ref>->InitAudio( NULL, NULL, NULL, </codeline>
+<linenumber line="129"/><codeline> DMUS_APATH_SHARED_STEREOPLUSREVERB, 64,</codeline>
+<linenumber line="130"/><codeline> 0, NULL );</codeline>
+<linenumber line="131"/><codeline> </codeline>
+<linenumber line="132"/><codeline> <highlight class="keywordflow">if</highlight>(FAILED(hr)){</codeline>
+<linenumber line="133"/><codeline> errTmp += DXGetErrorString8(hr);</codeline>
+<linenumber line="134"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(errTmp,__FILE__,__LINE__);</codeline>
+<linenumber line="135"/><codeline> }</codeline>
+<linenumber line="136"/><codeline> </codeline>
+<linenumber line="137"/><codeline> <highlight class="keywordtype">char</highlight> strPath[MAX_PATH] = <highlight class="stringliteral">".\\media\\"</highlight>;</codeline>
+<linenumber line="138"/><codeline> </codeline>
+<linenumber line="139"/><codeline> <highlight class="comment">// Tell DirectMusic where the default search path is</highlight></codeline>
+<linenumber line="140"/><codeline> WCHAR wstrSearchPath[MAX_PATH];</codeline>
+<linenumber line="141"/><codeline> MultiByteToWideChar( CP_ACP, 0, strPath, -1, </codeline>
+<linenumber line="142"/><codeline> wstrSearchPath, MAX_PATH );</codeline>
+<linenumber line="143"/><codeline> </codeline>
+<linenumber line="144"/><codeline> hr = <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o0">mpLoader</ref>->SetSearchDirectory( GUID_DirectMusicAllTypes, </codeline>
+<linenumber line="145"/><codeline> wstrSearchPath, FALSE );</codeline>
+<linenumber line="146"/><codeline> </codeline>
+<linenumber line="147"/><codeline> <highlight class="keywordflow">if</highlight>(FAILED(hr)){</codeline>
+<linenumber line="148"/><codeline> errTmp += DXGetErrorString8(hr);</codeline>
+<linenumber line="149"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(errTmp,__FILE__,__LINE__);</codeline>
+<linenumber line="150"/><codeline> }</codeline>
+<linenumber line="151"/><codeline> </codeline>
+<linenumber line="152"/><codeline> <highlight class="comment">// \C\O\c\e\E?I\a!?\C\\81\92\a\N\1?IAsAe</highlight></codeline>
+<linenumber line="153"/><codeline> hr = <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o1">mpPerformance</ref>->CreateStandardAudioPath(</codeline>
+<linenumber line="154"/><codeline> DMUS_APATH_DYNAMIC_STEREO , </codeline>
+<linenumber line="155"/><codeline> 64, </codeline>
+<linenumber line="156"/><codeline> TRUE,</codeline>
+<linenumber line="157"/><codeline> &<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o4">mpDefaultAudioPath</ref>);</codeline>
+<linenumber line="158"/><codeline> </codeline>
+<linenumber line="159"/><codeline> <highlight class="keywordflow">if</highlight>(FAILED(hr)){</codeline>
+<linenumber line="160"/><codeline> errTmp += DXGetErrorString8(hr);</codeline>
+<linenumber line="161"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(errTmp,__FILE__,__LINE__);</codeline>
+<linenumber line="162"/><codeline> }</codeline>
+<linenumber line="163"/><codeline> </codeline>
+<linenumber line="164"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o4">mpDefaultAudioPath</ref>->SetVolume(<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o7">mMasterVolume</ref>,0);</codeline>
+<linenumber line="165"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o10">mbEnabled</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="166"/><codeline>}<highlight class="comment">// initialize() </highlight></codeline>
+<linenumber line="167"/><codeline></codeline>
+<linenumber line="168"/><codeline><highlight class="comment">// \\83Ê\|\o\E?IoAA\81C -----------------------------------------------</highlight></codeline>
+<linenumber line="169" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1a5"/><codeline><highlight class="keywordtype">void</highlight> SoundImpl::play(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> ObjNo,<highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref> Repeat,<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bPrimary,<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bSync)</codeline>
+<linenumber line="170"/><codeline>{</codeline>
+<linenumber line="171"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a12">isEnabled</ref>() && !<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o6">mbSegInUse</ref>[ObjNo] && <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o2">mpSegment</ref>[ObjNo])</codeline>
+<linenumber line="172"/><codeline> {</codeline>
+<linenumber line="173"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o9">mQueue</ref>.<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1a3">set</ref>(ObjNo,Repeat,bPrimary,bSync))</codeline>
+<linenumber line="174"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o6">mbSegInUse</ref>[ObjNo] = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="175"/><codeline> }</codeline>
+<linenumber line="176"/><codeline> </codeline>
+<linenumber line="177"/><codeline>}<highlight class="comment">// play</highlight></codeline>
+<linenumber line="178"/><codeline></codeline>
+<linenumber line="179"/><codeline><highlight class="comment">// \-\a!??\81á?e\\83Ê\|\o\ENo?o?e?e?D?\81E!\81\91oAA\81C?1?e -----------------------</highlight></codeline>
+<linenumber line="180" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1a7"/><codeline><highlight class="keywordtype">void</highlight> SoundImpl::update()</codeline>
+<linenumber line="181"/><codeline>{</codeline>
+<linenumber line="182"/><codeline> <highlight class="keywordflow">if</highlight>(!<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o9">mQueue</ref>.<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1a5">isEmpty</ref>()){</codeline>
+<linenumber line="183"/><codeline> Queue::Data data;</codeline>
+<linenumber line="184"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o9">mQueue</ref>.<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1a2">get</ref>(data);</codeline>
+<linenumber line="185"/><codeline></codeline>
+<linenumber line="186"/><codeline> <highlight class="keywordflow">if</highlight>(!<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a12">isEnabled</ref>())</codeline>
+<linenumber line="187"/><codeline> <highlight class="keywordflow">return</highlight>;</codeline>
+<linenumber line="188"/><codeline></codeline>
+<linenumber line="189"/><codeline> IDirectMusicAudioPath8* paudio_path = <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o3">mpAudioPath</ref>[data.mObjNo];</codeline>
+<linenumber line="190"/><codeline> </codeline>
+<linenumber line="191"/><codeline> <highlight class="keywordflow">if</highlight>(paudio_path == NULL)</codeline>
+<linenumber line="192"/><codeline> paudio_path = <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o4">mpDefaultAudioPath</ref>;</codeline>
+<linenumber line="193"/><codeline> </codeline>
+<linenumber line="194"/><codeline> <ref idref="namespacesf_1a0">DWORD</ref> flags = NULL;</codeline>
+<linenumber line="195"/><codeline></codeline>
+<linenumber line="196"/><codeline> <highlight class="keywordflow">if</highlight>(!data.mbPrimary){</codeline>
+<linenumber line="197"/><codeline> flags |= DMUS_SEGF_SECONDARY;</codeline>
+<linenumber line="198"/><codeline><highlight class="comment">// flags |= DMUS_SEGF_CONTROL;</highlight></codeline>
+<linenumber line="199"/><codeline> }</codeline>
+<linenumber line="200"/><codeline></codeline>
+<linenumber line="201"/><codeline> <highlight class="keywordflow">if</highlight>(data.mbSync){</codeline>
+<linenumber line="202"/><codeline> flags |= DMUS_SEGF_BEAT;</codeline>
+<linenumber line="203"/><codeline><highlight class="comment">// flags &= !DMUS_SEGF_CONTROL;</highlight></codeline>
+<linenumber line="204"/><codeline> }</codeline>
+<linenumber line="205"/><codeline></codeline>
+<linenumber line="206"/><codeline> <highlight class="keywordflow">if</highlight>(!data.mRepeat)</codeline>
+<linenumber line="207"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o2">mpSegment</ref>[data.mObjNo]->SetRepeats(DMUS_SEG_REPEAT_INFINITE);</codeline>
+<linenumber line="208"/><codeline> <highlight class="keywordflow">else</highlight></codeline>
+<linenumber line="209"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o2">mpSegment</ref>[data.mObjNo]->SetRepeats(data.mRepeat - 1);</codeline>
+<linenumber line="210"/><codeline></codeline>
+<linenumber line="211"/><codeline> </codeline>
+<linenumber line="212"/><codeline></codeline>
+<linenumber line="213"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o2">mpSegment</ref>[data.mObjNo]){</codeline>
+<linenumber line="214"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o1">mpPerformance</ref>->PlaySegmentEx(</codeline>
+<linenumber line="215"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o2">mpSegment</ref>[data.mObjNo], <highlight class="comment">// oAA\81C?1?e\\81â\\81\8b\a\o\E!\81\92</highlight></codeline>
+<linenumber line="216"/><codeline> NULL, <highlight class="comment">// \?\o\\81\8b?E\81âEIN?1?e\N\e\a!?\?!\81\92?AAo?\83Ê?i?A???E??!\81\92</highlight></codeline>
+<linenumber line="217"/><codeline> NULL, <highlight class="comment">// \E\e\o\\81C\\81E\c\o?E\81LO?1?e\N\e\a!?\?!\81\92 </highlight></codeline>
+<linenumber line="218"/><codeline> flags, <highlight class="comment">// \O\e\\81\8b!\81\92</highlight></codeline>
+<linenumber line="219"/><codeline> 0, <highlight class="comment">// 3\81á\81âI\?\?\a!\81\920 ?IA??A?E3\81á\81âI!\81\92</highlight></codeline>
+<linenumber line="220"/><codeline> NULL, <highlight class="comment">// \\81â\\81\8b\a\o\E?oAO?o?o?\81}?e?e\Y\?\o\?!\81\92</highlight></codeline>
+<linenumber line="221"/><codeline> NULL, <highlight class="comment">// Aa\81âs?1?e\a\O\\81C\\81\98\\81P\E!\81\92</highlight></codeline>
+<linenumber line="222"/><codeline> paudio_path <highlight class="comment">// \C\O\c\e\E?C?E???i1c?I\a!?\C\\81\92\a\N\1!\81\92</highlight></codeline>
+<linenumber line="223"/><codeline> );</codeline>
+<linenumber line="224"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o6">mbSegInUse</ref>[data.mObjNo] = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="225"/><codeline> }</codeline>
+<linenumber line="226"/><codeline> }</codeline>
+<linenumber line="227"/><codeline> </codeline>
+<linenumber line="228"/><codeline>}<highlight class="comment">// update</highlight></codeline>
+<linenumber line="229"/><codeline></codeline>
+<linenumber line="230"/><codeline><highlight class="comment">// \\83Ê\|\o\E\O\!\?\e?I\i!?\E ---------------------------------------</highlight></codeline>
+<linenumber line="231" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1a2"/><codeline><highlight class="keywordtype">void</highlight> SoundImpl::load(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> objNo,<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> * <highlight class="keyword">const</highlight> pFileName)</codeline>
+<linenumber line="232"/><codeline>{</codeline>
+<linenumber line="233"/><codeline> <highlight class="keywordflow">if</highlight>(!<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a12">isEnabled</ref>())</codeline>
+<linenumber line="234"/><codeline> <highlight class="keywordflow">return</highlight>;</codeline>
+<linenumber line="235"/><codeline></codeline>
+<linenumber line="236"/><codeline> <highlight class="keywordflow">if</highlight>(objNo > <ref idref="namespacesf_1_1system_1_1sound_1a0">OBJECT_MAX</ref> && objNo < 0){</codeline>
+<linenumber line="237"/><codeline> <highlight class="keywordflow">throw</highlight> RecoverbleErrorException(<highlight class="stringliteral">"Sound Buffer is full"</highlight>,__FILE__,__LINE__,<ref idref="classsf_1_1system_1_1Exception_1s4s2">sf::system::Exception::BUFFER_IS_FULL</ref>);</codeline>
+<linenumber line="238"/><codeline> }</codeline>
+<linenumber line="239"/><codeline> </codeline>
+<linenumber line="240"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o1">mpPerformance</ref>->Stop(NULL,NULL,0,0);</codeline>
+<linenumber line="241"/><codeline> </codeline>
+<linenumber line="242"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o2">mpSegment</ref>[objNo]){</codeline>
+<linenumber line="243"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o2">mpSegment</ref>[objNo]->Release();</codeline>
+<linenumber line="244"/><codeline> }</codeline>
+<linenumber line="245"/><codeline> </codeline>
+<linenumber line="246"/><codeline> <highlight class="comment">// Load the segment from the file</highlight></codeline>
+<linenumber line="247"/><codeline> WCHAR wstrFileName[MAX_PATH];</codeline>
+<linenumber line="248"/><codeline> MultiByteToWideChar( CP_ACP, 0, pFileName, -1, </codeline>
+<linenumber line="249"/><codeline> wstrFileName, MAX_PATH );</codeline>
+<linenumber line="250"/><codeline> </codeline>
+<linenumber line="251"/><codeline> <highlight class="keywordflow">if</highlight>( FAILED( <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o0">mpLoader</ref>->LoadObjectFromFile( CLSID_DirectMusicSegment,</codeline>
+<linenumber line="252"/><codeline> IID_IDirectMusicSegment8,</codeline>
+<linenumber line="253"/><codeline> wstrFileName,</codeline>
+<linenumber line="254"/><codeline> (LPVOID*) &<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o2">mpSegment</ref>[objNo] ) ) )</codeline>
+<linenumber line="255"/><codeline> {</codeline>
+<linenumber line="256"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(<highlight class="stringliteral">"Media not found"</highlight>,__FILE__,__LINE__);</codeline>
+<linenumber line="257"/><codeline> }</codeline>
+<linenumber line="258"/><codeline> </codeline>
+<linenumber line="259"/><codeline> IUnknown* pconfig = NULL;</codeline>
+<linenumber line="260"/><codeline> </codeline>
+<linenumber line="261"/><codeline> <highlight class="keywordflow">if</highlight>( SUCCEEDED( <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o2">mpSegment</ref>[objNo]->GetAudioPathConfig( &pconfig ) ) )</codeline>
+<linenumber line="262"/><codeline> {</codeline>
+<linenumber line="263"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o1">mpPerformance</ref>->CreateAudioPath( pconfig, TRUE, &<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o3">mpAudioPath</ref>[objNo] );</codeline>
+<linenumber line="264"/><codeline> pconfig->Release();</codeline>
+<linenumber line="265"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o2">mpSegment</ref>[objNo]->Download(<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o3">mpAudioPath</ref>[objNo]);</codeline>
+<linenumber line="266"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="267"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o2">mpSegment</ref>[objNo]->Download(<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o1">mpPerformance</ref>);</codeline>
+<linenumber line="268"/><codeline> }</codeline>
+<linenumber line="269"/><codeline></codeline>
+<linenumber line="270"/><codeline> <highlight class="keywordtype">char</highlight> *pf = strupr(strdup(const_cast<char *>(pFileName)));</codeline>
+<linenumber line="271"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o5">mFileName</ref>[objNo] = pf;</codeline>
+<linenumber line="272"/><codeline> free(pf);</codeline>
+<linenumber line="273"/><codeline></codeline>
+<linenumber line="274"/><codeline>}<highlight class="comment">// load</highlight></codeline>
+<linenumber line="275"/><codeline></codeline>
+<linenumber line="276"/><codeline><highlight class="comment">//!!\\83Ê\|\o\E\a\O\\81C\\81\98\\81P\E?I\i!?\E !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="277" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1a3"/><codeline><highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> SoundImpl::load(<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> * <highlight class="keyword">const</highlight> pFileName)</codeline>
+<linenumber line="278"/><codeline>{</codeline>
+<linenumber line="279"/><codeline> </codeline>
+<linenumber line="280"/><codeline> std::string tmp_str;</codeline>
+<linenumber line="281"/><codeline> <highlight class="keywordtype">char</highlight> *pf = strupr(strdup(const_cast<char *>(pFileName)));</codeline>
+<linenumber line="282"/><codeline> tmp_str = pf;</codeline>
+<linenumber line="283"/><codeline> free(pf);</codeline>
+<linenumber line="284"/><codeline> <highlight class="keywordtype">int</highlight> i;</codeline>
+<linenumber line="285"/><codeline></codeline>
+<linenumber line="286"/><codeline> <highlight class="comment">// A\81}?\81C\O\!\?\eI??I\a\O\\81C\\81\98\\81P\E?\81Ê?1?C?E\i!?\EoN?s?\81áA\81Loo</highlight></codeline>
+<linenumber line="287"/><codeline> <highlight class="comment">// ?\81\91?i?D???IEO1a?oEO?1 </highlight></codeline>
+<linenumber line="288"/><codeline> <highlight class="keywordflow">for</highlight>(i = 0;i < <ref idref="namespacesf_1_1system_1_1sound_1a0">OBJECT_MAX</ref>;i++){</codeline>
+<linenumber line="289"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o5">mFileName</ref>[i] == tmp_str){</codeline>
+<linenumber line="290"/><codeline> <highlight class="keywordflow">return</highlight> i;</codeline>
+<linenumber line="291"/><codeline> }</codeline>
+<linenumber line="292"/><codeline> }</codeline>
+<linenumber line="293"/><codeline></codeline>
+<linenumber line="294"/><codeline> <highlight class="comment">// A\81}?\81CEa?\81ÊI\83Ê?\81}?i?D!\81\91\81÷o?-?o\81C!o\81\80?\81E?A\i!?\E</highlight></codeline>
+<linenumber line="295"/><codeline> <highlight class="keywordflow">for</highlight>(i = 0;i < <ref idref="namespacesf_1_1system_1_1sound_1a0">OBJECT_MAX</ref>;i++){</codeline>
+<linenumber line="296"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o2">mpSegment</ref>[i] == NULL){</codeline>
+<linenumber line="297"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a2">load</ref>(i,pFileName);</codeline>
+<linenumber line="298"/><codeline> <highlight class="keywordflow">return</highlight> i;</codeline>
+<linenumber line="299"/><codeline> }</codeline>
+<linenumber line="300"/><codeline> }</codeline>
+<linenumber line="301"/><codeline></codeline>
+<linenumber line="302"/><codeline> <highlight class="keywordflow">return</highlight> <ref idref="namespacesf_1_1system_1_1sound_1a1">LOAD_ERROR</ref>;</codeline>
+<linenumber line="303"/><codeline>}<highlight class="comment">// load</highlight></codeline>
+<linenumber line="304"/><codeline></codeline>
+<linenumber line="305"/><codeline><highlight class="comment">// \\81\91\o\i!?\E -----------------------------------------------------</highlight></codeline>
+<linenumber line="306" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1a4"/><codeline><highlight class="keywordtype">void</highlight> SoundImpl::unload()</codeline>
+<linenumber line="307"/><codeline>{</codeline>
+<linenumber line="308"/><codeline> <highlight class="keywordflow">if</highlight>(mpPerformance)</codeline>
+<linenumber line="309"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o1">mpPerformance</ref>->Stop(NULL,NULL,0,0);</codeline>
+<linenumber line="310"/><codeline> </codeline>
+<linenumber line="311"/><codeline> <highlight class="keywordflow">for</highlight>(<highlight class="keywordtype">int</highlight> i = 0;i < <ref idref="namespacesf_1_1system_1_1sound_1a0">OBJECT_MAX</ref>;i++)</codeline>
+<linenumber line="312"/><codeline> {</codeline>
+<linenumber line="313"/><codeline> <highlight class="comment">// \\81â\\81\8b\a\o\E?\81ÊNULL?C?E???E?e\e\e!?\1</highlight></codeline>
+<linenumber line="314"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o2">mpSegment</ref>[i]){</codeline>
+<linenumber line="315"/><codeline> <highlight class="comment">// \a!?\C\\81\92\a\N\1?I\e\e!?\1</highlight></codeline>
+<linenumber line="316"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o3">mpAudioPath</ref>[i]){</codeline>
+<linenumber line="317"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o2">mpSegment</ref>[i]->Unload(<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o3">mpAudioPath</ref>[i]);</codeline>
+<linenumber line="318"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o3">mpAudioPath</ref>[i]->Release();</codeline>
+<linenumber line="319"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o3">mpAudioPath</ref>[i] = NULL;</codeline>
+<linenumber line="320"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o2">mpSegment</ref>[i]->Release();</codeline>
+<linenumber line="321"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="322"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o2">mpSegment</ref>[i]->Unload(<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o1">mpPerformance</ref>);</codeline>
+<linenumber line="323"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o2">mpSegment</ref>[i]->Release();</codeline>
+<linenumber line="324"/><codeline> }</codeline>
+<linenumber line="325"/><codeline> }</codeline>
+<linenumber line="326"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o2">mpSegment</ref>[i] = NULL;</codeline>
+<linenumber line="327"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o6">mbSegInUse</ref>[i] = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="328"/><codeline> }</codeline>
+<linenumber line="329"/><codeline> </codeline>
+<linenumber line="330"/><codeline>}<highlight class="comment">// unload</highlight></codeline>
+<linenumber line="331"/><codeline></codeline>
+<linenumber line="332" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1a8"/><codeline><highlight class="keywordtype">void</highlight> SoundImpl::masterVolume(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> value)</codeline>
+<linenumber line="333"/><codeline>{</codeline>
+<linenumber line="334"/><codeline> <highlight class="keywordflow">if</highlight>(!<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a12">isEnabled</ref>())</codeline>
+<linenumber line="335"/><codeline> <highlight class="keywordflow">return</highlight>;</codeline>
+<linenumber line="336"/><codeline> <highlight class="keywordtype">int</highlight> tmp_value = value;</codeline>
+<linenumber line="337"/><codeline></codeline>
+<linenumber line="338"/><codeline> <highlight class="keywordflow">if</highlight>(tmp_value > <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o8">mVolumeMax</ref>) tmp_value = <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o8">mVolumeMax</ref>;</codeline>
+<linenumber line="339"/><codeline> <highlight class="keywordflow">if</highlight>(tmp_value < volume::MIN) tmp_value = volume::MIN;</codeline>
+<linenumber line="340"/><codeline></codeline>
+<linenumber line="341"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o7">mMasterVolume</ref> = tmp_value;</codeline>
+<linenumber line="342"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o4">mpDefaultAudioPath</ref>->SetVolume(value,0);</codeline>
+<linenumber line="343"/><codeline></codeline>
+<linenumber line="344"/><codeline>}<highlight class="comment">// masterVolume</highlight></codeline>
+<linenumber line="345"/><codeline></codeline>
+<linenumber line="346"/><codeline></codeline>
+<linenumber line="347"/><codeline><highlight class="comment">// ---------------------------------------------------------------------------</highlight></codeline>
+<linenumber line="348"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="349"/><codeline><highlight class="comment">// SoundImpl::Queue \\81P\e\1</highlight></codeline>
+<linenumber line="350"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="351"/><codeline><highlight class="comment">// ---------------------------------------------------------------------------</highlight></codeline>
+<linenumber line="352"/><codeline></codeline>
+<linenumber line="353"/><codeline><highlight class="comment">// \3\o\1\E\e\\81P\? -------------------------------------------------</highlight></codeline>
+<linenumber line="354" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1a0"/><codeline>SoundImpl::Queue::Queue()</codeline>
+<linenumber line="355"/><codeline>{</codeline>
+<linenumber line="356"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1a4">clear</ref>();</codeline>
+<linenumber line="357"/><codeline>}<highlight class="comment">// Queue</highlight></codeline>
+<linenumber line="358"/><codeline></codeline>
+<linenumber line="359"/><codeline><highlight class="comment">// \C\1\E\e\\81P\? ---------------------------------------------------</highlight></codeline>
+<linenumber line="360" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1a1"/><codeline>SoundImpl::Queue::~Queue(){;};</codeline>
+<linenumber line="361"/><codeline></codeline>
+<linenumber line="362"/><codeline><highlight class="comment">// \e\o\\81\8b\D\A\O\!?E\\83Ê\|\o\EEO1a?o\\81â\A\E?1?e -------------------------</highlight></codeline>
+<linenumber line="363" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1a3"/><codeline><highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> SoundImpl::Queue::set(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> ObjNo,<highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref> Repeat,<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bPrimary,<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bSync)</codeline>
+<linenumber line="364"/><codeline>{</codeline>
+<linenumber line="365"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o0">mBuffer</ref>[<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o2">mEnd</ref>].mObjNo == 0){</codeline>
+<linenumber line="366"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o0">mBuffer</ref>[<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o2">mEnd</ref>].mObjNo = ObjNo + 1;</codeline>
+<linenumber line="367"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o0">mBuffer</ref>[<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o2">mEnd</ref>].mRepeat = Repeat;</codeline>
+<linenumber line="368"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o0">mBuffer</ref>[<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o2">mEnd</ref>].mbPrimary = bPrimary;</codeline>
+<linenumber line="369"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o0">mBuffer</ref>[<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o2">mEnd</ref>].mbSync = bSync;</codeline>
+<linenumber line="370"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o2">mEnd</ref> = (<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o2">mEnd</ref> + 1) & (<ref idref="namespacesf_1_1system_1_1sound_1a4">Q_MAX</ref> - 1);</codeline>
+<linenumber line="371"/><codeline> <highlight class="keywordflow">return</highlight> <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="372"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="373"/><codeline> <highlight class="keywordflow">return</highlight> <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="374"/><codeline> }</codeline>
+<linenumber line="375"/><codeline>}<highlight class="comment">// set</highlight></codeline>
+<linenumber line="376"/><codeline></codeline>
+<linenumber line="377"/><codeline><highlight class="comment">// \e\o\\81\8b\D\A\O\!?\81á?e\\83Ê\|\o\E\C!?\??o?e?e?D?1 -----------------------</highlight></codeline>
+<linenumber line="378" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1a2"/><codeline><highlight class="keywordtype">void</highlight> SoundImpl::Queue::get(Data& rData)</codeline>
+<linenumber line="379"/><codeline>{</codeline>
+<linenumber line="380"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o1">mStart</ref> == <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o2">mEnd</ref>)</codeline>
+<linenumber line="381"/><codeline> { rData.mObjNo =0;</codeline>
+<linenumber line="382"/><codeline> <highlight class="keywordflow">return</highlight>;</codeline>
+<linenumber line="383"/><codeline> }</codeline>
+<linenumber line="384"/><codeline> </codeline>
+<linenumber line="385"/><codeline> rData = <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o0">mBuffer</ref>[<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o1">mStart</ref>];</codeline>
+<linenumber line="386"/><codeline> rData.mObjNo -= 1;</codeline>
+<linenumber line="387"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o0">mBuffer</ref>[<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o1">mStart</ref>].mObjNo = 0;</codeline>
+<linenumber line="388"/><codeline> </codeline>
+<linenumber line="389"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o1">mStart</ref> = (<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o1">mStart</ref> + 1) & (<ref idref="namespacesf_1_1system_1_1sound_1a4">Q_MAX</ref> - 1);</codeline>
+<linenumber line="390"/><codeline></codeline>
+<linenumber line="391"/><codeline>}<highlight class="comment">// get</highlight></codeline>
+<linenumber line="392"/><codeline></codeline>
+<linenumber line="393"/><codeline><highlight class="comment">// \e\o\\81\8b\D\A\O\!?o\\81P\e\\81\91?1?e -------------------------------------</highlight></codeline>
+<linenumber line="394" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1a4"/><codeline><highlight class="keywordtype">void</highlight> SoundImpl::Queue::clear()</codeline>
+<linenumber line="395"/><codeline>{</codeline>
+<linenumber line="396"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o1">mStart</ref> = <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o2">mEnd</ref> = 0;</codeline>
+<linenumber line="397"/><codeline> ZeroMemory(<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o0">mBuffer</ref>,<highlight class="keyword">sizeof</highlight>(<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o0">mBuffer</ref>));</codeline>
+<linenumber line="398"/><codeline>}<highlight class="comment">// clear</highlight></codeline>
+<linenumber line="399"/><codeline></codeline>
+<linenumber line="400" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1a6"/><codeline><highlight class="keywordtype">void</highlight> SoundImpl::stop(<highlight class="keywordtype">int</highlight> ObjNo)</codeline>
+<linenumber line="401"/><codeline>{</codeline>
+<linenumber line="402"/><codeline> <highlight class="keywordflow">if</highlight>(!<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a12">isEnabled</ref>()) <highlight class="keywordflow">return</highlight>;</codeline>
+<linenumber line="403"/><codeline></codeline>
+<linenumber line="404"/><codeline> <highlight class="keywordflow">if</highlight>(!ObjNo)</codeline>
+<linenumber line="405"/><codeline> {</codeline>
+<linenumber line="406"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o9">mQueue</ref>.<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1a4">clear</ref>();</codeline>
+<linenumber line="407"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o1">mpPerformance</ref>->Stop(NULL,NULL,0,0);</codeline>
+<linenumber line="408"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="409"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o1">mpPerformance</ref>->Stop(<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o2">mpSegment</ref>[ObjNo],NULL,0,0);</codeline>
+<linenumber line="410"/><codeline> }</codeline>
+<linenumber line="411"/><codeline>}</codeline>
+<linenumber line="412"/><codeline></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/SoundImpl.cpp"/>
+ </compounddef>
+ <compounddef id="SoundImpl_8h" kind="file">
+ <compoundname>SoundImpl.h</compoundname>
+ <includes id="sf_8h" local="yes">sf.h</includes>
+ <includes id="Sound_8h" local="yes">Sound.h</includes>
+ <includedby id="InputImpl_8cpp" local="yes">InputImpl.cpp</includedby>
+ <includedby id="sfglib_8cpp" local="yes">sfglib.cpp</includedby>
+ <includedby id="SoundImpl_8cpp" local="yes">SoundImpl.cpp</includedby>
+ <includedby id="System_8cpp" local="yes">System.cpp</includedby>
+ <includedby id="SystemImpl_8cpp" local="yes">SystemImpl.cpp</includedby>
+ <incdepgraph>
+ <node id="650">
+ <label>SoundImpl.h</label>
+ <link id="SoundImpl.h"/>
+ <childnode id="651" relation="public-inheritance">
+ </childnode>
+ <childnode id="652" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="651">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="652">
+ <label>Sound.h</label>
+ <link id="Sound_8h"/>
+ <childnode id="651" relation="public-inheritance">
+ </childnode>
+ </node>
+ </incdepgraph>
+ <invincdepgraph>
+ <node id="655">
+ <label>sfglib.cpp</label>
+ <link id="sfglib_8cpp-source"/>
+ </node>
+ <node id="656">
+ <label>SoundImpl.cpp</label>
+ <link id="SoundImpl_8cpp-source"/>
+ </node>
+ <node id="653">
+ <label>SoundImpl.h</label>
+ <link id="SoundImpl.h"/>
+ <childnode id="654" relation="public-inheritance">
+ </childnode>
+ <childnode id="655" relation="public-inheritance">
+ </childnode>
+ <childnode id="656" relation="public-inheritance">
+ </childnode>
+ <childnode id="657" relation="public-inheritance">
+ </childnode>
+ <childnode id="658" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="658">
+ <label>SystemImpl.cpp</label>
+ <link id="SystemImpl_8cpp-source"/>
+ </node>
+ <node id="654">
+ <label>InputImpl.cpp</label>
+ <link id="InputImpl_8cpp-source"/>
+ </node>
+ <node id="657">
+ <label>System.cpp</label>
+ <link id="System_8cpp-source"/>
+ </node>
+ </invincdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1sound">sf::system::sound</innernamespace>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="SoundImpl_8h_1a0" virt="normal" prot="public">
+ <name>AFX_SoundImpl_H__B9EEAB2E_EC73_44E2_A74F_3BE8E7E64310__INCLUDED_</name>
+ <briefdescription>
+<para>
+Ao?A\?\o\\81P\e!?\EEE\81âs\T\\81P\i. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SoundImpl.h" line="14" bodystart="14" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+Sound\81LOI\81\91?I?AAo\\81P\e\1!|???i?E\81LO?1?eAe?oAe\83ÊA?E?E?o1O?|!\81\92. </para>
+ </briefdescription>
+ <detaileddescription>
+<para>
+DirectSound DirectMusic ?o\81âEIN?\81E?A?AAo?\81E?A???T?1!\81\92 </para>
+<simplesect kind="author"><title>oi?O: </title><para>
+S.F. </para>
+</simplesect><simplesect kind="version"><title>\D!?\\81C\c\o: </title><para>
+$Id:</para>
+</simplesect><para>
+Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved. </para>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline></codeline>
+<linenumber line="12"/><codeline></codeline>
+<linenumber line="13"/><codeline><highlight class="preprocessor">#if !defined(AFX_SoundImpl_H__B9EEAB2E_EC73_44E2_A74F_3BE8E7E64310__INCLUDED_)</highlight></codeline>
+<linenumber line="14" refid="SoundImpl_8h_1a0"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define AFX_SoundImpl_H__B9EEAB2E_EC73_44E2_A74F_3BE8E7E64310__INCLUDED_</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="preprocessor">#if _MSC_VER > 1000</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#pragma once</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif // _MSC_VER > 1000</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include "sf.h"</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="preprocessor">#include "<ref idref="Sound_8h">Sound.h</ref>"</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="keyword">extern</highlight> <highlight class="stringliteral">"C"</highlight> {</codeline>
+<linenumber line="22"/><codeline><highlight class="keyword">namespace </highlight>sf{</codeline>
+<linenumber line="23"/><codeline> <highlight class="keyword">namespace </highlight>system {</codeline>
+<linenumber line="24"/><codeline> <highlight class="keyword">namespace </highlight>sound {</codeline>
+<linenumber line="25"/><codeline> </codeline>
+<linenumber line="26"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="namespacesf_1_1system_1_1sound_1a4">Q_MAX</ref> = 32;</codeline>
+<linenumber line="27"/><codeline></codeline>
+<linenumber line="30" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1"/><codeline> <highlight class="keyword">class </highlight>SoundImpl : <highlight class="keyword">public</highlight> Sound </codeline>
+<linenumber line="31"/><codeline> {</codeline>
+<linenumber line="32"/><codeline> <highlight class="comment">// LIFECYCLE</highlight></codeline>
+<linenumber line="33"/><codeline> <highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="35"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a0">SoundImpl</ref>();</codeline>
+<linenumber line="37"/><codeline> <highlight class="keyword">virtual</highlight> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a1">~SoundImpl</ref>();</codeline>
+<linenumber line="38"/><codeline> <highlight class="comment">// OPERATORS //</highlight></codeline>
+<linenumber line="39"/><codeline> <highlight class="comment">// OPERATIONS //</highlight></codeline>
+<linenumber line="40"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a2">load</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> objNo,<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> * <highlight class="keyword">const</highlight> pFileName);</codeline>
+<linenumber line="41"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a2">load</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> * <highlight class="keyword">const</highlight> pFileName);</codeline>
+<linenumber line="42"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a4">unload</ref>();</codeline>
+<linenumber line="43"/><codeline> <highlight class="comment">// \\83Ê\|\o\E?IoAA\81C</highlight></codeline>
+<linenumber line="44"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a5">play</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> ObjNo,<highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref> Repeat,<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bPrimary,<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bSync);</codeline>
+<linenumber line="45"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a6">stop</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> ObjNo = 0);</codeline>
+<linenumber line="46"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a7">update</ref>();</codeline>
+<linenumber line="47"/><codeline> <highlight class="comment">// ACCESS //</highlight></codeline>
+<linenumber line="48"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a9">masterVolume</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> value); </codeline>
+<linenumber line="49" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1a9"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a9">masterVolume</ref>()<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o7">mMasterVolume</ref>;}</codeline>
+<linenumber line="50" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1a10"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a11">volumeMax</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> value){<ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o8">mVolumeMax</ref> = value;};</codeline>
+<linenumber line="51" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1a11"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a11">volumeMax</ref>()<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o8">mVolumeMax</ref>;};</codeline>
+<linenumber line="52"/><codeline> <highlight class="comment">// INQUIRY //</highlight></codeline>
+<linenumber line="53" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1a12"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a12">isEnabled</ref>(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const</highlight>{<highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o10">mbEnabled</ref>;};</codeline>
+<linenumber line="54"/><codeline> <highlight class="comment">// ?e\81Lu2?</highlight></codeline>
+<linenumber line="55"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a13">initialize</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="56"/><codeline> <highlight class="keyword">private</highlight>:</codeline>
+<linenumber line="57"/><codeline> </codeline>
+<linenumber line="58" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1o0"/><codeline> IDirectMusicLoader8* <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o0">mpLoader</ref>;</codeline>
+<linenumber line="59" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1o1"/><codeline> IDirectMusicPerformance8* <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o1">mpPerformance</ref>;</codeline>
+<linenumber line="60" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1o2"/><codeline> IDirectMusicSegment8* <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o2">mpSegment</ref>[<ref idref="namespacesf_1_1system_1_1sound_1a0">OBJECT_MAX</ref>];</codeline>
+<linenumber line="61" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1o3"/><codeline> IDirectMusicAudioPath8* <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o3">mpAudioPath</ref>[<ref idref="namespacesf_1_1system_1_1sound_1a0">OBJECT_MAX</ref>];</codeline>
+<linenumber line="62" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1o4"/><codeline> IDirectMusicAudioPath8* <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o4">mpDefaultAudioPath</ref>;</codeline>
+<linenumber line="63" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1o5"/><codeline> std::string <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o5">mFileName</ref>[<ref idref="namespacesf_1_1system_1_1sound_1a0">OBJECT_MAX</ref>];</codeline>
+<linenumber line="64"/><codeline></codeline>
+<linenumber line="65" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1o6"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o6">mbSegInUse</ref>[<ref idref="namespacesf_1_1system_1_1sound_1a0">OBJECT_MAX</ref>];</codeline>
+<linenumber line="66" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1o7"/><codeline> <highlight class="keywordtype">int</highlight> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o7">mMasterVolume</ref>;</codeline>
+<linenumber line="67" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1o8"/><codeline> <highlight class="keywordtype">int</highlight> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o8">mVolumeMax</ref>;</codeline>
+<linenumber line="68"/><codeline></codeline>
+<linenumber line="71" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1"/><codeline> <highlight class="keyword">class </highlight>SFDLL Queue {</codeline>
+<linenumber line="72"/><codeline> <highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="74"/><codeline> Queue();</codeline>
+<linenumber line="76"/><codeline> ~Queue();</codeline>
+<linenumber line="78" refid="structsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1_1Data_1"/><codeline> <highlight class="keyword">struct </highlight>Data</codeline>
+<linenumber line="79"/><codeline> {</codeline>
+<linenumber line="80" refid="structsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1_1Data_1m0"/><codeline> <highlight class="keywordtype">int</highlight> mObjNo; </codeline>
+<linenumber line="81" refid="structsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1_1Data_1m1"/><codeline> <highlight class="keywordtype">long</highlight> mRepeat; </codeline>
+<linenumber line="82" refid="structsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1_1Data_1m2"/><codeline> <highlight class="keywordtype">bool</highlight> mbPrimary; </codeline>
+<linenumber line="83" refid="structsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1_1Data_1m3"/><codeline> <highlight class="keywordtype">bool</highlight> mbSync; </codeline>
+<linenumber line="84"/><codeline> };</codeline>
+<linenumber line="85"/><codeline> <highlight class="comment">// OPERATIONS//</highlight></codeline>
+<linenumber line="86"/><codeline> </codeline>
+<linenumber line="89"/><codeline> <highlight class="keywordtype">void</highlight> get(Data& rData);</codeline>
+<linenumber line="90"/><codeline></codeline>
+<linenumber line="96"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> set(<highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> ObjNo,<highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref> Repeat,<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bPrimary,<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> bSync);</codeline>
+<linenumber line="97"/><codeline> </codeline>
+<linenumber line="99"/><codeline> <highlight class="keywordtype">void</highlight> clear();</codeline>
+<linenumber line="100"/><codeline> <highlight class="comment">// INQUIRY //</highlight></codeline>
+<linenumber line="101"/><codeline></codeline>
+<linenumber line="105" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1a5"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> isEmpty()<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> (mStart == mEnd);};</codeline>
+<linenumber line="106"/><codeline> <highlight class="keyword">private</highlight>:</codeline>
+<linenumber line="107" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o0"/><codeline> Data mBuffer[<ref idref="namespacesf_1_1system_1_1sound_1a4">Q_MAX</ref>]; </codeline>
+<linenumber line="108" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o1"/><codeline> <highlight class="keywordtype">int</highlight> mStart; </codeline>
+<linenumber line="109" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1_1Queue_1o2"/><codeline> <highlight class="keywordtype">int</highlight> mEnd; </codeline>
+<linenumber line="110"/><codeline></codeline>
+<linenumber line="111"/><codeline> };<highlight class="comment">// Queue</highlight></codeline>
+<linenumber line="112"/><codeline> </codeline>
+<linenumber line="113" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1o9"/><codeline> Queue <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o9">mQueue</ref>; </codeline>
+<linenumber line="114" refid="classsf_1_1system_1_1sound_1_1SoundImpl_1o10"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1o10">mbEnabled</ref>; </codeline>
+<linenumber line="115"/><codeline> </codeline>
+<linenumber line="116"/><codeline> </codeline>
+<linenumber line="117"/><codeline> };<highlight class="comment">// SoundImpl</highlight></codeline>
+<linenumber line="118"/><codeline></codeline>
+<linenumber line="119"/><codeline> }<highlight class="comment">// sound</highlight></codeline>
+<linenumber line="120"/><codeline> }<highlight class="comment">// system</highlight></codeline>
+<linenumber line="121"/><codeline>}<highlight class="comment">// sound</highlight></codeline>
+<linenumber line="122"/><codeline>}</codeline>
+<linenumber line="123"/><codeline><highlight class="preprocessor">#endif // !defined(AFX_SoundImpl_H__B9EEAB2E_EC73_44E2_A74F_3BE8E7E64310__INCLUDED_)</highlight></codeline>
+<linenumber line="124"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/SoundImpl.h"/>
+ </compounddef>
+ <compounddef id="Sprite2D_8cpp" kind="file">
+ <compoundname>Sprite2D.cpp</compoundname>
+ <includes id="sfdebug_8h" local="yes">sfdebug.h</includes>
+ <includes local="no">stdio.h</includes>
+ <includes local="no">queue</includes>
+ <includes local="yes">windows.h</includes>
+ <includes local="yes">windowsx.h</includes>
+ <includes local="yes">d3d8.h</includes>
+ <includes local="yes">d3dx8.h</includes>
+ <includes id="dxerr8sf_8h" local="yes">dxerr8sf.h</includes>
+ <includes local="yes">exception.h</includes>
+ <includes local="yes">sound.h</includes>
+ <includes id="System_8h" local="yes">System.h</includes>
+ <includes local="yes">console.h</includes>
+ <includes id="Obj_8h" local="yes">Obj.h</includes>
+ <includes id="Obj2D_8h" local="yes">Obj2D.h</includes>
+ <includes id="ObjRectangle_8h" local="yes">ObjRectangle.h</includes>
+ <includes id="ObjQuadrangle_8h" local="yes">ObjQuadrangle.h</includes>
+ <includes id="AbstractSprite_8h" local="yes">AbstractSprite.h</includes>
+ <includes id="ConsoleImpl_8h" local="yes">ConsoleImpl.h</includes>
+ <includes id="Sprite2D_8h" local="yes">Sprite2D.h</includes>
+ <incdepgraph>
+ <node id="668">
+ <label>dxerr8.h</label>
+ </node>
+ <node id="662">
+ <label>queue</label>
+ </node>
+ <node id="663">
+ <label>windows.h</label>
+ </node>
+ <node id="659">
+ <label>Sprite2D.cpp</label>
+ <link id="Sprite2D.cpp"/>
+ <childnode id="660" relation="public-inheritance">
+ </childnode>
+ <childnode id="661" relation="public-inheritance">
+ </childnode>
+ <childnode id="662" relation="public-inheritance">
+ </childnode>
+ <childnode id="663" relation="public-inheritance">
+ </childnode>
+ <childnode id="664" relation="public-inheritance">
+ </childnode>
+ <childnode id="665" relation="public-inheritance">
+ </childnode>
+ <childnode id="666" relation="public-inheritance">
+ </childnode>
+ <childnode id="667" relation="public-inheritance">
+ </childnode>
+ <childnode id="669" relation="public-inheritance">
+ </childnode>
+ <childnode id="670" relation="public-inheritance">
+ </childnode>
+ <childnode id="671" relation="public-inheritance">
+ </childnode>
+ <childnode id="674" relation="public-inheritance">
+ </childnode>
+ <childnode id="675" relation="public-inheritance">
+ </childnode>
+ <childnode id="676" relation="public-inheritance">
+ </childnode>
+ <childnode id="677" relation="public-inheritance">
+ </childnode>
+ <childnode id="678" relation="public-inheritance">
+ </childnode>
+ <childnode id="679" relation="public-inheritance">
+ </childnode>
+ <childnode id="682" relation="public-inheritance">
+ </childnode>
+ <childnode id="683" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="671">
+ <label>System.h</label>
+ <link id="System_8h"/>
+ <childnode id="672" relation="public-inheritance">
+ </childnode>
+ <childnode id="673" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="664">
+ <label>windowsx.h</label>
+ </node>
+ <node id="672">
+ <label>string</label>
+ </node>
+ <node id="682">
+ <label>ConsoleImpl.h</label>
+ <link id="ConsoleImpl_8h"/>
+ <childnode id="673" relation="public-inheritance">
+ </childnode>
+ <childnode id="680" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="667">
+ <label>dxerr8sf.h</label>
+ <link id="dxerr8sf_8h-source"/>
+ <childnode id="668" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="660">
+ <label>sfdebug.h</label>
+ <link id="sfdebug_8h"/>
+ </node>
+ <node id="679">
+ <label>AbstractSprite.h</label>
+ <link id="AbstractSprite_8h-source"/>
+ <childnode id="673" relation="public-inheritance">
+ </childnode>
+ <childnode id="680" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="673">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="670">
+ <label>sound.h</label>
+ </node>
+ <node id="680">
+ <label>Console.h</label>
+ <link id="Console_8h"/>
+ <childnode id="681" relation="public-inheritance">
+ </childnode>
+ <childnode id="673" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="674">
+ <label>console.h</label>
+ </node>
+ <node id="676">
+ <label>Obj2D.h</label>
+ <link id="Obj2D_8h-source"/>
+ <childnode id="673" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="677">
+ <label>ObjRectangle.h</label>
+ <link id="ObjRectangle_8h-source"/>
+ <childnode id="673" relation="public-inheritance">
+ </childnode>
+ <childnode id="675" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="683">
+ <label>Sprite2D.h</label>
+ <link id="Sprite2D_8h-source"/>
+ <childnode id="673" relation="public-inheritance">
+ </childnode>
+ <childnode id="680" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="675">
+ <label>Obj.h</label>
+ <link id="Obj_8h-source"/>
+ <childnode id="673" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="678">
+ <label>ObjQuadrangle.h</label>
+ <link id="ObjQuadrangle_8h-source"/>
+ <childnode id="673" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="665">
+ <label>d3d8.h</label>
+ </node>
+ <node id="669">
+ <label>exception.h</label>
+ </node>
+ <node id="666">
+ <label>d3dx8.h</label>
+ </node>
+ <node id="661">
+ <label>stdio.h</label>
+ </node>
+ <node id="681">
+ <label>memory</label>
+ </node>
+ </incdepgraph>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// Sprite2D.cpp: Sprite2D \\81P\e\1?I\?\o\\81~\e\a\o\A!?\\81E\c\o</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// IuIo!\81\98</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// $Log: Sprite2D.cpp,v $</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:36 fujiwara</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// Revision 1.4 2001/07/09 20:30:09 fujiwara</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// Revision 1.3 2001/07/01 21:30:34 fujiwara</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">// \a\a\e\e!?\\81P\A\\81\98\A\\81P\81C\81áA??\81E</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:48:55 fujiwara</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="comment">#pragma warning( disable : 4786 ) //STL?I\81EU1d3\81\8b?\81E</highlight></codeline>
+<linenumber line="24"/><codeline></codeline>
+<linenumber line="25"/><codeline><highlight class="comment">// \a\a\e!?\e!?\\81P\81C!?DIN</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="preprocessor">#include "<ref idref="sfdebug_8h">sfdebug.h</ref>"</highlight></codeline>
+<linenumber line="27"/><codeline></codeline>
+<linenumber line="28"/><codeline><highlight class="comment">// SYSTEM INCLUDES</highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="30"/><codeline><highlight class="preprocessor">#include <stdio.h></highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="preprocessor">#include <queue></highlight></codeline>
+<linenumber line="32"/><codeline><highlight class="preprocessor">#include "windows.h"</highlight></codeline>
+<linenumber line="33"/><codeline><highlight class="preprocessor">#include "windowsx.h"</highlight></codeline>
+<linenumber line="34"/><codeline></codeline>
+<linenumber line="35"/><codeline><highlight class="preprocessor">#include "d3d8.h"</highlight></codeline>
+<linenumber line="36"/><codeline><highlight class="preprocessor">#include "d3dx8.h"</highlight></codeline>
+<linenumber line="37"/><codeline><highlight class="preprocessor">#include "dxerr8sf.h"</highlight></codeline>
+<linenumber line="38"/><codeline></codeline>
+<linenumber line="39"/><codeline></codeline>
+<linenumber line="40"/><codeline><highlight class="comment">// PROJECT INCLUDES</highlight></codeline>
+<linenumber line="41"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="42"/><codeline><highlight class="preprocessor">#include "exception.h"</highlight></codeline>
+<linenumber line="43"/><codeline><highlight class="preprocessor">#include "sound.h"</highlight></codeline>
+<linenumber line="44"/><codeline><highlight class="preprocessor">#include "<ref idref="System_8h">System.h</ref>"</highlight></codeline>
+<linenumber line="45"/><codeline><highlight class="preprocessor">#include "console.h"</highlight></codeline>
+<linenumber line="46"/><codeline><highlight class="preprocessor">#include "Obj.h"</highlight></codeline>
+<linenumber line="47"/><codeline><highlight class="preprocessor">#include "Obj2D.h"</highlight></codeline>
+<linenumber line="48"/><codeline><highlight class="preprocessor">#include "ObjRectangle.h"</highlight></codeline>
+<linenumber line="49"/><codeline><highlight class="preprocessor">#include "ObjQuadrangle.h"</highlight></codeline>
+<linenumber line="50"/><codeline><highlight class="preprocessor">#include "AbstractSprite.h"</highlight></codeline>
+<linenumber line="51"/><codeline><highlight class="preprocessor">#include "<ref idref="ConsoleImpl_8h">ConsoleImpl.h</ref>"</highlight></codeline>
+<linenumber line="52"/><codeline></codeline>
+<linenumber line="53"/><codeline></codeline>
+<linenumber line="54"/><codeline><highlight class="preprocessor">#include "Sprite2D.h"</highlight></codeline>
+<linenumber line="55"/><codeline></codeline>
+<linenumber line="56"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="57"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define new DEBUG_NEW</highlight></codeline>
+<linenumber line="58"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="59"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="60"/><codeline><highlight class="keyword">using</highlight> <highlight class="keyword">namespace </highlight>sf::system::console;</codeline>
+<linenumber line="61"/><codeline>using namespace sf::system::console::sprite;</codeline>
+<linenumber line="62"/><codeline></codeline>
+<linenumber line="64"/><codeline><highlight class="comment">// 1?AU/?AIC</highlight></codeline>
+<linenumber line="66"/><codeline><highlight class="comment">// \3\o\1\E\e\\81P\? !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="67"/><codeline>Sprite2D::Sprite2D(LPDIRECT3DDEVICE8 pD3DDevice) : AbstractSprite()</codeline>
+<linenumber line="68"/><codeline>{</codeline>
+<linenumber line="69"/><codeline> mpSpriteVtBuf = NULL;</codeline>
+<linenumber line="70"/><codeline> mpSpriteTexture = NULL;</codeline>
+<linenumber line="71"/><codeline> mCellCount = 0.0f;</codeline>
+<linenumber line="72"/><codeline> mCellHeight = mCellWidth = 0.0f;</codeline>
+<linenumber line="73"/><codeline> initialize(pD3DDevice);</codeline>
+<linenumber line="74"/><codeline></codeline>
+<linenumber line="75"/><codeline>}</codeline>
+<linenumber line="76"/><codeline><highlight class="comment">// \C\1\E\e\\81P\? !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="77"/><codeline>Sprite2D::~Sprite2D()</codeline>
+<linenumber line="78"/><codeline>{</codeline>
+<linenumber line="79"/><codeline> uninitialize();</codeline>
+<linenumber line="80"/><codeline>}</codeline>
+<linenumber line="81"/><codeline></codeline>
+<linenumber line="82"/><codeline><highlight class="comment">// ?e\81Lu2? !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="83"/><codeline><highlight class="keywordtype">void</highlight> Sprite2D::initialize(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="84"/><codeline>{</codeline>
+<linenumber line="85"/><codeline> uninitialize();</codeline>
+<linenumber line="86"/><codeline> mbUse = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="87"/><codeline></codeline>
+<linenumber line="88"/><codeline>}<highlight class="comment">// initialize()</highlight></codeline>
+<linenumber line="89"/><codeline></codeline>
+<linenumber line="90"/><codeline><highlight class="comment">// ?e\81Lu2? !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="91"/><codeline><highlight class="keywordtype">void</highlight> Sprite2D::initialize(LPDIRECT3DDEVICE8 pD3DDevice)</codeline>
+<linenumber line="92"/><codeline>{</codeline>
+<linenumber line="93"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a13">initialize</ref>();</codeline>
+<linenumber line="94"/><codeline></codeline>
+<linenumber line="95"/><codeline> mpD3DDevice = pD3DDevice;</codeline>
+<linenumber line="96"/><codeline>}<highlight class="comment">// initialize()</highlight></codeline>
+<linenumber line="97"/><codeline></codeline>
+<linenumber line="98"/><codeline><highlight class="comment">// \1\\81~\e\?\EIN\?\o\?!?\O\\81\98!?\1?I\e\e!?\1 !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="99"/><codeline><highlight class="keywordtype">void</highlight> Sprite2D::uninitialize(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="100"/><codeline>{</codeline>
+<linenumber line="101"/><codeline> <highlight class="keywordflow">if</highlight>(mpSpriteVtBuf)</codeline>
+<linenumber line="102"/><codeline> {</codeline>
+<linenumber line="103"/><codeline> mpSpriteVtBuf->Release();</codeline>
+<linenumber line="104"/><codeline> mpSpriteVtBuf = NULL;</codeline>
+<linenumber line="105"/><codeline> }</codeline>
+<linenumber line="106"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="107"/><codeline><highlight class="comment">// if(mpSprite3DVtBuf)</highlight></codeline>
+<linenumber line="108"/><codeline><highlight class="comment">// {</highlight></codeline>
+<linenumber line="109"/><codeline><highlight class="comment">// mpSprite3DVtBuf->Release();</highlight></codeline>
+<linenumber line="110"/><codeline><highlight class="comment">// mpSprite3DVtBuf = NULL;</highlight></codeline>
+<linenumber line="111"/><codeline><highlight class="comment">// }</highlight></codeline>
+<linenumber line="112"/><codeline></codeline>
+<linenumber line="113"/><codeline> <highlight class="keywordflow">if</highlight>(mpSpriteTexture){</codeline>
+<linenumber line="114"/><codeline> mpSpriteTexture->Release();</codeline>
+<linenumber line="115"/><codeline> mpSpriteTexture = NULL;</codeline>
+<linenumber line="116"/><codeline> }</codeline>
+<linenumber line="117"/><codeline><highlight class="comment">/*</highlight></codeline>
+<linenumber line="118"/><codeline><highlight class="comment"> if( mpMeshMaterials != NULL ) </highlight></codeline>
+<linenumber line="119"/><codeline><highlight class="comment"> delete[] mpMeshMaterials;</highlight></codeline>
+<linenumber line="120"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="121"/><codeline><highlight class="comment"> if( mpMeshTextures )</highlight></codeline>
+<linenumber line="122"/><codeline><highlight class="comment"> {</highlight></codeline>
+<linenumber line="123"/><codeline><highlight class="comment"> for( DWORD i = 0; i < mNumMaterials; i++ )</highlight></codeline>
+<linenumber line="124"/><codeline><highlight class="comment"> {</highlight></codeline>
+<linenumber line="125"/><codeline><highlight class="comment"> if( mpMeshTextures[i] )</highlight></codeline>
+<linenumber line="126"/><codeline><highlight class="comment"> mpMeshTextures[i]->Release();</highlight></codeline>
+<linenumber line="127"/><codeline><highlight class="comment"> }</highlight></codeline>
+<linenumber line="128"/><codeline><highlight class="comment"> delete[] mpMeshTextures;</highlight></codeline>
+<linenumber line="129"/><codeline><highlight class="comment"> }</highlight></codeline>
+<linenumber line="130"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="131"/><codeline><highlight class="comment"> if( mpMesh != NULL )</highlight></codeline>
+<linenumber line="132"/><codeline><highlight class="comment"> mpMesh->Release();</highlight></codeline>
+<linenumber line="133"/><codeline><highlight class="comment"> */</highlight> </codeline>
+<linenumber line="134"/><codeline> mbUse = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="135"/><codeline>}<highlight class="comment">// release()</highlight></codeline>
+<linenumber line="136"/><codeline></codeline>
+<linenumber line="137"/><codeline><highlight class="comment">// 2D\1\\81~\e\?\E?I\i!?\E -!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="138"/><codeline><highlight class="keywordtype">void</highlight> Sprite2D::load(<highlight class="keyword">const</highlight> Info *pInfo,<highlight class="keyword">const</highlight> D3DFORMAT textureFormat,<highlight class="keyword">const</highlight> COLOR color)</codeline>
+<linenumber line="139"/><codeline>{</codeline>
+<linenumber line="140"/><codeline> D3DXIMAGE_INFO img_info;</codeline>
+<linenumber line="141"/><codeline></codeline>
+<linenumber line="142"/><codeline> HRESULT hr = D3DXCreateTextureFromFileExA(</codeline>
+<linenumber line="143"/><codeline> mpD3DDevice,</codeline>
+<linenumber line="144"/><codeline> pInfo->fileName,</codeline>
+<linenumber line="145"/><codeline> D3DX_DEFAULT,</codeline>
+<linenumber line="146"/><codeline> D3DX_DEFAULT,</codeline>
+<linenumber line="147"/><codeline> 0,</codeline>
+<linenumber line="148"/><codeline> 0,</codeline>
+<linenumber line="149"/><codeline> textureFormat,</codeline>
+<linenumber line="150"/><codeline> D3DPOOL_MANAGED,</codeline>
+<linenumber line="151"/><codeline> D3DX_FILTER_NONE,</codeline>
+<linenumber line="152"/><codeline> D3DX_FILTER_NONE,</codeline>
+<linenumber line="153"/><codeline> color,</codeline>
+<linenumber line="154"/><codeline> &img_info,</codeline>
+<linenumber line="155"/><codeline> NULL,</codeline>
+<linenumber line="156"/><codeline> &mpSpriteTexture);</codeline>
+<linenumber line="157"/><codeline> </codeline>
+<linenumber line="158"/><codeline> <highlight class="keywordflow">if</highlight>(FAILED(hr))</codeline>
+<linenumber line="159"/><codeline> {</codeline>
+<linenumber line="160"/><codeline> std::string tmpErr(<highlight class="stringliteral">"Sprite Load Error:"</highlight>);</codeline>
+<linenumber line="161"/><codeline> tmpErr += DXGetErrorString8(hr);</codeline>
+<linenumber line="162"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(tmpErr,__FILE__,__LINE__);</codeline>
+<linenumber line="163"/><codeline> }</codeline>
+<linenumber line="164"/><codeline></codeline>
+<linenumber line="165"/><codeline> <ref idref="namespacesf_1a0">DWORD</ref> twidth = img_info.Width;</codeline>
+<linenumber line="166"/><codeline> <ref idref="namespacesf_1a0">DWORD</ref> theight = img_info.Height;</codeline>
+<linenumber line="167"/><codeline></codeline>
+<linenumber line="168"/><codeline> mWidth = twidth;</codeline>
+<linenumber line="169"/><codeline> mHeight = theight;</codeline>
+<linenumber line="170"/><codeline> </codeline>
+<linenumber line="171"/><codeline> mCenterX = pInfo->centerX;</codeline>
+<linenumber line="172"/><codeline> mCenterY = pInfo->centerY;</codeline>
+<linenumber line="173"/><codeline></codeline>
+<linenumber line="174"/><codeline> mCellWidth = pInfo->cellWidth;</codeline>
+<linenumber line="175"/><codeline> mCellHeight = pInfo->cellHeight;</codeline>
+<linenumber line="176"/><codeline></codeline>
+<linenumber line="177"/><codeline></codeline>
+<linenumber line="178"/><codeline><highlight class="comment">/* if(pInfo->cellWidth){</highlight></codeline>
+<linenumber line="179"/><codeline><highlight class="comment"> twidth = mCellWidth = pInfo->cellWidth;</highlight></codeline>
+<linenumber line="180"/><codeline><highlight class="comment"> }</highlight></codeline>
+<linenumber line="181"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="182"/><codeline><highlight class="comment"> if(pInfo->cellHeight){</highlight></codeline>
+<linenumber line="183"/><codeline><highlight class="comment"> theight = mCellHeight = pInfo->cellHeight;</highlight></codeline>
+<linenumber line="184"/><codeline><highlight class="comment"> }</highlight></codeline>
+<linenumber line="185"/><codeline><highlight class="comment">*/</highlight></codeline>
+<linenumber line="186"/><codeline> <highlight class="comment">// \D!?\A\A\\81P\1\D\A\O\!!E2D\1\\81~\e\?\EE??\81NIN!E?IA\81CAR</highlight></codeline>
+<linenumber line="187"/><codeline> <highlight class="keywordflow">if</highlight>(FAILED(hr = mpD3DDevice->CreateVertexBuffer(</codeline>
+<linenumber line="188"/><codeline> 4 * <highlight class="keyword">sizeof</highlight>(Vertex), </codeline>
+<linenumber line="189"/><codeline> 0 ,</codeline>
+<linenumber line="190"/><codeline> <ref idref="namespacesf_1_1system_1_1console_1a9">VertexFVF</ref>, </codeline>
+<linenumber line="191"/><codeline> D3DPOOL_MANAGED, &mpSpriteVtBuf)))</codeline>
+<linenumber line="192"/><codeline> {</codeline>
+<linenumber line="193"/><codeline> std::string tmpErr(<highlight class="stringliteral">"VertexBuffer Create Error:"</highlight>);</codeline>
+<linenumber line="194"/><codeline> tmpErr += DXGetErrorString8(hr);</codeline>
+<linenumber line="195"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(tmpErr,__FILE__,__LINE__);</codeline>
+<linenumber line="196"/><codeline> }</codeline>
+<linenumber line="197"/><codeline> </codeline>
+<linenumber line="198"/><codeline> use(<highlight class="keyword">true</highlight>);</codeline>
+<linenumber line="199"/><codeline>}<highlight class="comment">//loadSprite2D()</highlight></codeline>
+<linenumber line="200"/><codeline></codeline>
+<linenumber line="201"/><codeline><highlight class="comment">// \81\922\81\92A\1\\81~\e\?\E?IEA2e!E\81âI3N\81EA!E!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="202"/><codeline><highlight class="keywordtype">void</highlight> Sprite2D::draw(<highlight class="keyword">const</highlight> ObjRectangle * <highlight class="keyword">const</highlight> pObj)</codeline>
+<linenumber line="203"/><codeline>{</codeline>
+<linenumber line="204"/><codeline></codeline>
+<linenumber line="205"/><codeline> HRESULT hr;</codeline>
+<linenumber line="206"/><codeline> </codeline>
+<linenumber line="207"/><codeline> <highlight class="keywordtype">float</highlight> width;</codeline>
+<linenumber line="208"/><codeline> <highlight class="keywordtype">float</highlight> height;</codeline>
+<linenumber line="209"/><codeline> <highlight class="keywordtype">float</highlight> left,right,top,bottom;</codeline>
+<linenumber line="210"/><codeline> <highlight class="keywordtype">float</highlight> cos_,sin_;</codeline>
+<linenumber line="211"/><codeline> <highlight class="keywordtype">float</highlight> tu1,tu2,tv1,tv2;</codeline>
+<linenumber line="212"/><codeline> </codeline>
+<linenumber line="213"/><codeline> <highlight class="keywordflow">if</highlight>(!pObj->visibility() || !isUsed())</codeline>
+<linenumber line="214"/><codeline> <highlight class="keywordflow">return</highlight>;</codeline>
+<linenumber line="215"/><codeline></codeline>
+<linenumber line="216"/><codeline> D3DCOLOR diffuse = pObj->color();</codeline>
+<linenumber line="217"/><codeline> D3DCOLOR specular = pObj->specular();</codeline>
+<linenumber line="218"/><codeline></codeline>
+<linenumber line="219"/><codeline> calcUVPos(pObj,tu1,tu2,tv1,tv2);</codeline>
+<linenumber line="220"/><codeline></codeline>
+<linenumber line="221"/><codeline> Vertex* tlv;</codeline>
+<linenumber line="222"/><codeline> </codeline>
+<linenumber line="223"/><codeline> <highlight class="keywordflow">if</highlight>(!mCellHeight)</codeline>
+<linenumber line="224"/><codeline> height = mHeight * pObj->scalingY();</codeline>
+<linenumber line="225"/><codeline> <highlight class="keywordflow">else</highlight></codeline>
+<linenumber line="226"/><codeline> height = mCellHeight * pObj->scalingY();</codeline>
+<linenumber line="227"/><codeline></codeline>
+<linenumber line="228"/><codeline> <highlight class="keywordflow">if</highlight>(!mCellWidth)</codeline>
+<linenumber line="229"/><codeline> width = mWidth * pObj->scalingX();</codeline>
+<linenumber line="230"/><codeline> <highlight class="keywordflow">else</highlight></codeline>
+<linenumber line="231"/><codeline> width = mCellWidth * pObj->scalingX(); </codeline>
+<linenumber line="232"/><codeline> </codeline>
+<linenumber line="233"/><codeline> left = - (width / 2.0f) + mCenterX;</codeline>
+<linenumber line="234"/><codeline> right = width / 2.0f + mCenterX;</codeline>
+<linenumber line="235"/><codeline> top = - (height / 2.0f) + mCenterY;</codeline>
+<linenumber line="236"/><codeline> bottom = (height / 2.0f) + mCenterY;</codeline>
+<linenumber line="237"/><codeline> </codeline>
+<linenumber line="238"/><codeline> <highlight class="keywordflow">if</highlight>(pObj->angle() != 0.0f)</codeline>
+<linenumber line="239"/><codeline> {</codeline>
+<linenumber line="240"/><codeline> cos_ = cosf(pObj->angle());</codeline>
+<linenumber line="241"/><codeline> sin_ = sinf(pObj->angle());</codeline>
+<linenumber line="242"/><codeline></codeline>
+<linenumber line="243"/><codeline></codeline>
+<linenumber line="244"/><codeline> <highlight class="keywordtype">float</highlight> left_cos = left * cos_;</codeline>
+<linenumber line="245"/><codeline> <highlight class="keywordtype">float</highlight> left_sin = left * sin_;</codeline>
+<linenumber line="246"/><codeline> </codeline>
+<linenumber line="247"/><codeline> <highlight class="keywordtype">float</highlight> right_cos = right * cos_;</codeline>
+<linenumber line="248"/><codeline> <highlight class="keywordtype">float</highlight> right_sin = right * sin_;</codeline>
+<linenumber line="249"/><codeline></codeline>
+<linenumber line="250"/><codeline> <highlight class="keywordtype">float</highlight> top_cos = top * cos_;</codeline>
+<linenumber line="251"/><codeline> <highlight class="keywordtype">float</highlight> top_sin = top * sin_;</codeline>
+<linenumber line="252"/><codeline></codeline>
+<linenumber line="253"/><codeline> <highlight class="keywordtype">float</highlight> bottom_cos = bottom * cos_;</codeline>
+<linenumber line="254"/><codeline> <highlight class="keywordtype">float</highlight> bottom_sin = bottom * sin_;</codeline>
+<linenumber line="255"/><codeline></codeline>
+<linenumber line="256"/><codeline> mpSpriteVtBuf->Lock(0,0,(BYTE **)&tlv,0);</codeline>
+<linenumber line="257"/><codeline> </codeline>
+<linenumber line="258"/><codeline> tlv[0].x = pObj->x() + left_cos - top_sin;</codeline>
+<linenumber line="259"/><codeline> tlv[0].y = pObj->y() + left_sin + top_cos; </codeline>
+<linenumber line="260"/><codeline> tlv[0].z = pObj->z();</codeline>
+<linenumber line="261"/><codeline> tlv[0].diffuse = diffuse;</codeline>
+<linenumber line="262"/><codeline> tlv[0].specular = specular;</codeline>
+<linenumber line="263"/><codeline> tlv[0].tu = tu1;</codeline>
+<linenumber line="264"/><codeline> tlv[0].tv = tv1;</codeline>
+<linenumber line="265"/><codeline> tlv[0].rhw = 1.0f;</codeline>
+<linenumber line="266"/><codeline> </codeline>
+<linenumber line="267"/><codeline> tlv[1].x = pObj->x() + right_cos - top_sin;</codeline>
+<linenumber line="268"/><codeline> tlv[1].y = pObj->y() + right_sin + top_cos; </codeline>
+<linenumber line="269"/><codeline> tlv[1].z = pObj->z();</codeline>
+<linenumber line="270"/><codeline> tlv[1].diffuse = diffuse;</codeline>
+<linenumber line="271"/><codeline> tlv[1].specular = specular;</codeline>
+<linenumber line="272"/><codeline> tlv[1].tu = tu2;</codeline>
+<linenumber line="273"/><codeline> tlv[1].tv = tv1;</codeline>
+<linenumber line="274"/><codeline> tlv[1].rhw = 1.0f;</codeline>
+<linenumber line="275"/><codeline></codeline>
+<linenumber line="276"/><codeline> tlv[2].x = pObj->x() + left_cos - bottom_sin;</codeline>
+<linenumber line="277"/><codeline> tlv[2].y = pObj->y() + left_sin + bottom_cos; </codeline>
+<linenumber line="278"/><codeline> tlv[2].z = pObj->z();</codeline>
+<linenumber line="279"/><codeline> tlv[2].diffuse = diffuse;</codeline>
+<linenumber line="280"/><codeline> tlv[2].specular = specular;</codeline>
+<linenumber line="281"/><codeline> tlv[2].tu = tu1;</codeline>
+<linenumber line="282"/><codeline> tlv[2].tv = tv2;</codeline>
+<linenumber line="283"/><codeline> tlv[2].rhw = 1.0f;</codeline>
+<linenumber line="284"/><codeline> </codeline>
+<linenumber line="285"/><codeline> </codeline>
+<linenumber line="286"/><codeline> tlv[3].x = pObj->x() + right_cos - bottom_sin;</codeline>
+<linenumber line="287"/><codeline> tlv[3].y = pObj->y() + right_sin + bottom_cos; </codeline>
+<linenumber line="288"/><codeline> tlv[3].z = pObj->z();</codeline>
+<linenumber line="289"/><codeline> tlv[3].diffuse = diffuse;</codeline>
+<linenumber line="290"/><codeline> tlv[3].specular = specular;</codeline>
+<linenumber line="291"/><codeline> tlv[3].tu = tu2;</codeline>
+<linenumber line="292"/><codeline> tlv[3].tv = tv2;</codeline>
+<linenumber line="293"/><codeline> tlv[3].rhw = 1.0f;</codeline>
+<linenumber line="294"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="295"/><codeline> mpSpriteVtBuf->Lock(0,0,(BYTE **)&tlv,0);</codeline>
+<linenumber line="296"/><codeline> </codeline>
+<linenumber line="297"/><codeline> tlv[0].x = pObj->x() + left;</codeline>
+<linenumber line="298"/><codeline> tlv[0].y = pObj->y() + top; </codeline>
+<linenumber line="299"/><codeline> tlv[0].z = pObj->z();</codeline>
+<linenumber line="300"/><codeline> tlv[0].diffuse = diffuse;</codeline>
+<linenumber line="301"/><codeline> tlv[0].specular = specular;</codeline>
+<linenumber line="302"/><codeline> tlv[0].tu = tu1;</codeline>
+<linenumber line="303"/><codeline> tlv[0].tv = tv1;</codeline>
+<linenumber line="304"/><codeline> tlv[0].rhw = 1.0f;</codeline>
+<linenumber line="305"/><codeline> </codeline>
+<linenumber line="306"/><codeline> tlv[1].x = pObj->x() + right;</codeline>
+<linenumber line="307"/><codeline> tlv[1].y = pObj->y() + top; </codeline>
+<linenumber line="308"/><codeline> tlv[1].z = pObj->z();</codeline>
+<linenumber line="309"/><codeline> tlv[1].diffuse = diffuse;</codeline>
+<linenumber line="310"/><codeline> tlv[1].specular = specular;</codeline>
+<linenumber line="311"/><codeline> tlv[1].tu = tu2;</codeline>
+<linenumber line="312"/><codeline> tlv[1].tv = tv1;</codeline>
+<linenumber line="313"/><codeline> tlv[1].rhw = 1.0f;</codeline>
+<linenumber line="314"/><codeline> </codeline>
+<linenumber line="315"/><codeline> tlv[2].x = pObj->x() + left;</codeline>
+<linenumber line="316"/><codeline> tlv[2].y = pObj->y() + bottom; </codeline>
+<linenumber line="317"/><codeline> tlv[2].z = pObj->z();</codeline>
+<linenumber line="318"/><codeline> tlv[2].diffuse = diffuse;</codeline>
+<linenumber line="319"/><codeline> tlv[2].specular = specular;</codeline>
+<linenumber line="320"/><codeline> tlv[2].tu = tu1;</codeline>
+<linenumber line="321"/><codeline> tlv[2].tv = tv2;</codeline>
+<linenumber line="322"/><codeline> tlv[2].rhw = 1.0f;</codeline>
+<linenumber line="323"/><codeline> </codeline>
+<linenumber line="324"/><codeline> </codeline>
+<linenumber line="325"/><codeline> tlv[3].x = pObj->x() + right;</codeline>
+<linenumber line="326"/><codeline> tlv[3].y = pObj->y() + bottom; </codeline>
+<linenumber line="327"/><codeline> tlv[3].z = pObj->z();</codeline>
+<linenumber line="328"/><codeline> tlv[3].diffuse = diffuse;</codeline>
+<linenumber line="329"/><codeline> tlv[3].specular = specular;</codeline>
+<linenumber line="330"/><codeline> tlv[3].tu = tu2;</codeline>
+<linenumber line="331"/><codeline> tlv[3].tv = tv2;</codeline>
+<linenumber line="332"/><codeline> tlv[3].rhw = 1.0f;</codeline>
+<linenumber line="333"/><codeline></codeline>
+<linenumber line="334"/><codeline> }</codeline>
+<linenumber line="335"/><codeline> </codeline>
+<linenumber line="336"/><codeline> mpSpriteVtBuf->Unlock();</codeline>
+<linenumber line="337"/><codeline></codeline>
+<linenumber line="338"/><codeline> mpD3DDevice->SetRenderState(D3DRS_LIGHTING, FALSE);</codeline>
+<linenumber line="339"/><codeline></codeline>
+<linenumber line="340"/><codeline> mpD3DDevice->SetTexture(0,mpSpriteTexture);</codeline>
+<linenumber line="341"/><codeline> </codeline>
+<linenumber line="342"/><codeline> mpD3DDevice->SetVertexShader(<ref idref="namespacesf_1_1system_1_1console_1a9">VertexFVF</ref>);</codeline>
+<linenumber line="343"/><codeline> mpD3DDevice->SetStreamSource(0,mpSpriteVtBuf, <highlight class="keyword">sizeof</highlight>(Vertex));</codeline>
+<linenumber line="344"/><codeline> </codeline>
+<linenumber line="345"/><codeline> setRenderState(pObj->drawMode());</codeline>
+<linenumber line="346"/><codeline> </codeline>
+<linenumber line="347"/><codeline> hr = mpD3DDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP,0,2);</codeline>
+<linenumber line="348"/><codeline> mpD3DDevice->SetTexture(0,NULL);</codeline>
+<linenumber line="349"/><codeline></codeline>
+<linenumber line="350"/><codeline>}<highlight class="comment">// draw()</highlight></codeline>
+<linenumber line="351"/><codeline></codeline>
+<linenumber line="352"/><codeline></codeline>
+<linenumber line="353"/><codeline><highlight class="comment">// \1\\81~\e\?\E?IEA2e ------------------------------------------------------------</highlight></codeline>
+<linenumber line="354"/><codeline><highlight class="keywordtype">void</highlight> Sprite2D::draw(<highlight class="keyword">const</highlight> ObjQuadrangle * <highlight class="keyword">const</highlight> pObj)</codeline>
+<linenumber line="355"/><codeline>{</codeline>
+<linenumber line="356"/><codeline> <highlight class="keywordflow">if</highlight>(!pObj->visibility() || !isUsed() )</codeline>
+<linenumber line="357"/><codeline> <highlight class="keywordflow">return</highlight>;</codeline>
+<linenumber line="358"/><codeline></codeline>
+<linenumber line="359"/><codeline> HRESULT hr;</codeline>
+<linenumber line="360"/><codeline> </codeline>
+<linenumber line="361"/><codeline> <highlight class="keywordtype">float</highlight> cos_,sin_;</codeline>
+<linenumber line="362"/><codeline> </codeline>
+<linenumber line="363"/><codeline> <highlight class="keyword">const</highlight> Vertex* vertex;</codeline>
+<linenumber line="364"/><codeline> Vertex* ptlv;</codeline>
+<linenumber line="365"/><codeline></codeline>
+<linenumber line="366"/><codeline> <highlight class="keywordtype">float</highlight> rot_x = mCenterX;</codeline>
+<linenumber line="367"/><codeline> <highlight class="keywordtype">float</highlight> rot_y = mCenterY;</codeline>
+<linenumber line="368"/><codeline></codeline>
+<linenumber line="369"/><codeline> <highlight class="keywordtype">float</highlight> scaling_x = pObj->scalingX();</codeline>
+<linenumber line="370"/><codeline> <highlight class="keywordtype">float</highlight> scaling_y = pObj->scalingY();</codeline>
+<linenumber line="371"/><codeline></codeline>
+<linenumber line="372"/><codeline> <highlight class="keywordtype">float</highlight> u1,u2,v1,v2;</codeline>
+<linenumber line="373"/><codeline> </codeline>
+<linenumber line="374"/><codeline> calcUVPos(pObj,u1,u2,v1,v2);</codeline>
+<linenumber line="375"/><codeline></codeline>
+<linenumber line="376"/><codeline> mpSpriteVtBuf->Lock(0,0,(BYTE **)&ptlv,0);</codeline>
+<linenumber line="377"/><codeline> </codeline>
+<linenumber line="378"/><codeline> ptlv[0].tu = u1;</codeline>
+<linenumber line="379"/><codeline> ptlv[0].tv = v1;</codeline>
+<linenumber line="380"/><codeline> ptlv[1].tu = u2;</codeline>
+<linenumber line="381"/><codeline> ptlv[1].tv = v1;</codeline>
+<linenumber line="382"/><codeline> ptlv[2].tu = u1;</codeline>
+<linenumber line="383"/><codeline> ptlv[2].tv = v2;</codeline>
+<linenumber line="384"/><codeline> ptlv[3].tu = u2;</codeline>
+<linenumber line="385"/><codeline> ptlv[3].tv = v2;</codeline>
+<linenumber line="386"/><codeline></codeline>
+<linenumber line="387"/><codeline> <highlight class="keywordflow">if</highlight>(pObj->angle() != 0.0f)</codeline>
+<linenumber line="388"/><codeline> {</codeline>
+<linenumber line="389"/><codeline> cos_ = cosf(pObj->angle());</codeline>
+<linenumber line="390"/><codeline> sin_ = sinf(pObj->angle());</codeline>
+<linenumber line="391"/><codeline></codeline>
+<linenumber line="392"/><codeline></codeline>
+<linenumber line="393"/><codeline> <highlight class="keywordflow">for</highlight>(<highlight class="keywordtype">int</highlight> i = 0;i < 4;i++)</codeline>
+<linenumber line="394"/><codeline> {</codeline>
+<linenumber line="395"/><codeline> vertex = pObj->vertex(i);</codeline>
+<linenumber line="396"/><codeline></codeline>
+<linenumber line="397"/><codeline> ptlv[i].x = pObj->x() </codeline>
+<linenumber line="398"/><codeline> + ( vertex->x - rot_x) * cos_</codeline>
+<linenumber line="399"/><codeline> - ( vertex->y - rot_y) * sin_;</codeline>
+<linenumber line="400"/><codeline> ptlv[i].y = pObj->y() </codeline>
+<linenumber line="401"/><codeline> + ( vertex->x - rot_x) * sin_</codeline>
+<linenumber line="402"/><codeline> + ( vertex->y - rot_y) * cos_;</codeline>
+<linenumber line="403"/><codeline></codeline>
+<linenumber line="404"/><codeline> ptlv[i].diffuse = vertex->diffuse;</codeline>
+<linenumber line="405"/><codeline> ptlv[i].specular = vertex->specular;</codeline>
+<linenumber line="406"/><codeline><highlight class="comment">// ptlv[i].tu = vertex->tu;</highlight></codeline>
+<linenumber line="407"/><codeline><highlight class="comment">// ptlv[i].tv = vertex->tv;</highlight></codeline>
+<linenumber line="408"/><codeline> ptlv[i].rhw = 1.0f;</codeline>
+<linenumber line="409"/><codeline> }</codeline>
+<linenumber line="410"/><codeline> </codeline>
+<linenumber line="411"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="412"/><codeline></codeline>
+<linenumber line="413"/><codeline> <highlight class="keywordflow">for</highlight>(<highlight class="keywordtype">int</highlight> i = 0;i < 4;i++)</codeline>
+<linenumber line="414"/><codeline> {</codeline>
+<linenumber line="415"/><codeline> vertex = pObj->vertex(i);</codeline>
+<linenumber line="416"/><codeline></codeline>
+<linenumber line="417"/><codeline> ptlv[i].x = pObj->x() + vertex->x * scaling_x;</codeline>
+<linenumber line="418"/><codeline> ptlv[i].y = pObj->y() + vertex->y * scaling_y;</codeline>
+<linenumber line="419"/><codeline></codeline>
+<linenumber line="420"/><codeline> ptlv[i].diffuse = vertex->diffuse;</codeline>
+<linenumber line="421"/><codeline> ptlv[i].specular = vertex->specular;</codeline>
+<linenumber line="422"/><codeline><highlight class="comment">// ptlv[i].tu = vertex->tu;</highlight></codeline>
+<linenumber line="423"/><codeline><highlight class="comment">// ptlv[i].tv = vertex->tv;</highlight></codeline>
+<linenumber line="424"/><codeline> ptlv[i].rhw = 1.0f;</codeline>
+<linenumber line="425"/><codeline> }</codeline>
+<linenumber line="426"/><codeline></codeline>
+<linenumber line="427"/><codeline> }</codeline>
+<linenumber line="428"/><codeline> </codeline>
+<linenumber line="429"/><codeline> mpSpriteVtBuf->Unlock();</codeline>
+<linenumber line="430"/><codeline> </codeline>
+<linenumber line="431"/><codeline> mpD3DDevice->SetTexture(0,mpSpriteTexture);</codeline>
+<linenumber line="432"/><codeline> mpD3DDevice->SetVertexShader(<ref idref="namespacesf_1_1system_1_1console_1a9">VertexFVF</ref>);</codeline>
+<linenumber line="433"/><codeline></codeline>
+<linenumber line="434"/><codeline> mpD3DDevice->SetStreamSource(0,mpSpriteVtBuf,<highlight class="keyword">sizeof</highlight>(Vertex));</codeline>
+<linenumber line="435"/><codeline></codeline>
+<linenumber line="436"/><codeline> setRenderState(pObj->drawMode());</codeline>
+<linenumber line="437"/><codeline> mpD3DDevice->SetRenderState(D3DRS_LIGHTING, FALSE);</codeline>
+<linenumber line="438"/><codeline> </codeline>
+<linenumber line="439"/><codeline> hr = mpD3DDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP,0,2);</codeline>
+<linenumber line="440"/><codeline> mpD3DDevice->SetTexture(0,NULL);</codeline>
+<linenumber line="441"/><codeline> </codeline>
+<linenumber line="442"/><codeline>}<highlight class="comment">// draw</highlight></codeline>
+<linenumber line="443"/><codeline></codeline>
+<linenumber line="444"/><codeline><highlight class="comment">// \A\\81P\1\A\a?I\81\8bIAO?o\83Êa?a?e !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="445"/><codeline><highlight class="keywordtype">void</highlight> Sprite2D::calcUVPos(<highlight class="keyword">const</highlight> Obj2D * <highlight class="keyword">const</highlight> pObj,<highlight class="keywordtype">float</highlight>& u1,<highlight class="keywordtype">float</highlight>& u2,<highlight class="keywordtype">float</highlight>& v1,<highlight class="keywordtype">float</highlight>& v2)</codeline>
+<linenumber line="446"/><codeline>{</codeline>
+<linenumber line="447"/><codeline> <highlight class="keywordtype">float</highlight> cu1,cu2,cv1,cv2;</codeline>
+<linenumber line="448"/><codeline> </codeline>
+<linenumber line="449"/><codeline> <highlight class="keywordflow">if</highlight>(mCellWidth){</codeline>
+<linenumber line="450"/><codeline> <highlight class="keywordtype">int</highlight> cell_ix = pObj->index() % (int)(mWidth / mCellWidth);</codeline>
+<linenumber line="451"/><codeline> cu1 = (float)cell_ix * mCellWidth / mWidth;</codeline>
+<linenumber line="452"/><codeline> cu2 = (float)(cell_ix + 1) * (mCellWidth - 0.008f) / mWidth;</codeline>
+<linenumber line="453"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="454"/><codeline> cu1 = 0.0f;</codeline>
+<linenumber line="455"/><codeline> cu2 = 1.0f;</codeline>
+<linenumber line="456"/><codeline> }</codeline>
+<linenumber line="457"/><codeline></codeline>
+<linenumber line="458"/><codeline> <highlight class="keywordflow">if</highlight>(mCellHeight){</codeline>
+<linenumber line="459"/><codeline> <highlight class="keywordtype">int</highlight> cell_iy = pObj->index() / (mWidth / mCellHeight);</codeline>
+<linenumber line="460"/><codeline> cv1 = (float)cell_iy * mCellHeight / mHeight;</codeline>
+<linenumber line="461"/><codeline> cv2 = (float)(cell_iy + 1) * (mCellHeight - 0.008f) / mHeight;</codeline>
+<linenumber line="462"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="463"/><codeline> cv1 = 0.0f;</codeline>
+<linenumber line="464"/><codeline> cv2 = 1.0f;</codeline>
+<linenumber line="465"/><codeline> }</codeline>
+<linenumber line="466"/><codeline></codeline>
+<linenumber line="467"/><codeline> <highlight class="comment">// XE?A?</highlight></codeline>
+<linenumber line="468"/><codeline> <highlight class="keywordflow">if</highlight>(pObj->reverseX()){</codeline>
+<linenumber line="469"/><codeline> u1 = cu2;</codeline>
+<linenumber line="470"/><codeline> u2 = cu1;</codeline>
+<linenumber line="471"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="472"/><codeline> u1 = cu1;</codeline>
+<linenumber line="473"/><codeline> u2 = cu2;</codeline>
+<linenumber line="474"/><codeline> }</codeline>
+<linenumber line="475"/><codeline></codeline>
+<linenumber line="476"/><codeline> <highlight class="comment">// YE?A?</highlight></codeline>
+<linenumber line="477"/><codeline> <highlight class="keywordflow">if</highlight>(pObj->reverseY()){</codeline>
+<linenumber line="478"/><codeline> v1 = cv2;</codeline>
+<linenumber line="479"/><codeline> v2 = cv1;</codeline>
+<linenumber line="480"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="481"/><codeline> v1 = cv1;</codeline>
+<linenumber line="482"/><codeline> v2 = cv2;</codeline>
+<linenumber line="483"/><codeline> }</codeline>
+<linenumber line="484"/><codeline></codeline>
+<linenumber line="485"/><codeline>};</codeline>
+<linenumber line="486"/><codeline></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/Sprite2D.cpp"/>
+ </compounddef>
+ <compounddef id="Sprite2D_8h" kind="file">
+ <compoundname>Sprite2D.h</compoundname>
+ <includes id="sf_8h" local="yes">sf.h</includes>
+ <includes id="Console_8h" local="yes">Console.h</includes>
+ <includedby id="ConsoleImpl_8cpp" local="yes">ConsoleImpl.cpp</includedby>
+ <includedby id="Sprite2D_8cpp" local="yes">Sprite2D.cpp</includedby>
+ <incdepgraph>
+ <node id="686">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="687">
+ <label>Console.h</label>
+ <link id="Console_8h"/>
+ <childnode id="688" relation="public-inheritance">
+ </childnode>
+ <childnode id="686" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="685">
+ <label>Sprite2D.h</label>
+ <link id="Sprite2D.h"/>
+ <childnode id="686" relation="public-inheritance">
+ </childnode>
+ <childnode id="687" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="688">
+ <label>memory</label>
+ </node>
+ </incdepgraph>
+ <invincdepgraph>
+ <node id="691">
+ <label>Sprite2D.cpp</label>
+ <link id="Sprite2D_8cpp-source"/>
+ </node>
+ <node id="690">
+ <label>ConsoleImpl.cpp</label>
+ <link id="ConsoleImpl_8cpp-source"/>
+ </node>
+ <node id="689">
+ <label>Sprite2D.h</label>
+ <link id="Sprite2D.h"/>
+ <childnode id="690" relation="public-inheritance">
+ </childnode>
+ <childnode id="691" relation="public-inheritance">
+ </childnode>
+ </node>
+ </invincdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1console">sf::system::console</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1console_1_1sprite">sf::system::console::sprite</innernamespace>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="Sprite2D_8h_1a0" virt="normal" prot="public">
+ <name>AFX_SPRITE2D_H__6DA7673D_29FF_4B0A_838E_FE14D70C7E27__INCLUDED_</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite2D.h" line="32" bodystart="32" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// Sprite2D.h: Sprite2D \\81P\e\1?I\?\o\?!?\O\\81\98\?\1</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// IuIo!\81\98</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// $Log: Sprite2D.h,v $</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// Revision 1.3 2001/11/06 21:27:42 fujiwara</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// AcEy11?\81EA\81\8b\D\A\\81P\\81\91\A\\81~</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">// Revision 1.2 2001/10/28 21:35:56 fujiwara</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:36 fujiwara</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">// Revision 1.4 2001/07/09 20:30:09 fujiwara</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">// Revision 1.3 2001/05/13 20:04:24 fujiwara</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">// \a\a\e!?\e!?\\81P?\81ÊE\81PA\81C?\81E???I?C?e?e?u?\81P!\81\92</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment">// ?\81áAA?I\\83Ê\|\o\E\A\1\E</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:48:55 fujiwara</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="30"/><codeline></codeline>
+<linenumber line="31"/><codeline><highlight class="preprocessor">#if !defined(AFX_SPRITE2D_H__6DA7673D_29FF_4B0A_838E_FE14D70C7E27__INCLUDED_)</highlight></codeline>
+<linenumber line="32"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define AFX_SPRITE2D_H__6DA7673D_29FF_4B0A_838E_FE14D70C7E27__INCLUDED_</highlight></codeline>
+<linenumber line="33"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="34"/><codeline><highlight class="preprocessor">#if _MSC_VER > 1000</highlight></codeline>
+<linenumber line="35"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#pragma once</highlight></codeline>
+<linenumber line="36"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif // _MSC_VER > 1000</highlight></codeline>
+<linenumber line="37"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include "sf.h"</highlight> </codeline>
+<linenumber line="38"/><codeline><highlight class="preprocessor">#include "<ref idref="Console_8h">Console.h</ref>"</highlight></codeline>
+<linenumber line="39"/><codeline><highlight class="keyword">extern</highlight> <highlight class="stringliteral">"C"</highlight> {</codeline>
+<linenumber line="40"/><codeline><highlight class="keyword">namespace </highlight>sf{</codeline>
+<linenumber line="41"/><codeline> <highlight class="keyword">namespace </highlight>system{</codeline>
+<linenumber line="42"/><codeline> <highlight class="keyword">namespace </highlight>console {</codeline>
+<linenumber line="43"/><codeline> <highlight class="keyword">namespace </highlight>sprite {</codeline>
+<linenumber line="44"/><codeline></codeline>
+<linenumber line="45"/><codeline><highlight class="keyword">class </highlight>Sprite2D : <highlight class="keyword">public</highlight> AbstractSprite </codeline>
+<linenumber line="46"/><codeline>{</codeline>
+<linenumber line="47"/><codeline> <highlight class="comment">// LIFECYCLE //</highlight></codeline>
+<linenumber line="48"/><codeline><highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="49"/><codeline> Sprite2D(LPDIRECT3DDEVICE8 pD3DDevice);</codeline>
+<linenumber line="50"/><codeline> <highlight class="keyword">virtual</highlight> ~Sprite2D();</codeline>
+<linenumber line="51"/><codeline> <highlight class="comment">// OPERATIONS //</highlight></codeline>
+<linenumber line="52"/><codeline> <highlight class="keywordtype">void</highlight> initialize(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="53"/><codeline> <highlight class="keywordtype">void</highlight> initialize(LPDIRECT3DDEVICE8 pD3DDevice);</codeline>
+<linenumber line="54"/><codeline> <highlight class="keywordtype">void</highlight> uninitialize(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="55"/><codeline> <highlight class="keywordtype">void</highlight> load(<highlight class="keyword">const</highlight> sprite::Info *pInfo,<highlight class="keyword">const</highlight> D3DFORMAT textureFormat,<highlight class="keyword">const</highlight> COLOR color);</codeline>
+<linenumber line="56"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a1">draw</ref>(<highlight class="keyword">const</highlight> ObjRectangle * <highlight class="keyword">const</highlight> pObj);</codeline>
+<linenumber line="57"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a1">draw</ref>(<highlight class="keyword">const</highlight> ObjQuadrangle * <highlight class="keyword">const</highlight> pObj);</codeline>
+<linenumber line="58"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a1">draw</ref>(<highlight class="keyword">const</highlight> Obj3DL * <highlight class="keyword">const</highlight> pObj){<highlight class="keywordflow">return</highlight>;};</codeline>
+<linenumber line="59"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> width(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight></codeline>
+<linenumber line="60"/><codeline><highlight class="keyword"> </highlight>{</codeline>
+<linenumber line="61"/><codeline> <highlight class="keywordflow">if</highlight>(mCellWidth != 0.0f)</codeline>
+<linenumber line="62"/><codeline> <highlight class="keywordflow">return</highlight> mCellWidth;</codeline>
+<linenumber line="63"/><codeline> <highlight class="keywordflow">return</highlight> mWidth;</codeline>
+<linenumber line="64"/><codeline> };</codeline>
+<linenumber line="65"/><codeline></codeline>
+<linenumber line="66"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> height(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{</codeline>
+<linenumber line="67"/><codeline> <highlight class="keywordflow">if</highlight>(mCellHeight != 0.0f)</codeline>
+<linenumber line="68"/><codeline> <highlight class="keywordflow">return</highlight> mCellHeight;</codeline>
+<linenumber line="69"/><codeline> <highlight class="keywordflow">return</highlight> mHeight;</codeline>
+<linenumber line="70"/><codeline> };</codeline>
+<linenumber line="71"/><codeline></codeline>
+<linenumber line="72"/><codeline><highlight class="keyword">private</highlight>:</codeline>
+<linenumber line="73"/><codeline> <highlight class="keywordtype">void</highlight> calcUVPos(<highlight class="keyword">const</highlight> Obj2D * <highlight class="keyword">const</highlight> pObj,<highlight class="keywordtype">float</highlight>& u1,<highlight class="keywordtype">float</highlight>& u2,<highlight class="keywordtype">float</highlight>& v1,<highlight class="keywordtype">float</highlight>& v2);</codeline>
+<linenumber line="74"/><codeline> IDirect3DTexture8* mpSpriteTexture;</codeline>
+<linenumber line="75"/><codeline> IDirect3DVertexBuffer8* mpSpriteVtBuf;</codeline>
+<linenumber line="76"/><codeline></codeline>
+<linenumber line="77"/><codeline> <highlight class="keywordtype">float</highlight> mCellWidth;</codeline>
+<linenumber line="78"/><codeline> <highlight class="keywordtype">float</highlight> mCellHeight;</codeline>
+<linenumber line="79"/><codeline> <highlight class="keywordtype">float</highlight> mCellCount;</codeline>
+<linenumber line="80"/><codeline></codeline>
+<linenumber line="81"/><codeline>};<highlight class="comment">// SpriteImpl</highlight></codeline>
+<linenumber line="82"/><codeline> }</codeline>
+<linenumber line="83"/><codeline> }</codeline>
+<linenumber line="84"/><codeline> }</codeline>
+<linenumber line="85"/><codeline>}</codeline>
+<linenumber line="86"/><codeline>}</codeline>
+<linenumber line="87"/><codeline><highlight class="preprocessor">#endif // !defined(AFX_SPRITE2D_H__6DA7673D_29FF_4B0A_838E_FE14D70C7E27__INCLUDED_)</highlight></codeline>
+<linenumber line="88"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/Sprite2D.h"/>
+ </compounddef>
+ <compounddef id="Sprite3D_8cpp" kind="file">
+ <compoundname>Sprite3D.cpp</compoundname>
+ <includes id="sfdebug_8h" local="yes">sfdebug.h</includes>
+ <includes local="no">stdio.h</includes>
+ <includes local="no">queue</includes>
+ <includes local="yes">windows.h</includes>
+ <includes local="yes">windowsx.h</includes>
+ <includes local="yes">d3d8.h</includes>
+ <includes local="yes">d3dx8.h</includes>
+ <includes id="dxerr8sf_8h" local="yes">dxerr8sf.h</includes>
+ <includes local="yes">exception.h</includes>
+ <includes local="yes">sound.h</includes>
+ <includes id="System_8h" local="yes">System.h</includes>
+ <includes local="yes">console.h</includes>
+ <includes id="Obj_8h" local="yes">Obj.h</includes>
+ <includes id="Obj3D_8h" local="yes">Obj3D.h</includes>
+ <includes id="Obj3DL_8h" local="yes">Obj3DL.h</includes>
+ <includes id="AbstractSprite_8h" local="yes">AbstractSprite.h</includes>
+ <includes id="ConsoleImpl_8h" local="yes">ConsoleImpl.h</includes>
+ <includes id="Sprite3D_8h" local="yes">Sprite3D.h</includes>
+ <incdepgraph>
+ <node id="701">
+ <label>dxerr8.h</label>
+ </node>
+ <node id="695">
+ <label>queue</label>
+ </node>
+ <node id="696">
+ <label>windows.h</label>
+ </node>
+ <node id="704">
+ <label>System.h</label>
+ <link id="System_8h"/>
+ <childnode id="705" relation="public-inheritance">
+ </childnode>
+ <childnode id="706" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="697">
+ <label>windowsx.h</label>
+ </node>
+ <node id="705">
+ <label>string</label>
+ </node>
+ <node id="714">
+ <label>ConsoleImpl.h</label>
+ <link id="ConsoleImpl_8h"/>
+ <childnode id="706" relation="public-inheritance">
+ </childnode>
+ <childnode id="712" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="700">
+ <label>dxerr8sf.h</label>
+ <link id="dxerr8sf_8h-source"/>
+ <childnode id="701" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="693">
+ <label>sfdebug.h</label>
+ <link id="sfdebug_8h"/>
+ </node>
+ <node id="711">
+ <label>AbstractSprite.h</label>
+ <link id="AbstractSprite_8h-source"/>
+ <childnode id="706" relation="public-inheritance">
+ </childnode>
+ <childnode id="712" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="706">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="703">
+ <label>sound.h</label>
+ </node>
+ <node id="712">
+ <label>Console.h</label>
+ <link id="Console_8h"/>
+ <childnode id="713" relation="public-inheritance">
+ </childnode>
+ <childnode id="706" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="707">
+ <label>console.h</label>
+ </node>
+ <node id="709">
+ <label>Obj3D.h</label>
+ <link id="Obj3D_8h-source"/>
+ <childnode id="706" relation="public-inheritance">
+ </childnode>
+ <childnode id="708" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="715">
+ <label>Sprite3D.h</label>
+ <link id="Sprite3D_8h-source"/>
+ <childnode id="706" relation="public-inheritance">
+ </childnode>
+ <childnode id="711" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="710">
+ <label>Obj3DL.h</label>
+ <link id="Obj3DL_8h-source"/>
+ <childnode id="706" relation="public-inheritance">
+ </childnode>
+ <childnode id="709" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="708">
+ <label>Obj.h</label>
+ <link id="Obj_8h-source"/>
+ <childnode id="706" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="698">
+ <label>d3d8.h</label>
+ </node>
+ <node id="702">
+ <label>exception.h</label>
+ </node>
+ <node id="699">
+ <label>d3dx8.h</label>
+ </node>
+ <node id="694">
+ <label>stdio.h</label>
+ </node>
+ <node id="692">
+ <label>Sprite3D.cpp</label>
+ <link id="Sprite3D.cpp"/>
+ <childnode id="693" relation="public-inheritance">
+ </childnode>
+ <childnode id="694" relation="public-inheritance">
+ </childnode>
+ <childnode id="695" relation="public-inheritance">
+ </childnode>
+ <childnode id="696" relation="public-inheritance">
+ </childnode>
+ <childnode id="697" relation="public-inheritance">
+ </childnode>
+ <childnode id="698" relation="public-inheritance">
+ </childnode>
+ <childnode id="699" relation="public-inheritance">
+ </childnode>
+ <childnode id="700" relation="public-inheritance">
+ </childnode>
+ <childnode id="702" relation="public-inheritance">
+ </childnode>
+ <childnode id="703" relation="public-inheritance">
+ </childnode>
+ <childnode id="704" relation="public-inheritance">
+ </childnode>
+ <childnode id="707" relation="public-inheritance">
+ </childnode>
+ <childnode id="708" relation="public-inheritance">
+ </childnode>
+ <childnode id="709" relation="public-inheritance">
+ </childnode>
+ <childnode id="710" relation="public-inheritance">
+ </childnode>
+ <childnode id="711" relation="public-inheritance">
+ </childnode>
+ <childnode id="714" relation="public-inheritance">
+ </childnode>
+ <childnode id="715" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="713">
+ <label>memory</label>
+ </node>
+ </incdepgraph>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// Sprite3D.cpp: Sprite3D \\81P\e\1?I\?\o\\81~\e\a\o\A!?\\81E\c\o</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// IuIo!\81\98</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// $Log: Sprite3D.cpp,v $</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:36 fujiwara</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">// Revision 1.4 2001/07/09 20:30:09 fujiwara</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">// Revision 1.3 2001/07/01 21:30:34 fujiwara</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// \a\a\e\e!?\\81P\A\\81\98\A\\81P\81C\81áA??\81E</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:48:55 fujiwara</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="preprocessor">#pragma warning( disable : 4786 ) //STL?I\81EU1d3\81\8b?\81E</highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="comment">// \a\a\e!?\e!?\\81P\81C!?DIN</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="preprocessor">#include "<ref idref="sfdebug_8h">sfdebug.h</ref>"</highlight></codeline>
+<linenumber line="27"/><codeline></codeline>
+<linenumber line="28"/><codeline><highlight class="comment">// SYSTEM INCLUDES</highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="30"/><codeline><highlight class="preprocessor">#include <stdio.h></highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="preprocessor">#include <queue></highlight></codeline>
+<linenumber line="32"/><codeline><highlight class="preprocessor">#include "windows.h"</highlight></codeline>
+<linenumber line="33"/><codeline><highlight class="preprocessor">#include "windowsx.h"</highlight></codeline>
+<linenumber line="34"/><codeline></codeline>
+<linenumber line="35"/><codeline><highlight class="preprocessor">#include "d3d8.h"</highlight></codeline>
+<linenumber line="36"/><codeline><highlight class="preprocessor">#include "d3dx8.h"</highlight></codeline>
+<linenumber line="37"/><codeline><highlight class="preprocessor">#include "dxerr8sf.h"</highlight></codeline>
+<linenumber line="38"/><codeline></codeline>
+<linenumber line="39"/><codeline></codeline>
+<linenumber line="40"/><codeline><highlight class="comment">// PROJECT INCLUDES</highlight></codeline>
+<linenumber line="41"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="42"/><codeline><highlight class="preprocessor">#include "exception.h"</highlight></codeline>
+<linenumber line="43"/><codeline><highlight class="preprocessor">#include "sound.h"</highlight></codeline>
+<linenumber line="44"/><codeline><highlight class="preprocessor">#include "<ref idref="System_8h">System.h</ref>"</highlight></codeline>
+<linenumber line="45"/><codeline><highlight class="preprocessor">#include "console.h"</highlight></codeline>
+<linenumber line="46"/><codeline><highlight class="preprocessor">#include "Obj.h"</highlight></codeline>
+<linenumber line="47"/><codeline><highlight class="preprocessor">#include "Obj3D.h"</highlight></codeline>
+<linenumber line="48"/><codeline><highlight class="preprocessor">#include "Obj3DL.h"</highlight></codeline>
+<linenumber line="49"/><codeline><highlight class="preprocessor">#include "AbstractSprite.h"</highlight></codeline>
+<linenumber line="50"/><codeline><highlight class="preprocessor">#include "<ref idref="ConsoleImpl_8h">ConsoleImpl.h</ref>"</highlight></codeline>
+<linenumber line="51"/><codeline></codeline>
+<linenumber line="52"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="53"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define new DEBUG_NEW</highlight></codeline>
+<linenumber line="54"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="55"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="56"/><codeline><highlight class="preprocessor">#include "Sprite3D.h"</highlight></codeline>
+<linenumber line="57"/><codeline></codeline>
+<linenumber line="58"/><codeline><highlight class="keyword">using</highlight> <highlight class="keyword">namespace </highlight>sf::system::console;</codeline>
+<linenumber line="59"/><codeline>using namespace sf::system::console::sprite;</codeline>
+<linenumber line="60"/><codeline></codeline>
+<linenumber line="62"/><codeline><highlight class="comment">// 1?AU/?AIC</highlight></codeline>
+<linenumber line="64"/><codeline><highlight class="comment">// \3\o\1\E\e\\81P\? !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="65"/><codeline>Sprite3D::Sprite3D(LPDIRECT3DDEVICE8 pD3DDevice)</codeline>
+<linenumber line="66"/><codeline>{</codeline>
+<linenumber line="67"/><codeline> mpSprite3DVtBuf = NULL;</codeline>
+<linenumber line="68"/><codeline> mpSpriteTexture = NULL;</codeline>
+<linenumber line="69"/><codeline> mCellWidth = mCellHeight = 0.0f;</codeline>
+<linenumber line="70"/><codeline> mCellCount = 0.0f;</codeline>
+<linenumber line="71"/><codeline></codeline>
+<linenumber line="72"/><codeline> initialize(pD3DDevice);</codeline>
+<linenumber line="73"/><codeline>}</codeline>
+<linenumber line="74"/><codeline></codeline>
+<linenumber line="75"/><codeline><highlight class="comment">// \C\1\E\e\\81P\? !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="76"/><codeline>Sprite3D::~Sprite3D()</codeline>
+<linenumber line="77"/><codeline>{</codeline>
+<linenumber line="78"/><codeline> uninitialize();</codeline>
+<linenumber line="79"/><codeline>}<highlight class="comment">//Sprite3D</highlight></codeline>
+<linenumber line="80"/><codeline></codeline>
+<linenumber line="81"/><codeline><highlight class="comment">// ?e\81Lu2? !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="82"/><codeline><highlight class="keywordtype">void</highlight> Sprite3D::initialize(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="83"/><codeline>{</codeline>
+<linenumber line="84"/><codeline> uninitialize();</codeline>
+<linenumber line="85"/><codeline> mbUse = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="86"/><codeline></codeline>
+<linenumber line="87"/><codeline>}<highlight class="comment">// initialize()</highlight></codeline>
+<linenumber line="88"/><codeline><highlight class="comment">// ?e\81Lu2? !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="89"/><codeline><highlight class="keywordtype">void</highlight> Sprite3D::initialize(LPDIRECT3DDEVICE8 pD3DDevice)</codeline>
+<linenumber line="90"/><codeline>{</codeline>
+<linenumber line="91"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a13">initialize</ref>();</codeline>
+<linenumber line="92"/><codeline></codeline>
+<linenumber line="93"/><codeline> mpD3DDevice = pD3DDevice;</codeline>
+<linenumber line="94"/><codeline>}<highlight class="comment">// initialize()</highlight></codeline>
+<linenumber line="95"/><codeline></codeline>
+<linenumber line="96"/><codeline><highlight class="comment">// \1\\81~\e\?\EIN\?\o\?!?\O\\81\98!?\1?I\e\e!?\1 !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="97"/><codeline><highlight class="keywordtype">void</highlight> Sprite3D::uninitialize(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="98"/><codeline>{</codeline>
+<linenumber line="99"/><codeline></codeline>
+<linenumber line="100"/><codeline> <highlight class="keywordflow">if</highlight>(mpSprite3DVtBuf)</codeline>
+<linenumber line="101"/><codeline> {</codeline>
+<linenumber line="102"/><codeline> mpSprite3DVtBuf->Release();</codeline>
+<linenumber line="103"/><codeline> mpSprite3DVtBuf = NULL;</codeline>
+<linenumber line="104"/><codeline> }</codeline>
+<linenumber line="105"/><codeline></codeline>
+<linenumber line="106"/><codeline> <highlight class="keywordflow">if</highlight>(mpSpriteTexture){</codeline>
+<linenumber line="107"/><codeline> mpSpriteTexture->Release();</codeline>
+<linenumber line="108"/><codeline> mpSpriteTexture = NULL;</codeline>
+<linenumber line="109"/><codeline> }</codeline>
+<linenumber line="110"/><codeline><highlight class="comment">/*</highlight></codeline>
+<linenumber line="111"/><codeline><highlight class="comment"> if( mpMeshMaterials != NULL ) </highlight></codeline>
+<linenumber line="112"/><codeline><highlight class="comment"> delete[] mpMeshMaterials;</highlight></codeline>
+<linenumber line="113"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="114"/><codeline><highlight class="comment"> if( mpMeshTextures )</highlight></codeline>
+<linenumber line="115"/><codeline><highlight class="comment"> {</highlight></codeline>
+<linenumber line="116"/><codeline><highlight class="comment"> for( DWORD i = 0; i < mNumMaterials; i++ )</highlight></codeline>
+<linenumber line="117"/><codeline><highlight class="comment"> {</highlight></codeline>
+<linenumber line="118"/><codeline><highlight class="comment"> if( mpMeshTextures[i] )</highlight></codeline>
+<linenumber line="119"/><codeline><highlight class="comment"> mpMeshTextures[i]->Release();</highlight></codeline>
+<linenumber line="120"/><codeline><highlight class="comment"> }</highlight></codeline>
+<linenumber line="121"/><codeline><highlight class="comment"> delete[] mpMeshTextures;</highlight></codeline>
+<linenumber line="122"/><codeline><highlight class="comment"> }</highlight></codeline>
+<linenumber line="123"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="124"/><codeline><highlight class="comment"> if( mpMesh != NULL )</highlight></codeline>
+<linenumber line="125"/><codeline><highlight class="comment"> mpMesh->Release();</highlight></codeline>
+<linenumber line="126"/><codeline><highlight class="comment"> */</highlight> </codeline>
+<linenumber line="127"/><codeline> mbUse = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="128"/><codeline>}<highlight class="comment">// uninitialize()</highlight></codeline>
+<linenumber line="129"/><codeline></codeline>
+<linenumber line="130"/><codeline></codeline>
+<linenumber line="131"/><codeline><highlight class="comment">// 3D\1\\81~\e\?\E?I\i!?\E -!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="132"/><codeline><highlight class="keywordtype">void</highlight> Sprite3D::load(<highlight class="keyword">const</highlight> sprite::Info *pInfo,<highlight class="keyword">const</highlight> D3DFORMAT textureFormat,<highlight class="keyword">const</highlight> COLOR color)</codeline>
+<linenumber line="133"/><codeline>{</codeline>
+<linenumber line="134"/><codeline> <highlight class="comment">// \A\\81P\1\A\a?I\i!?\E </highlight></codeline>
+<linenumber line="135"/><codeline> D3DXIMAGE_INFO img_info;</codeline>
+<linenumber line="136"/><codeline> HRESULT hr = D3DXCreateTextureFromFileExA(</codeline>
+<linenumber line="137"/><codeline> mpD3DDevice,</codeline>
+<linenumber line="138"/><codeline> pInfo->fileName,</codeline>
+<linenumber line="139"/><codeline> D3DX_DEFAULT,</codeline>
+<linenumber line="140"/><codeline> D3DX_DEFAULT,</codeline>
+<linenumber line="141"/><codeline> 0,</codeline>
+<linenumber line="142"/><codeline> 0,</codeline>
+<linenumber line="143"/><codeline> textureFormat,</codeline>
+<linenumber line="144"/><codeline> D3DPOOL_MANAGED,</codeline>
+<linenumber line="145"/><codeline> D3DX_FILTER_NONE,</codeline>
+<linenumber line="146"/><codeline> D3DX_FILTER_NONE,</codeline>
+<linenumber line="147"/><codeline> color,</codeline>
+<linenumber line="148"/><codeline> &img_info,</codeline>
+<linenumber line="149"/><codeline> NULL,</codeline>
+<linenumber line="150"/><codeline> &mpSpriteTexture);</codeline>
+<linenumber line="151"/><codeline> </codeline>
+<linenumber line="152"/><codeline> <highlight class="keywordflow">if</highlight>(FAILED(hr))</codeline>
+<linenumber line="153"/><codeline> {</codeline>
+<linenumber line="154"/><codeline> std::string tmpErr(<highlight class="stringliteral">"Sprite Load Error:"</highlight>);</codeline>
+<linenumber line="155"/><codeline> tmpErr += DXGetErrorString8(hr);</codeline>
+<linenumber line="156"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(tmpErr,__FILE__,__LINE__);</codeline>
+<linenumber line="157"/><codeline> }</codeline>
+<linenumber line="158"/><codeline></codeline>
+<linenumber line="159"/><codeline> <ref idref="namespacesf_1a0">DWORD</ref> twidth = img_info.Width;</codeline>
+<linenumber line="160"/><codeline> <ref idref="namespacesf_1a0">DWORD</ref> theight = img_info.Height;</codeline>
+<linenumber line="161"/><codeline></codeline>
+<linenumber line="162"/><codeline></codeline>
+<linenumber line="163"/><codeline> mWidth = twidth;</codeline>
+<linenumber line="164"/><codeline> mHeight = theight;</codeline>
+<linenumber line="165"/><codeline> </codeline>
+<linenumber line="166"/><codeline> <highlight class="keywordflow">if</highlight>(pInfo->cellWidth){</codeline>
+<linenumber line="167"/><codeline> twidth = mCellWidth = pInfo->cellWidth;</codeline>
+<linenumber line="168"/><codeline> }</codeline>
+<linenumber line="169"/><codeline></codeline>
+<linenumber line="170"/><codeline> <highlight class="keywordflow">if</highlight>(pInfo->cellHeight){</codeline>
+<linenumber line="171"/><codeline> theight = mCellHeight = pInfo->cellHeight;</codeline>
+<linenumber line="172"/><codeline> }</codeline>
+<linenumber line="173"/><codeline> </codeline>
+<linenumber line="174"/><codeline></codeline>
+<linenumber line="175"/><codeline> <highlight class="comment">//\?\a!?\\81C\\83Ê\?\o?I?eAA</highlight></codeline>
+<linenumber line="176"/><codeline> </codeline>
+<linenumber line="177"/><codeline> <highlight class="keywordtype">float</highlight> width = (float)twidth / screen::HEIGHT;</codeline>
+<linenumber line="178"/><codeline> <highlight class="keywordtype">float</highlight> height = (float)theight / screen::HEIGHT;</codeline>
+<linenumber line="179"/><codeline></codeline>
+<linenumber line="180"/><codeline> <highlight class="keywordtype">float</highlight> center_x = pInfo->centerX / (float)screen::HEIGHT;</codeline>
+<linenumber line="181"/><codeline> <highlight class="keywordtype">float</highlight> center_y = pInfo->centerY / (float)screen::HEIGHT;</codeline>
+<linenumber line="182"/><codeline></codeline>
+<linenumber line="183"/><codeline> mCenterX = pInfo->centerX;</codeline>
+<linenumber line="184"/><codeline> mCenterY = pInfo->centerY;</codeline>
+<linenumber line="185"/><codeline></codeline>
+<linenumber line="186"/><codeline> <highlight class="keywordtype">float</highlight> start_x = center_x - width;</codeline>
+<linenumber line="187"/><codeline> <highlight class="keywordtype">float</highlight> start_y = center_y - height;</codeline>
+<linenumber line="188"/><codeline></codeline>
+<linenumber line="189"/><codeline> <highlight class="keywordtype">float</highlight> end_x = center_x + width;</codeline>
+<linenumber line="190"/><codeline> <highlight class="keywordtype">float</highlight> end_y = center_y + height;</codeline>
+<linenumber line="191"/><codeline></codeline>
+<linenumber line="192"/><codeline> D3DSURFACE_DESC d3dsd;</codeline>
+<linenumber line="193"/><codeline></codeline>
+<linenumber line="194"/><codeline> mpSpriteTexture->GetLevelDesc(0,&d3dsd);</codeline>
+<linenumber line="195"/><codeline> </codeline>
+<linenumber line="196"/><codeline> <highlight class="keywordtype">float</highlight> cell_width = (float)twidth / (float)d3dsd.Width;</codeline>
+<linenumber line="197"/><codeline> <highlight class="keywordtype">float</highlight> cell_height = (float)theight / (float)d3dsd.Height;</codeline>
+<linenumber line="198"/><codeline></codeline>
+<linenumber line="199"/><codeline> <highlight class="keywordtype">int</highlight> count_x = 1;</codeline>
+<linenumber line="200"/><codeline> <highlight class="keywordtype">int</highlight> count_y = 1;</codeline>
+<linenumber line="201"/><codeline></codeline>
+<linenumber line="202"/><codeline> <highlight class="keywordflow">if</highlight>(mCellWidth && mCellHeight)</codeline>
+<linenumber line="203"/><codeline> {</codeline>
+<linenumber line="204"/><codeline> count_x = mWidth / mCellWidth;</codeline>
+<linenumber line="205"/><codeline> count_y = mHeight / mCellHeight;</codeline>
+<linenumber line="206"/><codeline> mCellCount = count_x * count_y;</codeline>
+<linenumber line="207"/><codeline> }</codeline>
+<linenumber line="208"/><codeline> <highlight class="keywordflow">else</highlight></codeline>
+<linenumber line="209"/><codeline> {</codeline>
+<linenumber line="210"/><codeline> mCellCount = 1;</codeline>
+<linenumber line="211"/><codeline> }</codeline>
+<linenumber line="212"/><codeline></codeline>
+<linenumber line="213"/><codeline> <highlight class="keywordtype">int</highlight> vert_size = <highlight class="keyword">sizeof</highlight>(Vertex2) * 4 * mCellCount;</codeline>
+<linenumber line="214"/><codeline></codeline>
+<linenumber line="215"/><codeline> hr = mpD3DDevice->CreateVertexBuffer( vert_size,</codeline>
+<linenumber line="216"/><codeline> 0, <ref idref="namespacesf_1_1system_1_1console_1a10">Vertex2FVF</ref>,D3DPOOL_MANAGED , &mpSprite3DVtBuf ); </codeline>
+<linenumber line="217"/><codeline></codeline>
+<linenumber line="218"/><codeline> <highlight class="keywordflow">if</highlight>(FAILED(hr)){</codeline>
+<linenumber line="219"/><codeline> std::string tmpErr(<highlight class="stringliteral">"Sprite Load Error:"</highlight>);</codeline>
+<linenumber line="220"/><codeline> tmpErr += DXGetErrorString8(hr);</codeline>
+<linenumber line="221"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(tmpErr,__FILE__,__LINE__);</codeline>
+<linenumber line="222"/><codeline> }</codeline>
+<linenumber line="223"/><codeline></codeline>
+<linenumber line="224"/><codeline> LPBYTE pvertices;</codeline>
+<linenumber line="225"/><codeline></codeline>
+<linenumber line="226"/><codeline> mpSprite3DVtBuf->Lock( 0, vert_size, (BYTE**)&pvertices, 0 );</codeline>
+<linenumber line="227"/><codeline> </codeline>
+<linenumber line="228"/><codeline> <highlight class="keywordtype">int</highlight> i,j;</codeline>
+<linenumber line="229"/><codeline> <highlight class="keywordflow">for</highlight>(j = 0;j < count_y;j++)</codeline>
+<linenumber line="230"/><codeline> {</codeline>
+<linenumber line="231"/><codeline> <highlight class="keywordflow">for</highlight>(i = 0;i < count_x;i++)</codeline>
+<linenumber line="232"/><codeline> {</codeline>
+<linenumber line="233"/><codeline> Vertex2 vert_image[] =</codeline>
+<linenumber line="234"/><codeline> {</codeline>
+<linenumber line="235"/><codeline> { start_x,start_y, 0.0f, 0xffffffff,0x0000000,cell_width*i, cell_height*(j+1)},</codeline>
+<linenumber line="236"/><codeline> { start_x,end_y, 0.0f, 0xffffffff,0x0000000,cell_width*i, cell_height*(j)},</codeline>
+<linenumber line="237"/><codeline> { end_x, start_y, 0.0f, 0xffffffff,0x0000000,cell_width*(i+1),cell_height*(j+1)},</codeline>
+<linenumber line="238"/><codeline> { end_x, end_y, 0.0f, 0xffffffff,0x0000000,cell_width*(i+1),cell_height*(j)}</codeline>
+<linenumber line="239"/><codeline> };</codeline>
+<linenumber line="240"/><codeline> memcpy( pvertices, vert_image, <highlight class="keyword">sizeof</highlight>(vert_image) );</codeline>
+<linenumber line="241"/><codeline> pvertices += <highlight class="keyword">sizeof</highlight>(Vertex2) * 4;</codeline>
+<linenumber line="242"/><codeline> }</codeline>
+<linenumber line="243"/><codeline> }</codeline>
+<linenumber line="244"/><codeline> </codeline>
+<linenumber line="245"/><codeline> mpSprite3DVtBuf->Unlock();</codeline>
+<linenumber line="246"/><codeline></codeline>
+<linenumber line="247"/><codeline> use(<highlight class="keyword">true</highlight>);</codeline>
+<linenumber line="248"/><codeline></codeline>
+<linenumber line="249"/><codeline>}<highlight class="comment">//load()</highlight></codeline>
+<linenumber line="250"/><codeline></codeline>
+<linenumber line="251"/><codeline><highlight class="comment">// \1\\81~\e\?\E?IEA2e(3D) -------------------------------------------------------</highlight></codeline>
+<linenumber line="252"/><codeline><highlight class="keywordtype">void</highlight> Sprite3D::draw(<highlight class="keyword">const</highlight> Obj3DL * <highlight class="keyword">const</highlight> pObj)</codeline>
+<linenumber line="253"/><codeline>{</codeline>
+<linenumber line="254"/><codeline></codeline>
+<linenumber line="255"/><codeline> HRESULT hr;</codeline>
+<linenumber line="256"/><codeline> <highlight class="keywordflow">if</highlight>(!pObj->visibility())</codeline>
+<linenumber line="257"/><codeline> <highlight class="keywordflow">return</highlight>;</codeline>
+<linenumber line="258"/><codeline></codeline>
+<linenumber line="259"/><codeline> D3DMATRIX matrix_scaling=</codeline>
+<linenumber line="260"/><codeline> {</codeline>
+<linenumber line="261"/><codeline> pObj->scalingX(),0,0,0,</codeline>
+<linenumber line="262"/><codeline> 0,pObj->scalingY(),0,0,</codeline>
+<linenumber line="263"/><codeline> 0,0,pObj->scalingZ(),0,</codeline>
+<linenumber line="264"/><codeline> 0,0,0,1</codeline>
+<linenumber line="265"/><codeline> };</codeline>
+<linenumber line="266"/><codeline> </codeline>
+<linenumber line="267"/><codeline> D3DMATRIX matrix_trans=</codeline>
+<linenumber line="268"/><codeline> {</codeline>
+<linenumber line="269"/><codeline> 1,0,0,0,</codeline>
+<linenumber line="270"/><codeline> 0,1,0,0,</codeline>
+<linenumber line="271"/><codeline> 0,0,1,0,</codeline>
+<linenumber line="272"/><codeline> pObj->spaceX(),pObj->spaceY(),pObj->spaceZ(),1</codeline>
+<linenumber line="273"/><codeline> };</codeline>
+<linenumber line="274"/><codeline> </codeline>
+<linenumber line="275"/><codeline></codeline>
+<linenumber line="276"/><codeline> D3DMATRIX matrix_rotx =</codeline>
+<linenumber line="277"/><codeline> {</codeline>
+<linenumber line="278"/><codeline> 1,0,0,0,</codeline>
+<linenumber line="279"/><codeline> 0,pObj->rotXCos(),pObj->rotXSin(),0,</codeline>
+<linenumber line="280"/><codeline> 0,-pObj->rotXSin(),pObj->rotXCos(),0,</codeline>
+<linenumber line="281"/><codeline> 0,0,0,1</codeline>
+<linenumber line="282"/><codeline> };</codeline>
+<linenumber line="283"/><codeline></codeline>
+<linenumber line="284"/><codeline> D3DMATRIX matrix_roty=</codeline>
+<linenumber line="285"/><codeline> {</codeline>
+<linenumber line="286"/><codeline> pObj->rotYCos(),0,-pObj->rotYSin(),0,</codeline>
+<linenumber line="287"/><codeline> 0,1,0,0,</codeline>
+<linenumber line="288"/><codeline> pObj->rotYSin(),0,pObj->rotYCos(),0,</codeline>
+<linenumber line="289"/><codeline> 0,0,0,1</codeline>
+<linenumber line="290"/><codeline> };</codeline>
+<linenumber line="291"/><codeline></codeline>
+<linenumber line="292"/><codeline></codeline>
+<linenumber line="293"/><codeline> D3DMATRIX matrix_rotz =</codeline>
+<linenumber line="294"/><codeline> {</codeline>
+<linenumber line="295"/><codeline> pObj->rotZCos(),pObj->rotZSin(),0,0,</codeline>
+<linenumber line="296"/><codeline> -pObj->rotZSin(),pObj->rotZCos(),0,0,</codeline>
+<linenumber line="297"/><codeline> 0,0,1,0,</codeline>
+<linenumber line="298"/><codeline> 0,0,0,1</codeline>
+<linenumber line="299"/><codeline> };</codeline>
+<linenumber line="300"/><codeline></codeline>
+<linenumber line="301"/><codeline></codeline>
+<linenumber line="302"/><codeline></codeline>
+<linenumber line="303"/><codeline> hr = mpD3DDevice->SetTransform(D3DTS_WORLD ,&matrix_trans);</codeline>
+<linenumber line="304"/><codeline> </codeline>
+<linenumber line="305"/><codeline> hr = mpD3DDevice->MultiplyTransform(D3DTS_WORLD ,&matrix_scaling);</codeline>
+<linenumber line="306"/><codeline> hr = mpD3DDevice->MultiplyTransform(D3DTS_WORLD ,&matrix_rotx);</codeline>
+<linenumber line="307"/><codeline> hr = mpD3DDevice->MultiplyTransform(D3DTS_WORLD ,&matrix_roty);</codeline>
+<linenumber line="308"/><codeline> hr = mpD3DDevice->MultiplyTransform(D3DTS_WORLD ,&matrix_rotz);</codeline>
+<linenumber line="309"/><codeline></codeline>
+<linenumber line="310"/><codeline></codeline>
+<linenumber line="311"/><codeline> Vertex2 *ptlv;</codeline>
+<linenumber line="312"/><codeline> mpSprite3DVtBuf->Lock(0,0,(BYTE **)&ptlv,0);</codeline>
+<linenumber line="313"/><codeline></codeline>
+<linenumber line="314"/><codeline> ptlv[0].specular = </codeline>
+<linenumber line="315"/><codeline> ptlv[1].specular = </codeline>
+<linenumber line="316"/><codeline> ptlv[2].specular = </codeline>
+<linenumber line="317"/><codeline> ptlv[3].specular = pObj->specular();</codeline>
+<linenumber line="318"/><codeline> </codeline>
+<linenumber line="319"/><codeline> ptlv[0].diffuse =</codeline>
+<linenumber line="320"/><codeline> ptlv[1].diffuse = </codeline>
+<linenumber line="321"/><codeline> ptlv[2].diffuse =</codeline>
+<linenumber line="322"/><codeline> ptlv[3].diffuse = pObj->color();</codeline>
+<linenumber line="323"/><codeline> </codeline>
+<linenumber line="324"/><codeline> mpSprite3DVtBuf->Unlock();</codeline>
+<linenumber line="325"/><codeline></codeline>
+<linenumber line="326"/><codeline> hr = mpD3DDevice->SetTexture(0,mpSpriteTexture);</codeline>
+<linenumber line="327"/><codeline> setRenderState(pObj->drawMode());</codeline>
+<linenumber line="328"/><codeline> mpD3DDevice->SetRenderState(D3DRS_LIGHTING, FALSE);</codeline>
+<linenumber line="329"/><codeline> mpD3DDevice->SetRenderState(D3DRS_CULLMODE , D3DCULL_NONE );</codeline>
+<linenumber line="330"/><codeline></codeline>
+<linenumber line="331"/><codeline> hr = mpD3DDevice->SetStreamSource(0,mpSprite3DVtBuf,<highlight class="keyword">sizeof</highlight>(Vertex2));</codeline>
+<linenumber line="332"/><codeline> hr = mpD3DDevice->SetVertexShader(<ref idref="namespacesf_1_1system_1_1console_1a10">Vertex2FVF</ref>);</codeline>
+<linenumber line="333"/><codeline></codeline>
+<linenumber line="334"/><codeline> hr = mpD3DDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP,pObj->index(),2);</codeline>
+<linenumber line="335"/><codeline></codeline>
+<linenumber line="336"/><codeline> mpD3DDevice->SetTexture(0,NULL);</codeline>
+<linenumber line="337"/><codeline></codeline>
+<linenumber line="338"/><codeline>}<highlight class="comment">// draw()</highlight></codeline>
+<linenumber line="339"/><codeline></codeline>
+<linenumber line="340"/><codeline></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/Sprite3D.cpp"/>
+ </compounddef>
+ <compounddef id="Sprite3D_8h" kind="file">
+ <compoundname>Sprite3D.h</compoundname>
+ <includes id="sf_8h" local="yes">sf.h</includes>
+ <includes id="AbstractSprite_8h" local="yes">AbstractSprite.h</includes>
+ <includedby id="ConsoleImpl_8cpp" local="yes">ConsoleImpl.cpp</includedby>
+ <includedby id="Sprite3D_8cpp" local="yes">Sprite3D.cpp</includedby>
+ <incdepgraph>
+ <node id="719">
+ <label>AbstractSprite.h</label>
+ <link id="AbstractSprite_8h-source"/>
+ <childnode id="718" relation="public-inheritance">
+ </childnode>
+ <childnode id="720" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="718">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="720">
+ <label>Console.h</label>
+ <link id="Console_8h"/>
+ <childnode id="721" relation="public-inheritance">
+ </childnode>
+ <childnode id="718" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="717">
+ <label>Sprite3D.h</label>
+ <link id="Sprite3D.h"/>
+ <childnode id="718" relation="public-inheritance">
+ </childnode>
+ <childnode id="719" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="721">
+ <label>memory</label>
+ </node>
+ </incdepgraph>
+ <invincdepgraph>
+ <node id="723">
+ <label>ConsoleImpl.cpp</label>
+ <link id="ConsoleImpl_8cpp-source"/>
+ </node>
+ <node id="722">
+ <label>Sprite3D.h</label>
+ <link id="Sprite3D.h"/>
+ <childnode id="723" relation="public-inheritance">
+ </childnode>
+ <childnode id="724" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="724">
+ <label>Sprite3D.cpp</label>
+ <link id="Sprite3D_8cpp-source"/>
+ </node>
+ </invincdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1console">sf::system::console</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1console_1_1sprite">sf::system::console::sprite</innernamespace>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="Sprite3D_8h_1a0" virt="normal" prot="public">
+ <name>AFX_SPRITE3D_H__AA321D29_F334_4A4F_A2DC_76B6891F09A7__INCLUDED_</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/Sprite3D.h" line="31" bodystart="31" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// Sprite3D.h: Sprite3D \\81P\e\1?I\?\o\?!?\O\\81\98\?\1</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// IuIo!\81\98</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// $Log: Sprite3D.h,v $</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// Revision 1.3 2001/11/06 21:27:42 fujiwara</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// AcEy11?\81EA\81\8b\D\A\\81P\\81\91\A\\81~</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">// Revision 1.2 2001/10/28 21:35:56 fujiwara</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:36 fujiwara</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">// Revision 1.4 2001/07/09 20:30:09 fujiwara</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">// Revision 1.3 2001/05/13 20:04:24 fujiwara</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">// \a\a\e!?\e!?\\81P?\81ÊE\81PA\81C?\81E???I?C?e?e?u?\81P!\81\92</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment">// ?\81áAA?I\\83Ê\|\o\E\A\1\E</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:48:55 fujiwara</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="30"/><codeline><highlight class="preprocessor">#if !defined(AFX_SPRITE3D_H__AA321D29_F334_4A4F_A2DC_76B6891F09A7__INCLUDED_)</highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define AFX_SPRITE3D_H__AA321D29_F334_4A4F_A2DC_76B6891F09A7__INCLUDED_</highlight></codeline>
+<linenumber line="32"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="33"/><codeline><highlight class="preprocessor">#if _MSC_VER > 1000</highlight></codeline>
+<linenumber line="34"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#pragma once</highlight></codeline>
+<linenumber line="35"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif // _MSC_VER > 1000</highlight></codeline>
+<linenumber line="36"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include "sf.h"</highlight> </codeline>
+<linenumber line="37"/><codeline><highlight class="preprocessor">#include "AbstractSprite.h"</highlight></codeline>
+<linenumber line="38"/><codeline><highlight class="keyword">extern</highlight> <highlight class="stringliteral">"C"</highlight> {</codeline>
+<linenumber line="39"/><codeline><highlight class="keyword">namespace </highlight>sf {</codeline>
+<linenumber line="40"/><codeline> <highlight class="keyword">namespace </highlight>system {</codeline>
+<linenumber line="41"/><codeline> <highlight class="keyword">namespace </highlight>console {</codeline>
+<linenumber line="42"/><codeline> <highlight class="keyword">namespace </highlight>sprite {</codeline>
+<linenumber line="43"/><codeline></codeline>
+<linenumber line="44"/><codeline></codeline>
+<linenumber line="45"/><codeline><highlight class="keyword">class </highlight>Sprite3D : <highlight class="keyword">public</highlight> AbstractSprite </codeline>
+<linenumber line="46"/><codeline>{</codeline>
+<linenumber line="47"/><codeline><highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="48"/><codeline> <highlight class="comment">// LIFECYCLE //</highlight></codeline>
+<linenumber line="49"/><codeline> Sprite3D(LPDIRECT3DDEVICE8 pD3DDevice);</codeline>
+<linenumber line="50"/><codeline> <highlight class="keyword">virtual</highlight> ~Sprite3D();</codeline>
+<linenumber line="51"/><codeline> <highlight class="comment">// OPERATIONS //</highlight></codeline>
+<linenumber line="52"/><codeline> <highlight class="keywordtype">void</highlight> initialize(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="53"/><codeline> <highlight class="keywordtype">void</highlight> initialize(LPDIRECT3DDEVICE8 pD3DDevice);</codeline>
+<linenumber line="54"/><codeline> <highlight class="keywordtype">void</highlight> uninitialize(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="55"/><codeline> <highlight class="keywordtype">void</highlight> load(<highlight class="keyword">const</highlight> sprite::Info *pInfo,<highlight class="keyword">const</highlight> D3DFORMAT textureFormat,<highlight class="keyword">const</highlight> COLOR color);</codeline>
+<linenumber line="56"/><codeline> </codeline>
+<linenumber line="57"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a1">draw</ref>(<highlight class="keyword">const</highlight> ObjRectangle * <highlight class="keyword">const</highlight> pObj){<highlight class="keywordflow">return</highlight>;}</codeline>
+<linenumber line="58"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a1">draw</ref>(<highlight class="keyword">const</highlight> ObjQuadrangle * <highlight class="keyword">const</highlight> pObj){<highlight class="keywordflow">return</highlight>;}</codeline>
+<linenumber line="59"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a1">draw</ref>(<highlight class="keyword">const</highlight> Obj3DL * <highlight class="keyword">const</highlight> pObj);</codeline>
+<linenumber line="60"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> width(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const</highlight></codeline>
+<linenumber line="61"/><codeline><highlight class="keyword"> </highlight>{</codeline>
+<linenumber line="62"/><codeline> <highlight class="keywordflow">if</highlight>(mCellWidth != 0.0f)</codeline>
+<linenumber line="63"/><codeline> <highlight class="keywordflow">return</highlight> mCellWidth;</codeline>
+<linenumber line="64"/><codeline> <highlight class="keywordflow">return</highlight> mWidth;</codeline>
+<linenumber line="65"/><codeline> };</codeline>
+<linenumber line="66"/><codeline></codeline>
+<linenumber line="67"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> height(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{</codeline>
+<linenumber line="68"/><codeline> <highlight class="keywordflow">if</highlight>(mCellHeight != 0.0f)</codeline>
+<linenumber line="69"/><codeline> <highlight class="keywordflow">return</highlight> mCellHeight;</codeline>
+<linenumber line="70"/><codeline> <highlight class="keywordflow">return</highlight> mHeight;</codeline>
+<linenumber line="71"/><codeline> };</codeline>
+<linenumber line="72"/><codeline></codeline>
+<linenumber line="73"/><codeline><highlight class="keyword">private</highlight>:</codeline>
+<linenumber line="74"/><codeline> IDirect3DTexture8* mpSpriteTexture;</codeline>
+<linenumber line="75"/><codeline> IDirect3DVertexBuffer8* mpSprite3DVtBuf;</codeline>
+<linenumber line="76"/><codeline></codeline>
+<linenumber line="77"/><codeline> <highlight class="keywordtype">float</highlight> mCellWidth;</codeline>
+<linenumber line="78"/><codeline> <highlight class="keywordtype">float</highlight> mCellHeight;</codeline>
+<linenumber line="79"/><codeline> <highlight class="keywordtype">float</highlight> mCellCount;</codeline>
+<linenumber line="80"/><codeline> </codeline>
+<linenumber line="81"/><codeline>};</codeline>
+<linenumber line="82"/><codeline> }</codeline>
+<linenumber line="83"/><codeline> }</codeline>
+<linenumber line="84"/><codeline> }</codeline>
+<linenumber line="85"/><codeline>}</codeline>
+<linenumber line="86"/><codeline>}</codeline>
+<linenumber line="87"/><codeline><highlight class="preprocessor">#endif // !defined(AFX_SPRITE3D_H__AA321D29_F334_4A4F_A2DC_76B6891F09A7__INCLUDED_)</highlight></codeline>
+<linenumber line="88"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/Sprite3D.h"/>
+ </compounddef>
+ <compounddef id="SpriteMesh_8cpp" kind="file">
+ <compoundname>SpriteMesh.cpp</compoundname>
+ <includes id="sfdebug_8h" local="yes">sfdebug.h</includes>
+ <includes local="no">stdio.h</includes>
+ <includes local="no">queue</includes>
+ <includes local="yes">windows.h</includes>
+ <includes local="yes">windowsx.h</includes>
+ <includes local="yes">d3d8.h</includes>
+ <includes local="yes">d3dx8.h</includes>
+ <includes id="dxerr8sf_8h" local="yes">dxerr8sf.h</includes>
+ <includes local="yes">exception.h</includes>
+ <includes local="yes">sound.h</includes>
+ <includes id="System_8h" local="yes">System.h</includes>
+ <includes local="yes">console.h</includes>
+ <includes id="Obj_8h" local="yes">Obj.h</includes>
+ <includes id="Obj3D_8h" local="yes">Obj3D.h</includes>
+ <includes id="Obj3DL_8h" local="yes">Obj3DL.h</includes>
+ <includes id="AbstractSprite_8h" local="yes">AbstractSprite.h</includes>
+ <includes id="SpriteMesh_8h" local="yes">SpriteMesh.h</includes>
+ <incdepgraph>
+ <node id="734">
+ <label>dxerr8.h</label>
+ </node>
+ <node id="728">
+ <label>queue</label>
+ </node>
+ <node id="729">
+ <label>windows.h</label>
+ </node>
+ <node id="737">
+ <label>System.h</label>
+ <link id="System_8h"/>
+ <childnode id="738" relation="public-inheritance">
+ </childnode>
+ <childnode id="739" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="730">
+ <label>windowsx.h</label>
+ </node>
+ <node id="738">
+ <label>string</label>
+ </node>
+ <node id="733">
+ <label>dxerr8sf.h</label>
+ <link id="dxerr8sf_8h-source"/>
+ <childnode id="734" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="726">
+ <label>sfdebug.h</label>
+ <link id="sfdebug_8h"/>
+ </node>
+ <node id="744">
+ <label>AbstractSprite.h</label>
+ <link id="AbstractSprite_8h-source"/>
+ <childnode id="739" relation="public-inheritance">
+ </childnode>
+ <childnode id="745" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="747">
+ <label>SpriteMesh.h</label>
+ <link id="SpriteMesh_8h-source"/>
+ <childnode id="739" relation="public-inheritance">
+ </childnode>
+ <childnode id="744" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="739">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="725">
+ <label>SpriteMesh.cpp</label>
+ <link id="SpriteMesh.cpp"/>
+ <childnode id="726" relation="public-inheritance">
+ </childnode>
+ <childnode id="727" relation="public-inheritance">
+ </childnode>
+ <childnode id="728" relation="public-inheritance">
+ </childnode>
+ <childnode id="729" relation="public-inheritance">
+ </childnode>
+ <childnode id="730" relation="public-inheritance">
+ </childnode>
+ <childnode id="731" relation="public-inheritance">
+ </childnode>
+ <childnode id="732" relation="public-inheritance">
+ </childnode>
+ <childnode id="733" relation="public-inheritance">
+ </childnode>
+ <childnode id="735" relation="public-inheritance">
+ </childnode>
+ <childnode id="736" relation="public-inheritance">
+ </childnode>
+ <childnode id="737" relation="public-inheritance">
+ </childnode>
+ <childnode id="740" relation="public-inheritance">
+ </childnode>
+ <childnode id="741" relation="public-inheritance">
+ </childnode>
+ <childnode id="742" relation="public-inheritance">
+ </childnode>
+ <childnode id="743" relation="public-inheritance">
+ </childnode>
+ <childnode id="744" relation="public-inheritance">
+ </childnode>
+ <childnode id="747" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="736">
+ <label>sound.h</label>
+ </node>
+ <node id="745">
+ <label>Console.h</label>
+ <link id="Console_8h"/>
+ <childnode id="746" relation="public-inheritance">
+ </childnode>
+ <childnode id="739" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="740">
+ <label>console.h</label>
+ </node>
+ <node id="742">
+ <label>Obj3D.h</label>
+ <link id="Obj3D_8h-source"/>
+ <childnode id="739" relation="public-inheritance">
+ </childnode>
+ <childnode id="741" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="743">
+ <label>Obj3DL.h</label>
+ <link id="Obj3DL_8h-source"/>
+ <childnode id="739" relation="public-inheritance">
+ </childnode>
+ <childnode id="742" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="741">
+ <label>Obj.h</label>
+ <link id="Obj_8h-source"/>
+ <childnode id="739" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="731">
+ <label>d3d8.h</label>
+ </node>
+ <node id="735">
+ <label>exception.h</label>
+ </node>
+ <node id="732">
+ <label>d3dx8.h</label>
+ </node>
+ <node id="727">
+ <label>stdio.h</label>
+ </node>
+ <node id="746">
+ <label>memory</label>
+ </node>
+ </incdepgraph>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// SpriteMesh.cpp: SpriteMesh \\81P\e\1?I\?\o\\81~\e\a\o\A!?\\81E\c\o</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// IuIo!\81\98</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// $Log: SpriteMesh.cpp,v $</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:36 fujiwara</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">// Revision 1.4 2001/07/09 20:30:10 fujiwara</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">// Revision 1.3 2001/07/01 21:30:34 fujiwara</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// \a\a\e\e!?\\81P\A\\81\98\A\\81P\81C\81áA??\81E</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:48:55 fujiwara</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="comment">#pragma warning( disable : 4786 ) //STL?I\81EU1d3\81\8b?\81E</highlight></codeline>
+<linenumber line="23"/><codeline></codeline>
+<linenumber line="24"/><codeline><highlight class="comment">// \a\a\e!?\e!?\\81P\81C!?DIN</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="preprocessor">#include "<ref idref="sfdebug_8h">sfdebug.h</ref>"</highlight></codeline>
+<linenumber line="26"/><codeline></codeline>
+<linenumber line="27"/><codeline><highlight class="comment">// SYSTEM INCLUDES</highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="29"/><codeline></codeline>
+<linenumber line="30"/><codeline><highlight class="preprocessor">#include <stdio.h></highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="preprocessor">#include <queue></highlight></codeline>
+<linenumber line="32"/><codeline><highlight class="preprocessor">#include "windows.h"</highlight></codeline>
+<linenumber line="33"/><codeline><highlight class="preprocessor">#include "windowsx.h"</highlight></codeline>
+<linenumber line="34"/><codeline></codeline>
+<linenumber line="35"/><codeline><highlight class="preprocessor">#include "d3d8.h"</highlight></codeline>
+<linenumber line="36"/><codeline><highlight class="preprocessor">#include "d3dx8.h"</highlight></codeline>
+<linenumber line="37"/><codeline><highlight class="preprocessor">#include "dxerr8sf.h"</highlight></codeline>
+<linenumber line="38"/><codeline></codeline>
+<linenumber line="39"/><codeline></codeline>
+<linenumber line="40"/><codeline><highlight class="comment">// PROJECT INCLUDES</highlight></codeline>
+<linenumber line="41"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="42"/><codeline></codeline>
+<linenumber line="43"/><codeline><highlight class="preprocessor">#include "exception.h"</highlight></codeline>
+<linenumber line="44"/><codeline><highlight class="preprocessor">#include "sound.h"</highlight></codeline>
+<linenumber line="45"/><codeline><highlight class="preprocessor">#include "<ref idref="System_8h">System.h</ref>"</highlight></codeline>
+<linenumber line="46"/><codeline><highlight class="preprocessor">#include "console.h"</highlight></codeline>
+<linenumber line="47"/><codeline><highlight class="preprocessor">#include "Obj.h"</highlight></codeline>
+<linenumber line="48"/><codeline><highlight class="preprocessor">#include "Obj3D.h"</highlight></codeline>
+<linenumber line="49"/><codeline><highlight class="preprocessor">#include "Obj3DL.h"</highlight></codeline>
+<linenumber line="50"/><codeline><highlight class="preprocessor">#include "AbstractSprite.h"</highlight></codeline>
+<linenumber line="51"/><codeline></codeline>
+<linenumber line="52"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="53"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define new DEBUG_NEW</highlight></codeline>
+<linenumber line="54"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="55"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="56"/><codeline><highlight class="preprocessor">#include "SpriteMesh.h"</highlight></codeline>
+<linenumber line="57"/><codeline></codeline>
+<linenumber line="58"/><codeline></codeline>
+<linenumber line="59"/><codeline><highlight class="keyword">using</highlight> <highlight class="keyword">namespace </highlight>sf::system::console;</codeline>
+<linenumber line="60"/><codeline>using namespace sf::system::console::sprite;</codeline>
+<linenumber line="61"/><codeline></codeline>
+<linenumber line="62"/><codeline></codeline>
+<linenumber line="64"/><codeline><highlight class="comment">// 1?AU/?AIC</highlight></codeline>
+<linenumber line="66"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="67"/><codeline>SpriteMesh::SpriteMesh(LPDIRECT3DDEVICE8 pD3DDevice)</codeline>
+<linenumber line="68"/><codeline>{</codeline>
+<linenumber line="69"/><codeline> mNumMaterials = 0;</codeline>
+<linenumber line="70"/><codeline> mpMesh = NULL;</codeline>
+<linenumber line="71"/><codeline> mpMeshMaterials = NULL;</codeline>
+<linenumber line="72"/><codeline> mpMeshTextures = NULL;</codeline>
+<linenumber line="73"/><codeline></codeline>
+<linenumber line="74"/><codeline> initialize(pD3DDevice);</codeline>
+<linenumber line="75"/><codeline></codeline>
+<linenumber line="76"/><codeline>}</codeline>
+<linenumber line="77"/><codeline></codeline>
+<linenumber line="78"/><codeline>SpriteMesh::~SpriteMesh()</codeline>
+<linenumber line="79"/><codeline>{</codeline>
+<linenumber line="80"/><codeline> uninitialize();</codeline>
+<linenumber line="81"/><codeline>}</codeline>
+<linenumber line="82"/><codeline></codeline>
+<linenumber line="83"/><codeline><highlight class="comment">// ?e\81Lu2? !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="84"/><codeline><highlight class="keywordtype">void</highlight> SpriteMesh::initialize(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="85"/><codeline>{</codeline>
+<linenumber line="86"/><codeline> uninitialize();</codeline>
+<linenumber line="87"/><codeline> mbUse = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="88"/><codeline></codeline>
+<linenumber line="89"/><codeline>}<highlight class="comment">// initialize()</highlight></codeline>
+<linenumber line="90"/><codeline></codeline>
+<linenumber line="91"/><codeline><highlight class="comment">// ?e\81Lu2? !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="92"/><codeline><highlight class="keywordtype">void</highlight> SpriteMesh::initialize(LPDIRECT3DDEVICE8 pD3DDevice)</codeline>
+<linenumber line="93"/><codeline>{</codeline>
+<linenumber line="94"/><codeline> <ref idref="classsf_1_1system_1_1sound_1_1SoundImpl_1a13">initialize</ref>();</codeline>
+<linenumber line="95"/><codeline></codeline>
+<linenumber line="96"/><codeline> mpD3DDevice = pD3DDevice;</codeline>
+<linenumber line="97"/><codeline>}<highlight class="comment">// initialize()</highlight></codeline>
+<linenumber line="98"/><codeline></codeline>
+<linenumber line="99"/><codeline><highlight class="comment">// \1\\81~\e\?\EIN\?\o\?!?\O\\81\98!?\1?I\e\e!?\1 !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="100"/><codeline><highlight class="keywordtype">void</highlight> SpriteMesh::uninitialize(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="101"/><codeline>{</codeline>
+<linenumber line="102"/><codeline></codeline>
+<linenumber line="103"/><codeline></codeline>
+<linenumber line="104"/><codeline> <highlight class="keywordflow">if</highlight>( mpMeshMaterials != NULL ) </codeline>
+<linenumber line="105"/><codeline> <highlight class="keyword">delete</highlight>[] mpMeshMaterials;</codeline>
+<linenumber line="106"/><codeline></codeline>
+<linenumber line="107"/><codeline> <highlight class="keywordflow">if</highlight>( mpMeshTextures )</codeline>
+<linenumber line="108"/><codeline> {</codeline>
+<linenumber line="109"/><codeline> <highlight class="keywordflow">for</highlight>( <ref idref="namespacesf_1a0">DWORD</ref> i = 0; i < mNumMaterials; i++ )</codeline>
+<linenumber line="110"/><codeline> {</codeline>
+<linenumber line="111"/><codeline> <highlight class="keywordflow">if</highlight>( mpMeshTextures[i] )</codeline>
+<linenumber line="112"/><codeline> mpMeshTextures[i]->Release();</codeline>
+<linenumber line="113"/><codeline> }</codeline>
+<linenumber line="114"/><codeline> <highlight class="keyword">delete</highlight>[] mpMeshTextures;</codeline>
+<linenumber line="115"/><codeline> }</codeline>
+<linenumber line="116"/><codeline></codeline>
+<linenumber line="117"/><codeline> <highlight class="keywordflow">if</highlight>( mpMesh != NULL )</codeline>
+<linenumber line="118"/><codeline> mpMesh->Release();</codeline>
+<linenumber line="119"/><codeline></codeline>
+<linenumber line="120"/><codeline> mbUse = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="121"/><codeline>}<highlight class="comment">// uninitialize</highlight></codeline>
+<linenumber line="122"/><codeline></codeline>
+<linenumber line="123"/><codeline><highlight class="comment">// \a\A\\81E\a?I\i!?\E !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="124"/><codeline><highlight class="keywordtype">void</highlight> SpriteMesh::load(<highlight class="keyword">const</highlight> Info *pInfo,<highlight class="keyword">const</highlight> D3DFORMAT textureFormat,<highlight class="keyword">const</highlight> COLOR color)</codeline>
+<linenumber line="125"/><codeline>{</codeline>
+<linenumber line="126"/><codeline> LPD3DXBUFFER pD3DXMtrlBuffer;</codeline>
+<linenumber line="127"/><codeline> HRESULT hr;</codeline>
+<linenumber line="128"/><codeline></codeline>
+<linenumber line="129"/><codeline> <highlight class="comment">// Load the mesh from the specified file</highlight></codeline>
+<linenumber line="130"/><codeline> <highlight class="keywordflow">if</highlight>( FAILED( hr = D3DXLoadMeshFromX( (<highlight class="keywordtype">char</highlight> *)(pInfo->fileName), D3DXMESH_SYSTEMMEM, </codeline>
+<linenumber line="131"/><codeline> mpD3DDevice, NULL, </codeline>
+<linenumber line="132"/><codeline> &pD3DXMtrlBuffer, &mNumMaterials, </codeline>
+<linenumber line="133"/><codeline> &mpMesh ) ) )</codeline>
+<linenumber line="134"/><codeline> {</codeline>
+<linenumber line="135"/><codeline> std::string tmpErr(<highlight class="stringliteral">"Sprite Load Error:"</highlight>);</codeline>
+<linenumber line="136"/><codeline> tmpErr += DXGetErrorString8(hr);</codeline>
+<linenumber line="137"/><codeline> <highlight class="keywordflow">throw</highlight> FatalErrorException(tmpErr,__FILE__,__LINE__);</codeline>
+<linenumber line="138"/><codeline> }</codeline>
+<linenumber line="139"/><codeline></codeline>
+<linenumber line="140"/><codeline> <highlight class="comment">// We need to extract the material properties and texture names from the </highlight></codeline>
+<linenumber line="141"/><codeline> <highlight class="comment">// pD3DXMtrlBuffer</highlight></codeline>
+<linenumber line="142"/><codeline></codeline>
+<linenumber line="143"/><codeline> D3DXMATERIAL* d3dxMaterials = (D3DXMATERIAL*)pD3DXMtrlBuffer->GetBufferPointer();</codeline>
+<linenumber line="144"/><codeline> mpMeshMaterials = <highlight class="keyword">new</highlight> D3DMATERIAL8[mNumMaterials];</codeline>
+<linenumber line="145"/><codeline> mpMeshTextures = <highlight class="keyword">new</highlight> LPDIRECT3DTEXTURE8[mNumMaterials];</codeline>
+<linenumber line="146"/><codeline></codeline>
+<linenumber line="147"/><codeline> <highlight class="keywordflow">for</highlight>( <ref idref="namespacesf_1a0">DWORD</ref> i = 0; i < mNumMaterials; i++ )</codeline>
+<linenumber line="148"/><codeline> {</codeline>
+<linenumber line="149"/><codeline> <highlight class="comment">// Copy the material</highlight></codeline>
+<linenumber line="150"/><codeline> mpMeshMaterials[i] = d3dxMaterials[i].MatD3D;</codeline>
+<linenumber line="151"/><codeline></codeline>
+<linenumber line="152"/><codeline> <highlight class="comment">// Set the ambient color for the material (D3DX does not do this)</highlight></codeline>
+<linenumber line="153"/><codeline> mpMeshMaterials[i].Ambient = mpMeshMaterials[i].Diffuse;</codeline>
+<linenumber line="154"/><codeline> </codeline>
+<linenumber line="155"/><codeline> <highlight class="comment">// Create the texture</highlight></codeline>
+<linenumber line="156"/><codeline> <highlight class="comment">// if( FAILED( hr = D3DXCreateTextureFromFile( mpD3DDevice, </highlight></codeline>
+<linenumber line="157"/><codeline> <highlight class="comment">// d3dxMaterials[i].pTextureFilename, </highlight></codeline>
+<linenumber line="158"/><codeline> <highlight class="comment">// &mpMeshTextures[i] ) ) )</highlight></codeline>
+<linenumber line="159"/><codeline> HRESULT hr = D3DXCreateTextureFromFileExA(</codeline>
+<linenumber line="160"/><codeline> mpD3DDevice,</codeline>
+<linenumber line="161"/><codeline> d3dxMaterials[i].pTextureFilename,</codeline>
+<linenumber line="162"/><codeline> D3DX_DEFAULT,</codeline>
+<linenumber line="163"/><codeline> D3DX_DEFAULT,</codeline>
+<linenumber line="164"/><codeline> 0,</codeline>
+<linenumber line="165"/><codeline> 0,</codeline>
+<linenumber line="166"/><codeline> textureFormat,</codeline>
+<linenumber line="167"/><codeline> D3DPOOL_MANAGED,</codeline>
+<linenumber line="168"/><codeline> D3DX_FILTER_NONE,</codeline>
+<linenumber line="169"/><codeline> D3DX_FILTER_NONE,</codeline>
+<linenumber line="170"/><codeline> color,</codeline>
+<linenumber line="171"/><codeline> NULL,</codeline>
+<linenumber line="172"/><codeline> NULL,</codeline>
+<linenumber line="173"/><codeline> &mpMeshTextures[i]);</codeline>
+<linenumber line="174"/><codeline> <highlight class="keywordflow">if</highlight>(FAILED(hr))</codeline>
+<linenumber line="175"/><codeline> {</codeline>
+<linenumber line="176"/><codeline> </codeline>
+<linenumber line="177"/><codeline> mpMeshTextures[i] = NULL;</codeline>
+<linenumber line="178"/><codeline> }</codeline>
+<linenumber line="179"/><codeline> }</codeline>
+<linenumber line="180"/><codeline></codeline>
+<linenumber line="181"/><codeline> <highlight class="comment">// Done with the material buffer</highlight></codeline>
+<linenumber line="182"/><codeline> pD3DXMtrlBuffer->Release();</codeline>
+<linenumber line="183"/><codeline>}<highlight class="comment">// loadMesh()</highlight></codeline>
+<linenumber line="184"/><codeline></codeline>
+<linenumber line="185"/><codeline></codeline>
+<linenumber line="186"/><codeline><highlight class="comment">// \1\\81~\e\?\E?IEA2e(3D) -------------------------------------------------------</highlight></codeline>
+<linenumber line="187"/><codeline><highlight class="keywordtype">void</highlight> SpriteMesh::draw(<highlight class="keyword">const</highlight> Obj3DL * <highlight class="keyword">const</highlight> pObj)</codeline>
+<linenumber line="188"/><codeline>{</codeline>
+<linenumber line="189"/><codeline></codeline>
+<linenumber line="190"/><codeline> HRESULT hr;</codeline>
+<linenumber line="191"/><codeline> <highlight class="keywordflow">if</highlight>(!pObj->visibility())</codeline>
+<linenumber line="192"/><codeline> <highlight class="keywordflow">return</highlight>;</codeline>
+<linenumber line="193"/><codeline></codeline>
+<linenumber line="194"/><codeline> D3DMATRIX matrix_scaling=</codeline>
+<linenumber line="195"/><codeline> {</codeline>
+<linenumber line="196"/><codeline> pObj->scalingX(),0,0,0,</codeline>
+<linenumber line="197"/><codeline> 0,pObj->scalingY(),0,0,</codeline>
+<linenumber line="198"/><codeline> 0,0,pObj->scalingZ(),0,</codeline>
+<linenumber line="199"/><codeline> 0,0,0,1</codeline>
+<linenumber line="200"/><codeline> };</codeline>
+<linenumber line="201"/><codeline></codeline>
+<linenumber line="202"/><codeline> D3DMATRIX matrix_trans=</codeline>
+<linenumber line="203"/><codeline> {</codeline>
+<linenumber line="204"/><codeline> 1,0,0,0,</codeline>
+<linenumber line="205"/><codeline> 0,1,0,0,</codeline>
+<linenumber line="206"/><codeline> 0,0,1,0,</codeline>
+<linenumber line="207"/><codeline> pObj->spaceX(),pObj->spaceY(),pObj->spaceZ(),1</codeline>
+<linenumber line="208"/><codeline> };</codeline>
+<linenumber line="209"/><codeline> </codeline>
+<linenumber line="210"/><codeline></codeline>
+<linenumber line="211"/><codeline> D3DMATRIX matrix_rotx =</codeline>
+<linenumber line="212"/><codeline> {</codeline>
+<linenumber line="213"/><codeline> 1,0,0,0,</codeline>
+<linenumber line="214"/><codeline> 0,pObj->rotXCos(),pObj->rotXSin(),0,</codeline>
+<linenumber line="215"/><codeline> 0,-pObj->rotXSin(),pObj->rotXCos(),0,</codeline>
+<linenumber line="216"/><codeline> 0,0,0,1</codeline>
+<linenumber line="217"/><codeline> };</codeline>
+<linenumber line="218"/><codeline></codeline>
+<linenumber line="219"/><codeline> D3DMATRIX matrix_roty=</codeline>
+<linenumber line="220"/><codeline> {</codeline>
+<linenumber line="221"/><codeline> pObj->rotYCos(),0,-pObj->rotYSin(),0,</codeline>
+<linenumber line="222"/><codeline> 0,1,0,0,</codeline>
+<linenumber line="223"/><codeline> pObj->rotYSin(),0,pObj->rotYCos(),0,</codeline>
+<linenumber line="224"/><codeline> 0,0,0,1</codeline>
+<linenumber line="225"/><codeline> };</codeline>
+<linenumber line="226"/><codeline></codeline>
+<linenumber line="227"/><codeline></codeline>
+<linenumber line="228"/><codeline> D3DMATRIX matrix_rotz =</codeline>
+<linenumber line="229"/><codeline> {</codeline>
+<linenumber line="230"/><codeline> pObj->rotZCos(),pObj->rotZSin(),0,0,</codeline>
+<linenumber line="231"/><codeline> -pObj->rotZSin(),pObj->rotZCos(),0,0,</codeline>
+<linenumber line="232"/><codeline> 0,0,1,0,</codeline>
+<linenumber line="233"/><codeline> 0,0,0,1</codeline>
+<linenumber line="234"/><codeline> };</codeline>
+<linenumber line="235"/><codeline></codeline>
+<linenumber line="236"/><codeline></codeline>
+<linenumber line="237"/><codeline></codeline>
+<linenumber line="238"/><codeline> hr = mpD3DDevice->SetTransform(D3DTS_WORLD ,&matrix_trans);</codeline>
+<linenumber line="239"/><codeline></codeline>
+<linenumber line="240"/><codeline> hr = mpD3DDevice->MultiplyTransform(D3DTS_WORLD ,&matrix_scaling);</codeline>
+<linenumber line="241"/><codeline> hr = mpD3DDevice->MultiplyTransform(D3DTS_WORLD ,&matrix_rotx);</codeline>
+<linenumber line="242"/><codeline> hr = mpD3DDevice->MultiplyTransform(D3DTS_WORLD ,&matrix_roty);</codeline>
+<linenumber line="243"/><codeline> hr = mpD3DDevice->MultiplyTransform(D3DTS_WORLD ,&matrix_rotz);</codeline>
+<linenumber line="244"/><codeline></codeline>
+<linenumber line="245"/><codeline> setRenderState(pObj->drawMode());</codeline>
+<linenumber line="246"/><codeline> mpD3DDevice->SetRenderState(D3DRS_LIGHTING, TRUE);</codeline>
+<linenumber line="247"/><codeline> mpD3DDevice->SetRenderState(D3DRS_CULLMODE , D3DCULL_CCW );</codeline>
+<linenumber line="248"/><codeline></codeline>
+<linenumber line="249"/><codeline> <highlight class="keywordflow">for</highlight>( <ref idref="namespacesf_1a0">DWORD</ref> i = 0; i < mNumMaterials; i++ )</codeline>
+<linenumber line="250"/><codeline> {</codeline>
+<linenumber line="251"/><codeline> <highlight class="comment">// Set the material and texture for this subset</highlight></codeline>
+<linenumber line="252"/><codeline> mpD3DDevice->SetMaterial( &mpMeshMaterials[i] );</codeline>
+<linenumber line="253"/><codeline> mpD3DDevice->SetTexture( 0, mpMeshTextures[i] );</codeline>
+<linenumber line="254"/><codeline> </codeline>
+<linenumber line="255"/><codeline> <highlight class="comment">// Draw the mesh subset</highlight></codeline>
+<linenumber line="256"/><codeline> mpMesh->DrawSubset( i );</codeline>
+<linenumber line="257"/><codeline> }</codeline>
+<linenumber line="258"/><codeline></codeline>
+<linenumber line="259"/><codeline>}<highlight class="comment">// draw()</highlight></codeline>
+<linenumber line="260"/><codeline></codeline>
+<linenumber line="261"/><codeline></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/SpriteMesh.cpp"/>
+ </compounddef>
+ <compounddef id="SpriteMesh_8h" kind="file">
+ <compoundname>SpriteMesh.h</compoundname>
+ <includes id="sf_8h" local="yes">sf.h</includes>
+ <includes id="AbstractSprite_8h" local="yes">AbstractSprite.h</includes>
+ <includedby id="ConsoleImpl_8cpp" local="yes">ConsoleImpl.cpp</includedby>
+ <includedby id="SpriteMesh_8cpp" local="yes">SpriteMesh.cpp</includedby>
+ <incdepgraph>
+ <node id="751">
+ <label>AbstractSprite.h</label>
+ <link id="AbstractSprite_8h-source"/>
+ <childnode id="750" relation="public-inheritance">
+ </childnode>
+ <childnode id="752" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="749">
+ <label>SpriteMesh.h</label>
+ <link id="SpriteMesh.h"/>
+ <childnode id="750" relation="public-inheritance">
+ </childnode>
+ <childnode id="751" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="750">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="752">
+ <label>Console.h</label>
+ <link id="Console_8h"/>
+ <childnode id="753" relation="public-inheritance">
+ </childnode>
+ <childnode id="750" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="753">
+ <label>memory</label>
+ </node>
+ </incdepgraph>
+ <invincdepgraph>
+ <node id="754">
+ <label>SpriteMesh.h</label>
+ <link id="SpriteMesh.h"/>
+ <childnode id="755" relation="public-inheritance">
+ </childnode>
+ <childnode id="756" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="755">
+ <label>ConsoleImpl.cpp</label>
+ <link id="ConsoleImpl_8cpp-source"/>
+ </node>
+ <node id="756">
+ <label>SpriteMesh.cpp</label>
+ <link id="SpriteMesh_8cpp-source"/>
+ </node>
+ </invincdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1console">sf::system::console</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1console_1_1sprite">sf::system::console::sprite</innernamespace>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="SpriteMesh_8h_1a0" virt="normal" prot="public">
+ <name>AFX_SPRITEMESH_H__572D6B9D_63CF_41E9_8D17_4A37518A0CA2__INCLUDED_</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SpriteMesh.h" line="26" bodystart="26" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// SpriteMesh.h: SpriteMesh \\81P\e\1?I\?\o\?!?\O\\81\98\?\1</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// IuIo!\81\98</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// $Log: SpriteMesh.h,v $</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// Revision 1.3 2001/11/06 21:27:42 fujiwara</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// AcEy11?\81EA\81\8b\D\A\\81P\\81\91\A\\81~</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">// Revision 1.2 2001/10/28 21:35:56 fujiwara</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:36 fujiwara</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">// Revision 1.3 2001/07/09 20:30:10 fujiwara</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:48:55 fujiwara</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="preprocessor">#if !defined(AFX_SPRITEMESH_H__572D6B9D_63CF_41E9_8D17_4A37518A0CA2__INCLUDED_)</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define AFX_SPRITEMESH_H__572D6B9D_63CF_41E9_8D17_4A37518A0CA2__INCLUDED_</highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="preprocessor">#if _MSC_VER > 1000</highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#pragma once</highlight></codeline>
+<linenumber line="30"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif // _MSC_VER > 1000</highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include "sf.h"</highlight> </codeline>
+<linenumber line="32"/><codeline><highlight class="preprocessor">#include "AbstractSprite.h"</highlight></codeline>
+<linenumber line="33"/><codeline><highlight class="keyword">extern</highlight> <highlight class="stringliteral">"C"</highlight> {</codeline>
+<linenumber line="34"/><codeline><highlight class="keyword">namespace </highlight>sf {</codeline>
+<linenumber line="35"/><codeline> <highlight class="keyword">namespace </highlight>system {</codeline>
+<linenumber line="36"/><codeline> <highlight class="keyword">namespace </highlight>console {</codeline>
+<linenumber line="37"/><codeline> <highlight class="keyword">namespace </highlight>sprite {</codeline>
+<linenumber line="38"/><codeline></codeline>
+<linenumber line="39"/><codeline><highlight class="keyword">class </highlight>SpriteMesh : <highlight class="keyword">public</highlight> AbstractSprite </codeline>
+<linenumber line="40"/><codeline>{</codeline>
+<linenumber line="41"/><codeline><highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="42"/><codeline> <highlight class="comment">// LIFECYCLE //</highlight></codeline>
+<linenumber line="43"/><codeline> SpriteMesh(LPDIRECT3DDEVICE8 pD3DDevice);</codeline>
+<linenumber line="44"/><codeline> <highlight class="keyword">virtual</highlight> ~SpriteMesh();</codeline>
+<linenumber line="45"/><codeline> <highlight class="comment">// OPERATIONS //</highlight></codeline>
+<linenumber line="46"/><codeline> <highlight class="keywordtype">void</highlight> initialize(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="47"/><codeline> <highlight class="keywordtype">void</highlight> initialize(LPDIRECT3DDEVICE8 pD3DDevice);</codeline>
+<linenumber line="48"/><codeline> <highlight class="keywordtype">void</highlight> uninitialize(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="49"/><codeline> <highlight class="comment">// EA2eIN\i\o\A\e\o\\81\8b\1\A!?\E?IAsAe</highlight></codeline>
+<linenumber line="50"/><codeline> <highlight class="keywordtype">void</highlight> load(<highlight class="keyword">const</highlight> sprite::Info *pInfo,<highlight class="keyword">const</highlight> D3DFORMAT textureFormat,<highlight class="keyword">const</highlight> COLOR color);</codeline>
+<linenumber line="51"/><codeline> </codeline>
+<linenumber line="52"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a1">draw</ref>(<highlight class="keyword">const</highlight> ObjRectangle * <highlight class="keyword">const</highlight> pObj){<highlight class="keywordflow">return</highlight>;};</codeline>
+<linenumber line="53"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a1">draw</ref>(<highlight class="keyword">const</highlight> ObjQuadrangle * <highlight class="keyword">const</highlight> pObj){<highlight class="keywordflow">return</highlight>;};</codeline>
+<linenumber line="54"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1console_1_1sprite_1_1Sprite_1a1">draw</ref>(<highlight class="keyword">const</highlight> Obj3DL * <highlight class="keyword">const</highlight> pObj);</codeline>
+<linenumber line="55"/><codeline></codeline>
+<linenumber line="56"/><codeline><highlight class="keyword">private</highlight>:</codeline>
+<linenumber line="57"/><codeline></codeline>
+<linenumber line="58"/><codeline> LPD3DXMESH mpMesh ; <highlight class="comment">// Our mesh object in sysmem</highlight></codeline>
+<linenumber line="59"/><codeline> D3DMATERIAL8* mpMeshMaterials; <highlight class="comment">// Materials for our mesh</highlight></codeline>
+<linenumber line="60"/><codeline> LPDIRECT3DTEXTURE8* mpMeshTextures; <highlight class="comment">// Textures for our mesh</highlight></codeline>
+<linenumber line="61"/><codeline> <ref idref="namespacesf_1a0">DWORD</ref> mNumMaterials; <highlight class="comment">// Number of mesh materials</highlight></codeline>
+<linenumber line="62"/><codeline></codeline>
+<linenumber line="63"/><codeline>};<highlight class="comment">// SpriteMesh </highlight></codeline>
+<linenumber line="64"/><codeline> }</codeline>
+<linenumber line="65"/><codeline> }</codeline>
+<linenumber line="66"/><codeline> }</codeline>
+<linenumber line="67"/><codeline>}</codeline>
+<linenumber line="68"/><codeline>}</codeline>
+<linenumber line="69"/><codeline><highlight class="preprocessor">#endif // !defined(AFX_SPRITEMESH_H__572D6B9D_63CF_41E9_8D17_4A37518A0CA2__INCLUDED_)</highlight></codeline>
+<linenumber line="70"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/SpriteMesh.h"/>
+ </compounddef>
+ <compounddef id="StdAfx_8cpp" kind="file">
+ <compoundname>StdAfx.cpp</compoundname>
+ <includes local="yes">stdafx.h</includes>
+ <incdepgraph>
+ <node id="758">
+ <label>stdafx.h</label>
+ </node>
+ <node id="757">
+ <label>StdAfx.cpp</label>
+ <link id="StdAfx.cpp"/>
+ <childnode id="758" relation="public-inheritance">
+ </childnode>
+ </node>
+ </incdepgraph>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">// stdafx.cpp : E\81C?a\?\o\\81P\e!?\E\O\!\?\e?o\81LT?a\?!?\1 \O\!\?\e</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">// sfglib.pch A\81CAR?\83Ê?i?e\\81~\e\3\o\N\?\eoN\O\A\A!?</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// stdafx.obj A\81CAR?\83Ê?i?e\\81~\e\3\o\N\?\eoN\?\?\\81~?dEo</highlight></codeline>
+<linenumber line="4"/><codeline></codeline>
+<linenumber line="5"/><codeline><highlight class="preprocessor">#include "stdafx.h"</highlight></codeline>
+<linenumber line="6"/><codeline></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// TODO: STDAFX.H ?E\81LT?T?i?A???A!\81\91?3?I\O\!\?\e?E\83Ê-?O?\83Ê?i?A???E??</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">// \O\A\A!?\O\!\?\e?oAE2A?\81E?A?\81P?A?\83Ê??!\81\92</highlight></codeline>
+<linenumber line="9"/><codeline></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/StdAfx.cpp"/>
+ </compounddef>
+ <compounddef id="StdAfx_8h" kind="file">
+ <compoundname>StdAfx.h</compoundname>
+ <includes local="no">windows.h</includes>
+ <incdepgraph>
+ <node id="761">
+ <label>windows.h</label>
+ </node>
+ <node id="760">
+ <label>StdAfx.h</label>
+ <link id="StdAfx.h"/>
+ <childnode id="761" relation="public-inheritance">
+ </childnode>
+ </node>
+ </incdepgraph>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="StdAfx_8h_1a0" virt="normal" prot="public">
+ <name>AFX_STDAFX_H__050FFF83_35A1_43A9_B1B8_BAC18FC87245__INCLUDED_</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/StdAfx.h" line="7" bodystart="7" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="define" id="StdAfx_8h_1a1" virt="normal" prot="public">
+ <name>WIN32_LEAN_AND_MEAN</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/StdAfx.h" line="15" bodystart="15" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">// stdafx.h : E\81C?a?I\\81E\1\A\a \?\o\\81P\e!?\E \O\!\?\e!\81\91</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">// ?T???I\81â2?E2o?o?\81ÊA??\81P!\81\91?\81á?A?\81\91?T?eEN11?\83Ê?i?E??</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// \\81~\i\\81C\\81\98\\81P\EAiIN?I\?\o\\81P\e!?\E \O\!\?\e?o\83Ê-?O?\81E?T?1!\81\92</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="5"/><codeline></codeline>
+<linenumber line="6"/><codeline><highlight class="preprocessor">#if !defined(AFX_STDAFX_H__050FFF83_35A1_43A9_B1B8_BAC18FC87245__INCLUDED_)</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define AFX_STDAFX_H__050FFF83_35A1_43A9_B1B8_BAC18FC87245__INCLUDED_</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="preprocessor">#if _MSC_VER > 1000</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#pragma once</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif // _MSC_VER > 1000</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="13"/><codeline></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">// ?3?I\81\8bIAO?E\O\A\A!??oATAt?\81E?A?\81P?A?\83Ê??</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="preprocessor">#define WIN32_LEAN_AND_MEAN // Windows \O\A\A!??\81á?eEO?E\81âEIN?\83Ê?i?E??\1\?\A\O?o?u3\81\8b?\81E?T?1</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="preprocessor">#include <windows.h></highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">// TODO: \\81~\i\\81\8b\e\a?CE\81ÊI\81~?E\O\A\A!?\81â2?E?oAE2A?\81E?A?\81P?A?\83Ê??!\81\92</highlight></codeline>
+<linenumber line="19"/><codeline></codeline>
+<linenumber line="20"/><codeline><highlight class="comment">//{{AFX_INSERT_LOCATION}}</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="comment">// Microsoft Visual C++ ?IA\81\8b1O?IA?A\81\8b?EAE2A?IAe\81CA?oATAt?\81E?T?1!\81\92</highlight></codeline>
+<linenumber line="22"/><codeline></codeline>
+<linenumber line="23"/><codeline><highlight class="preprocessor">#endif // !defined(AFX_STDAFX_H__050FFF83_35A1_43A9_B1B8_BAC18FC87245__INCLUDED_)</highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/StdAfx.h"/>
+ </compounddef>
+ <compounddef id="System_8cpp" kind="file">
+ <compoundname>System.cpp</compoundname>
+ <includes local="yes">math.h</includes>
+ <includes local="no">list</includes>
+ <includes local="no">queue</includes>
+ <includes local="no">map</includes>
+ <includes local="yes">windows.h</includes>
+ <includes local="yes">windowsx.h</includes>
+ <includes local="yes">d3d8.h</includes>
+ <includes local="yes">d3dx8.h</includes>
+ <includes local="yes">dmusici.h</includes>
+ <includes local="yes">dinput.h</includes>
+ <includes local="yes">exception.h</includes>
+ <includes id="System_8h" local="yes">System.h</includes>
+ <includes id="sfglib_2resource_8h" local="yes">resource.h</includes>
+ <includes id="Console_8h" local="yes">Console.h</includes>
+ <includes id="Obj_8h" local="yes">Obj.h</includes>
+ <includes id="singleton_8h" local="yes">singleton.h</includes>
+ <includes id="AbstractSprite_8h" local="yes">AbstractSprite.h</includes>
+ <includes id="ConsoleImpl_8h" local="yes">ConsoleImpl.h</includes>
+ <includes id="SoundImpl_8h" local="yes">SoundImpl.h</includes>
+ <includes id="InputImpl_8h" local="yes">InputImpl.h</includes>
+ <includes id="Main_8h" local="yes">Main.h</includes>
+ <includes id="SystemImpl_8h" local="yes">SystemImpl.h</includes>
+ <incdepgraph>
+ <node id="765">
+ <label>list</label>
+ </node>
+ <node id="782">
+ <label>singleton.h</label>
+ <link id="singleton_8h"/>
+ <childnode id="780" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="766">
+ <label>queue</label>
+ </node>
+ <node id="785">
+ <label>SoundImpl.h</label>
+ <link id="SoundImpl_8h"/>
+ <childnode id="777" relation="public-inheritance">
+ </childnode>
+ <childnode id="786" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="768">
+ <label>windows.h</label>
+ </node>
+ <node id="788">
+ <label>Input.h</label>
+ <link id="Input_8h"/>
+ <childnode id="777" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="775">
+ <label>System.h</label>
+ <link id="System_8h"/>
+ <childnode id="776" relation="public-inheritance">
+ </childnode>
+ <childnode id="777" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="769">
+ <label>windowsx.h</label>
+ </node>
+ <node id="778">
+ <label>resource.h</label>
+ <link id="sfglib_2resource_8h-source"/>
+ </node>
+ <node id="772">
+ <label>dmusici.h</label>
+ </node>
+ <node id="776">
+ <label>string</label>
+ </node>
+ <node id="784">
+ <label>ConsoleImpl.h</label>
+ <link id="ConsoleImpl_8h"/>
+ <childnode id="777" relation="public-inheritance">
+ </childnode>
+ <childnode id="779" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="767">
+ <label>map</label>
+ </node>
+ <node id="783">
+ <label>AbstractSprite.h</label>
+ <link id="AbstractSprite_8h-source"/>
+ <childnode id="777" relation="public-inheritance">
+ </childnode>
+ <childnode id="779" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="790">
+ <label>SystemImpl.h</label>
+ <link id="SystemImpl_8h-source"/>
+ <childnode id="777" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="777">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="779">
+ <label>Console.h</label>
+ <link id="Console_8h"/>
+ <childnode id="780" relation="public-inheritance">
+ </childnode>
+ <childnode id="777" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="787">
+ <label>InputImpl.h</label>
+ <link id="InputImpl_8h"/>
+ <childnode id="777" relation="public-inheritance">
+ </childnode>
+ <childnode id="788" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="763">
+ <label>System.cpp</label>
+ <link id="System.cpp"/>
+ <childnode id="764" relation="public-inheritance">
+ </childnode>
+ <childnode id="765" relation="public-inheritance">
+ </childnode>
+ <childnode id="766" relation="public-inheritance">
+ </childnode>
+ <childnode id="767" relation="public-inheritance">
+ </childnode>
+ <childnode id="768" relation="public-inheritance">
+ </childnode>
+ <childnode id="769" relation="public-inheritance">
+ </childnode>
+ <childnode id="770" relation="public-inheritance">
+ </childnode>
+ <childnode id="771" relation="public-inheritance">
+ </childnode>
+ <childnode id="772" relation="public-inheritance">
+ </childnode>
+ <childnode id="773" relation="public-inheritance">
+ </childnode>
+ <childnode id="774" relation="public-inheritance">
+ </childnode>
+ <childnode id="775" relation="public-inheritance">
+ </childnode>
+ <childnode id="778" relation="public-inheritance">
+ </childnode>
+ <childnode id="779" relation="public-inheritance">
+ </childnode>
+ <childnode id="781" relation="public-inheritance">
+ </childnode>
+ <childnode id="782" relation="public-inheritance">
+ </childnode>
+ <childnode id="783" relation="public-inheritance">
+ </childnode>
+ <childnode id="784" relation="public-inheritance">
+ </childnode>
+ <childnode id="785" relation="public-inheritance">
+ </childnode>
+ <childnode id="787" relation="public-inheritance">
+ </childnode>
+ <childnode id="789" relation="public-inheritance">
+ </childnode>
+ <childnode id="790" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="786">
+ <label>Sound.h</label>
+ <link id="Sound_8h"/>
+ <childnode id="777" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="764">
+ <label>math.h</label>
+ </node>
+ <node id="781">
+ <label>Obj.h</label>
+ <link id="Obj_8h-source"/>
+ <childnode id="777" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="770">
+ <label>d3d8.h</label>
+ </node>
+ <node id="789">
+ <label>Main.h</label>
+ <link id="Main_8h-source"/>
+ </node>
+ <node id="774">
+ <label>exception.h</label>
+ </node>
+ <node id="771">
+ <label>d3dx8.h</label>
+ </node>
+ <node id="780">
+ <label>memory</label>
+ </node>
+ <node id="773">
+ <label>dinput.h</label>
+ </node>
+ </incdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=\81L\81\8bAR</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// System Ae?Y\\81P\e\1</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// StaticEoE\81Ê?I?AAo</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// IuIo:</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// $Log: System.cpp,v $</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// Revision 1.3 2001/11/06 21:27:42 fujiwara</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">// AcEy11?\81EA\81\8b\D\A\\81P\\81\91\A\\81~</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// Revision 1.2 2001/10/28 21:35:56 fujiwara</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// Revision 1.1 2001/10/21 12:12:36 fujiwara</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">// (none)</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// Revision 1.5 2001/07/09 20:30:10 fujiwara</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">// Revision 1.4 2001/07/01 01:03:44 fujiwara</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment">// const ?I\81C\81áA??\81E</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="comment">// CUAO\\81N\C\\81\92\??IAOAa\81ED2a</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="comment">// Revision 1.3 2001/05/29 01:12:25 fujiwara</highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="comment">// \81â\81N\83Êu\-\a\e(Eo1OEa!E?IoiAR!\81\92CUAO\\81N\C\\81\92\??I\D\\81\8b??A\83Ê</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:48:48 fujiwara</highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="comment">// 2001/01/29 \a\a\e!?\e!?\\81P\81C!?DIN\e\?\O\e\e?IAE2A </highlight></codeline>
+<linenumber line="30"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="31"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="32"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="34"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="35"/><codeline><highlight class="preprocessor">#pragma warning( disable : 4786 ) //STL?I\81EU1d3\81\8b?\81E</highlight></codeline>
+<linenumber line="36"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="37"/><codeline><highlight class="comment">// \a\a\e!?\e!?\\81P\81C!?DIN</highlight></codeline>
+<linenumber line="38"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="39"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#ifndef _BORLAND</highlight></codeline>
+<linenumber line="40"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define _CRTDBG_MAP_ALLOC</highlight></codeline>
+<linenumber line="41"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include <stdlib.h></highlight></codeline>
+<linenumber line="42"/><codeline><highlight class="preprocessor">#include <crtdbg.h></highlight></codeline>
+<linenumber line="43"/><codeline><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="44"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="45"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="46"/><codeline><highlight class="comment">// SYSTEM INCLUDES</highlight></codeline>
+<linenumber line="47"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="48"/><codeline><highlight class="comment">//#define INITGUID</highlight></codeline>
+<linenumber line="49"/><codeline><highlight class="preprocessor">#include "math.h"</highlight></codeline>
+<linenumber line="50"/><codeline><highlight class="preprocessor">#include <list></highlight></codeline>
+<linenumber line="51"/><codeline><highlight class="preprocessor">#include <queue></highlight></codeline>
+<linenumber line="52"/><codeline><highlight class="preprocessor">#include <map></highlight></codeline>
+<linenumber line="53"/><codeline></codeline>
+<linenumber line="54"/><codeline><highlight class="preprocessor">#include "windows.h"</highlight></codeline>
+<linenumber line="55"/><codeline><highlight class="preprocessor">#include "windowsx.h"</highlight></codeline>
+<linenumber line="56"/><codeline><highlight class="preprocessor">#include "d3d8.h"</highlight></codeline>
+<linenumber line="57"/><codeline><highlight class="preprocessor">#include "d3dx8.h"</highlight></codeline>
+<linenumber line="58"/><codeline><highlight class="preprocessor">#include "dmusici.h"</highlight></codeline>
+<linenumber line="59"/><codeline><highlight class="preprocessor">#include "dinput.h"</highlight></codeline>
+<linenumber line="60"/><codeline></codeline>
+<linenumber line="61"/><codeline><highlight class="comment">// PROJECT INCLUDES</highlight></codeline>
+<linenumber line="62"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="63"/><codeline><highlight class="comment">//#include "console.h"</highlight></codeline>
+<linenumber line="64"/><codeline><highlight class="comment">//#include "input.h"</highlight></codeline>
+<linenumber line="65"/><codeline><highlight class="comment">//#include "sound.h"</highlight></codeline>
+<linenumber line="66"/><codeline></codeline>
+<linenumber line="67"/><codeline><highlight class="preprocessor">#include "exception.h"</highlight></codeline>
+<linenumber line="68"/><codeline><highlight class="preprocessor">#include "<ref idref="System_8h">System.h</ref>"</highlight></codeline>
+<linenumber line="69"/><codeline><highlight class="preprocessor">#include "resource.h"</highlight></codeline>
+<linenumber line="70"/><codeline><highlight class="preprocessor">#include "<ref idref="Console_8h">Console.h</ref>"</highlight></codeline>
+<linenumber line="71"/><codeline><highlight class="preprocessor">#include "Obj.h"</highlight></codeline>
+<linenumber line="72"/><codeline><highlight class="preprocessor">#include "<ref idref="singleton_8h">singleton.h</ref>"</highlight></codeline>
+<linenumber line="73"/><codeline><highlight class="preprocessor">#include "AbstractSprite.h"</highlight></codeline>
+<linenumber line="74"/><codeline><highlight class="preprocessor">#include "<ref idref="ConsoleImpl_8h">ConsoleImpl.h</ref>"</highlight> </codeline>
+<linenumber line="75"/><codeline><highlight class="preprocessor">#include "<ref idref="SoundImpl_8h">SoundImpl.h</ref>"</highlight></codeline>
+<linenumber line="76"/><codeline><highlight class="preprocessor">#include "<ref idref="InputImpl_8h">InputImpl.h</ref>"</highlight></codeline>
+<linenumber line="77"/><codeline><highlight class="preprocessor">#include "Main.h"</highlight></codeline>
+<linenumber line="78"/><codeline><highlight class="preprocessor">#include "SystemImpl.h"</highlight></codeline>
+<linenumber line="79"/><codeline></codeline>
+<linenumber line="80"/><codeline><highlight class="comment">// namespace</highlight></codeline>
+<linenumber line="81"/><codeline><highlight class="keyword">namespace </highlight>sf {</codeline>
+<linenumber line="82"/><codeline><highlight class="keyword">namespace </highlight>system {</codeline>
+<linenumber line="83"/><codeline></codeline>
+<linenumber line="84"/><codeline>}<highlight class="comment">// system</highlight></codeline>
+<linenumber line="85"/><codeline>}<highlight class="comment">// namespace sf</highlight></codeline>
+<linenumber line="86"/><codeline></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/System.cpp"/>
+ </compounddef>
+ <compounddef id="System_8h" kind="file">
+ <compoundname>System.h</compoundname>
+ <includes local="no">string</includes>
+ <includes id="sf_8h" local="yes">sf.h</includes>
+ <includedby id="AbstractSprite_8cpp" local="yes">AbstractSprite.cpp</includedby>
+ <includedby id="ConsoleImpl_8cpp" local="yes">ConsoleImpl.cpp</includedby>
+ <includedby id="InputImpl_8cpp" local="yes">InputImpl.cpp</includedby>
+ <includedby id="sfglib_8cpp" local="yes">sfglib.cpp</includedby>
+ <includedby id="SoundImpl_8cpp" local="yes">SoundImpl.cpp</includedby>
+ <includedby id="Sprite2D_8cpp" local="yes">Sprite2D.cpp</includedby>
+ <includedby id="Sprite3D_8cpp" local="yes">Sprite3D.cpp</includedby>
+ <includedby id="SpriteMesh_8cpp" local="yes">SpriteMesh.cpp</includedby>
+ <includedby id="System_8cpp" local="yes">System.cpp</includedby>
+ <includedby id="SystemImpl_8cpp" local="yes">SystemImpl.cpp</includedby>
+ <incdepgraph>
+ <node id="792">
+ <label>System.h</label>
+ <link id="System.h"/>
+ <childnode id="793" relation="public-inheritance">
+ </childnode>
+ <childnode id="794" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="793">
+ <label>string</label>
+ </node>
+ <node id="794">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ </incdepgraph>
+ <invincdepgraph>
+ <node id="799">
+ <label>sfglib.cpp</label>
+ <link id="sfglib_8cpp-source"/>
+ </node>
+ <node id="800">
+ <label>SoundImpl.cpp</label>
+ <link id="SoundImpl_8cpp-source"/>
+ </node>
+ <node id="801">
+ <label>Sprite2D.cpp</label>
+ <link id="Sprite2D_8cpp-source"/>
+ </node>
+ <node id="795">
+ <label>System.h</label>
+ <link id="System.h"/>
+ <childnode id="796" relation="public-inheritance">
+ </childnode>
+ <childnode id="797" relation="public-inheritance">
+ </childnode>
+ <childnode id="798" relation="public-inheritance">
+ </childnode>
+ <childnode id="799" relation="public-inheritance">
+ </childnode>
+ <childnode id="800" relation="public-inheritance">
+ </childnode>
+ <childnode id="801" relation="public-inheritance">
+ </childnode>
+ <childnode id="802" relation="public-inheritance">
+ </childnode>
+ <childnode id="803" relation="public-inheritance">
+ </childnode>
+ <childnode id="804" relation="public-inheritance">
+ </childnode>
+ <childnode id="805" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="805">
+ <label>SystemImpl.cpp</label>
+ <link id="SystemImpl_8cpp-source"/>
+ </node>
+ <node id="798">
+ <label>InputImpl.cpp</label>
+ <link id="InputImpl_8cpp-source"/>
+ </node>
+ <node id="797">
+ <label>ConsoleImpl.cpp</label>
+ <link id="ConsoleImpl_8cpp-source"/>
+ </node>
+ <node id="803">
+ <label>SpriteMesh.cpp</label>
+ <link id="SpriteMesh_8cpp-source"/>
+ </node>
+ <node id="804">
+ <label>System.cpp</label>
+ <link id="System_8cpp-source"/>
+ </node>
+ <node id="796">
+ <label>AbstractSprite.cpp</label>
+ <link id="AbstractSprite_8cpp-source"/>
+ </node>
+ <node id="802">
+ <label>Sprite3D.cpp</label>
+ <link id="Sprite3D_8cpp-source"/>
+ </node>
+ </invincdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1application">sf::application</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1console">sf::system::console</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1input">sf::system::input</innernamespace>
+ <innernamespace refid="namespacesf_1_1system_1_1sound">sf::system::sound</innernamespace>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="System_8h_1a0" virt="normal" prot="public">
+ <name>AFX_System_H__DD8D138F_B5A2_4C7B_B543_6BCE1BFB1ED5__INCLUDED_</name>
+ <briefdescription>
+<para>
+2?A\?\o\\81P\e!?\E?oEE\81âs?1?e???a?IAe\83ÊA. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/System.h" line="12" bodystart="12" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+OS?O?I\?\o\?!?\O\\81\98!?\1?C?1. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="author"><title>oi?O: </title><para>
+S.F. </para>
+</simplesect><simplesect kind="version"><title>\D!?\\81C\c\o: </title><para>
+$Id:</para>
+</simplesect><para>
+Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved. </para>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline></codeline>
+<linenumber line="10"/><codeline><highlight class="preprocessor">#if !defined(AFX_System_H__DD8D138F_B5A2_4C7B_B543_6BCE1BFB1ED5__INCLUDED_)</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="12" refid="System_8h_1a0"/><codeline><highlight class="preprocessor">#define AFX_System_H__DD8D138F_B5A2_4C7B_B543_6BCE1BFB1ED5__INCLUDED_</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="preprocessor">#if _MSC_VER > 1000</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#pragma once</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif // _MSC_VER > 1000</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="preprocessor">#include <string></highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="preprocessor">#include "sf.h"</highlight></codeline>
+<linenumber line="20"/><codeline></codeline>
+<linenumber line="21"/><codeline><highlight class="keyword">extern</highlight> <highlight class="stringliteral">"C"</highlight> {</codeline>
+<linenumber line="22"/><codeline></codeline>
+<linenumber line="26"/><codeline><highlight class="keyword">namespace </highlight>sf {</codeline>
+<linenumber line="27"/><codeline></codeline>
+<linenumber line="29"/><codeline><highlight class="keyword">typedef</highlight> <highlight class="keywordtype">unsigned</highlight> <highlight class="keywordtype">long</highlight> <ref idref="namespacesf_1a0">DWORD</ref>;</codeline>
+<linenumber line="30"/><codeline></codeline>
+<linenumber line="31"/><codeline><highlight class="keyword">namespace </highlight>application {</codeline>
+<linenumber line="32"/><codeline> <highlight class="keyword">class </highlight>Main;</codeline>
+<linenumber line="33"/><codeline>}</codeline>
+<linenumber line="34"/><codeline></codeline>
+<linenumber line="39"/><codeline><highlight class="keyword">namespace </highlight>system {</codeline>
+<linenumber line="40"/><codeline></codeline>
+<linenumber line="41"/><codeline><highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> <ref idref="namespacesf_1_1system_1a0">PI</ref> = 3.1415926f;</codeline>
+<linenumber line="42"/><codeline><highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> <ref idref="namespacesf_1_1system_1a1">MAX_PATH_</ref> = 256;</codeline>
+<linenumber line="43"/><codeline></codeline>
+<linenumber line="44"/><codeline><highlight class="keyword">namespace </highlight>console {</codeline>
+<linenumber line="45"/><codeline> <highlight class="keyword">class </highlight>Console;</codeline>
+<linenumber line="46"/><codeline>}</codeline>
+<linenumber line="47"/><codeline></codeline>
+<linenumber line="48"/><codeline><highlight class="keyword">namespace </highlight>sound {</codeline>
+<linenumber line="49"/><codeline> <highlight class="keyword">class </highlight>Sound;</codeline>
+<linenumber line="50"/><codeline>}</codeline>
+<linenumber line="51"/><codeline></codeline>
+<linenumber line="52"/><codeline><highlight class="keyword">namespace </highlight>input {</codeline>
+<linenumber line="53"/><codeline> <highlight class="keyword">class </highlight>Input;</codeline>
+<linenumber line="54"/><codeline>}</codeline>
+<linenumber line="55"/><codeline></codeline>
+<linenumber line="56"/><codeline><highlight class="comment">// System ?I\?\o\?!?\O\\81\98!?\1 --------------------------------------------------</highlight></codeline>
+<linenumber line="57"/><codeline></codeline>
+<linenumber line="58"/><codeline><highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref> <ref idref="namespacesf_1_1system_1a2">TIMER_INTERVAL</ref> = 32;</codeline>
+<linenumber line="59"/><codeline></codeline>
+<linenumber line="60"/><codeline><highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> <ref idref="namespacesf_1_1system_1a3">FRAME_SEC</ref> = 30.0f;</codeline>
+<linenumber line="61"/><codeline></codeline>
+<linenumber line="67" refid="classsf_1_1system_1_1System_1"/><codeline><highlight class="keyword">class </highlight>System</codeline>
+<linenumber line="68"/><codeline>{</codeline>
+<linenumber line="69"/><codeline> <highlight class="comment">// LIFECYCLE</highlight></codeline>
+<linenumber line="70"/><codeline><highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="72" refid="classsf_1_1system_1_1System_1a0"/><codeline> <ref idref="classsf_1_1system_1_1System_1a0">System</ref>(){}; </codeline>
+<linenumber line="73"/><codeline></codeline>
+<linenumber line="74" refid="classsf_1_1system_1_1System_1a1"/><codeline> <highlight class="keyword">virtual</highlight> <ref idref="classsf_1_1system_1_1System_1a1">~System</ref>(){}; </codeline>
+<linenumber line="75"/><codeline> <highlight class="comment">// OPERATORS</highlight></codeline>
+<linenumber line="76"/><codeline></codeline>
+<linenumber line="77"/><codeline> <highlight class="comment">// OPERATIONS</highlight></codeline>
+<linenumber line="78"/><codeline></codeline>
+<linenumber line="79"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1System_1a2">wait</ref>(<highlight class="keywordtype">void</highlight>) = 0; </codeline>
+<linenumber line="80"/><codeline> </codeline>
+<linenumber line="84"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1System_1a3">errorTerminate</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> *errString) = 0;</codeline>
+<linenumber line="87"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1System_1a4">outputError</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> *errString) = 0;</codeline>
+<linenumber line="88"/><codeline></codeline>
+<linenumber line="89"/><codeline> <highlight class="comment">// ACCESS</highlight></codeline>
+<linenumber line="90"/><codeline> </codeline>
+<linenumber line="93"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1System_1a6">timerInterval</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">unsigned</highlight> <highlight class="keywordtype">long</highlight> msValue) = 0;</codeline>
+<linenumber line="94"/><codeline> </codeline>
+<linenumber line="97"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">unsigned</highlight> <highlight class="keywordtype">long</highlight> <ref idref="classsf_1_1system_1_1System_1a6">timerInterval</ref> (<highlight class="keywordtype">void</highlight>) <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="98"/><codeline> </codeline>
+<linenumber line="101"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref> <ref idref="classsf_1_1system_1_1System_1a7">time</ref>(<highlight class="keywordtype">void</highlight>) <highlight class="keyword">const</highlight> = 0;</codeline>
+<linenumber line="102"/><codeline></codeline>
+<linenumber line="107"/><codeline> <highlight class="keyword">virtual</highlight> console::Console * <highlight class="keyword">const</highlight> <ref idref="classsf_1_1system_1_1System_1a8">console</ref>(<highlight class="keywordtype">void</highlight>) = 0;</codeline>
+<linenumber line="108"/><codeline></codeline>
+<linenumber line="113"/><codeline> <highlight class="keyword">virtual</highlight> sound::Sound * <highlight class="keyword">const</highlight> <ref idref="classsf_1_1system_1_1System_1a9">sound</ref>(<highlight class="keywordtype">void</highlight>) = 0;</codeline>
+<linenumber line="114"/><codeline> </codeline>
+<linenumber line="118"/><codeline> <highlight class="keyword">virtual</highlight> input::Input * <highlight class="keyword">const</highlight> <ref idref="classsf_1_1system_1_1System_1a10">input</ref>(<highlight class="keywordtype">void</highlight>) = 0;</codeline>
+<linenumber line="119"/><codeline></codeline>
+<linenumber line="124"/><codeline> <highlight class="keyword">virtual</highlight> application::Main * <highlight class="keyword">const</highlight> <ref idref="classsf_1_1system_1_1System_1a11">main</ref>() = 0;</codeline>
+<linenumber line="125"/><codeline> </codeline>
+<linenumber line="129"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1System_1a11">main</ref>(application::Main * <highlight class="keyword">const</highlight> pMain ) = 0;</codeline>
+<linenumber line="130"/><codeline> </codeline>
+<linenumber line="136"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> <ref idref="classsf_1_1system_1_1System_1a13">deltaTime</ref>(<highlight class="keywordtype">void</highlight>) = 0;</codeline>
+<linenumber line="137"/><codeline> </codeline>
+<linenumber line="141"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> <ref idref="classsf_1_1system_1_1System_1a14">framePerSec</ref>(<highlight class="keywordtype">void</highlight>) = 0;</codeline>
+<linenumber line="142"/><codeline> </codeline>
+<linenumber line="143"/><codeline> <highlight class="comment">// INQUIRY</highlight></codeline>
+<linenumber line="147"/><codeline><highlight class="comment"></highlight> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1System_1a15">isActive</ref>(<highlight class="keywordtype">void</highlight>) = 0;</codeline>
+<linenumber line="148"/><codeline>}; <highlight class="comment">// System</highlight></codeline>
+<linenumber line="149"/><codeline></codeline>
+<linenumber line="154"/><codeline>SFDLL System * <highlight class="keyword">const</highlight> <ref idref="namespacesf_1_1system_1a4">instance</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="155"/><codeline></codeline>
+<linenumber line="156"/><codeline>} <highlight class="comment">// namespace system</highlight></codeline>
+<linenumber line="157"/><codeline>} <highlight class="comment">// namespace sf</highlight></codeline>
+<linenumber line="158"/><codeline>}</codeline>
+<linenumber line="159"/><codeline><highlight class="preprocessor">#endif // !defined(AFX_System_H__DD8D138F_B5A2_4C7B_B543_6BCE1BFB1ED5__INCLUDED_)</highlight></codeline>
+<linenumber line="160"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/System.h"/>
+ </compounddef>
+ <compounddef id="SystemImpl_8cpp" kind="file">
+ <compoundname>SystemImpl.cpp</compoundname>
+ <includes id="sfdebug_8h" local="yes">sfdebug.h</includes>
+ <includes local="yes">math.h</includes>
+ <includes local="no">list</includes>
+ <includes local="no">queue</includes>
+ <includes local="no">memory</includes>
+ <includes local="no">map</includes>
+ <includes local="no">iostream</includes>
+ <includes local="no">strstream</includes>
+ <includes local="yes">windows.h</includes>
+ <includes local="yes">windowsx.h</includes>
+ <includes local="yes">d3d8.h</includes>
+ <includes local="yes">d3dx8.h</includes>
+ <includes local="yes">dmusici.h</includes>
+ <includes local="yes">dinput.h</includes>
+ <includes id="dxerr8sf_8h" local="yes">dxerr8sf.h</includes>
+ <includes local="yes">exception.h</includes>
+ <includes id="sfglib_2resource_8h" local="yes">resource.h</includes>
+ <includes id="System_8h" local="yes">System.h</includes>
+ <includes id="Console_8h" local="yes">Console.h</includes>
+ <includes id="Obj_8h" local="yes">Obj.h</includes>
+ <includes id="singleton_8h" local="yes">singleton.h</includes>
+ <includes id="AbstractSprite_8h" local="yes">AbstractSprite.h</includes>
+ <includes id="ConsoleImpl_8h" local="yes">ConsoleImpl.h</includes>
+ <includes id="SoundImpl_8h" local="yes">SoundImpl.h</includes>
+ <includes id="InputImpl_8h" local="yes">InputImpl.h</includes>
+ <includes id="Main_8h" local="yes">Main.h</includes>
+ <includes id="SystemWin32_8h" local="yes">SystemWin32.h</includes>
+ <includes id="SystemImpl_8h" local="yes">SystemImpl.h</includes>
+ <incdepgraph>
+ <node id="809">
+ <label>list</label>
+ </node>
+ <node id="830">
+ <label>singleton.h</label>
+ <link id="singleton_8h"/>
+ <childnode id="811" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="822">
+ <label>dxerr8.h</label>
+ </node>
+ <node id="810">
+ <label>queue</label>
+ </node>
+ <node id="833">
+ <label>SoundImpl.h</label>
+ <link id="SoundImpl_8h"/>
+ <childnode id="827" relation="public-inheritance">
+ </childnode>
+ <childnode id="834" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="815">
+ <label>windows.h</label>
+ </node>
+ <node id="836">
+ <label>Input.h</label>
+ <link id="Input_8h"/>
+ <childnode id="827" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="839">
+ <label>sfinterface.h</label>
+ <link id="sfinterface_8h-source"/>
+ </node>
+ <node id="814">
+ <label>strstream</label>
+ </node>
+ <node id="825">
+ <label>System.h</label>
+ <link id="System_8h"/>
+ <childnode id="826" relation="public-inheritance">
+ </childnode>
+ <childnode id="827" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="816">
+ <label>windowsx.h</label>
+ </node>
+ <node id="824">
+ <label>resource.h</label>
+ <link id="sfglib_2resource_8h-source"/>
+ </node>
+ <node id="819">
+ <label>dmusici.h</label>
+ </node>
+ <node id="826">
+ <label>string</label>
+ </node>
+ <node id="806">
+ <label>SystemImpl.cpp</label>
+ <link id="SystemImpl.cpp"/>
+ <childnode id="807" relation="public-inheritance">
+ </childnode>
+ <childnode id="808" relation="public-inheritance">
+ </childnode>
+ <childnode id="809" relation="public-inheritance">
+ </childnode>
+ <childnode id="810" relation="public-inheritance">
+ </childnode>
+ <childnode id="811" relation="public-inheritance">
+ </childnode>
+ <childnode id="812" relation="public-inheritance">
+ </childnode>
+ <childnode id="813" relation="public-inheritance">
+ </childnode>
+ <childnode id="814" relation="public-inheritance">
+ </childnode>
+ <childnode id="815" relation="public-inheritance">
+ </childnode>
+ <childnode id="816" relation="public-inheritance">
+ </childnode>
+ <childnode id="817" relation="public-inheritance">
+ </childnode>
+ <childnode id="818" relation="public-inheritance">
+ </childnode>
+ <childnode id="819" relation="public-inheritance">
+ </childnode>
+ <childnode id="820" relation="public-inheritance">
+ </childnode>
+ <childnode id="821" relation="public-inheritance">
+ </childnode>
+ <childnode id="823" relation="public-inheritance">
+ </childnode>
+ <childnode id="824" relation="public-inheritance">
+ </childnode>
+ <childnode id="825" relation="public-inheritance">
+ </childnode>
+ <childnode id="828" relation="public-inheritance">
+ </childnode>
+ <childnode id="829" relation="public-inheritance">
+ </childnode>
+ <childnode id="830" relation="public-inheritance">
+ </childnode>
+ <childnode id="831" relation="public-inheritance">
+ </childnode>
+ <childnode id="832" relation="public-inheritance">
+ </childnode>
+ <childnode id="833" relation="public-inheritance">
+ </childnode>
+ <childnode id="835" relation="public-inheritance">
+ </childnode>
+ <childnode id="837" relation="public-inheritance">
+ </childnode>
+ <childnode id="838" relation="public-inheritance">
+ </childnode>
+ <childnode id="840" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="832">
+ <label>ConsoleImpl.h</label>
+ <link id="ConsoleImpl_8h"/>
+ <childnode id="827" relation="public-inheritance">
+ </childnode>
+ <childnode id="828" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="821">
+ <label>dxerr8sf.h</label>
+ <link id="dxerr8sf_8h-source"/>
+ <childnode id="822" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="807">
+ <label>sfdebug.h</label>
+ <link id="sfdebug_8h"/>
+ </node>
+ <node id="812">
+ <label>map</label>
+ </node>
+ <node id="831">
+ <label>AbstractSprite.h</label>
+ <link id="AbstractSprite_8h-source"/>
+ <childnode id="827" relation="public-inheritance">
+ </childnode>
+ <childnode id="828" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="840">
+ <label>SystemImpl.h</label>
+ <link id="SystemImpl_8h-source"/>
+ <childnode id="827" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="827">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ <node id="828">
+ <label>Console.h</label>
+ <link id="Console_8h"/>
+ <childnode id="811" relation="public-inheritance">
+ </childnode>
+ <childnode id="827" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="835">
+ <label>InputImpl.h</label>
+ <link id="InputImpl_8h"/>
+ <childnode id="827" relation="public-inheritance">
+ </childnode>
+ <childnode id="836" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="834">
+ <label>Sound.h</label>
+ <link id="Sound_8h"/>
+ <childnode id="827" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="808">
+ <label>math.h</label>
+ </node>
+ <node id="838">
+ <label>SystemWin32.h</label>
+ <link id="SystemWin32_8h"/>
+ <childnode id="839" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="813">
+ <label>iostream</label>
+ </node>
+ <node id="829">
+ <label>Obj.h</label>
+ <link id="Obj_8h-source"/>
+ <childnode id="827" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="817">
+ <label>d3d8.h</label>
+ </node>
+ <node id="837">
+ <label>Main.h</label>
+ <link id="Main_8h-source"/>
+ </node>
+ <node id="823">
+ <label>exception.h</label>
+ </node>
+ <node id="818">
+ <label>d3dx8.h</label>
+ </node>
+ <node id="811">
+ <label>memory</label>
+ </node>
+ <node id="820">
+ <label>dinput.h</label>
+ </node>
+ </incdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="SystemImpl_8cpp_1a0" virt="normal" prot="public">
+ <name>WIN32_LEAN_AND_MEAN</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.cpp" line="21" bodystart="21" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline></codeline>
+<linenumber line="13"/><codeline><highlight class="preprocessor">#pragma warning( disable : 4786 ) //STL?I\81EU1d3\81\8b?\81E</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include "<ref idref="sfdebug_8h">sfdebug.h</ref>"</highlight></codeline>
+<linenumber line="15"/><codeline></codeline>
+<linenumber line="16"/><codeline></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">// SYSTEM INCLUDES</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">//#define INITGUID</highlight></codeline>
+<linenumber line="20"/><codeline></codeline>
+<linenumber line="21"/><codeline><highlight class="preprocessor">#define WIN32_LEAN_AND_MEAN</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="preprocessor">#include "math.h"</highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="preprocessor">#include <list></highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="preprocessor">#include <queue></highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="preprocessor">#include <memory></highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="preprocessor">#include <map></highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="preprocessor">#include <iostream></highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="preprocessor">#include <strstream></highlight></codeline>
+<linenumber line="30"/><codeline></codeline>
+<linenumber line="31"/><codeline><highlight class="preprocessor">#include "windows.h"</highlight></codeline>
+<linenumber line="32"/><codeline><highlight class="preprocessor">#include "windowsx.h"</highlight></codeline>
+<linenumber line="33"/><codeline><highlight class="preprocessor">#include "d3d8.h"</highlight></codeline>
+<linenumber line="34"/><codeline><highlight class="preprocessor">#include "d3dx8.h"</highlight></codeline>
+<linenumber line="35"/><codeline><highlight class="preprocessor">#include "dmusici.h"</highlight></codeline>
+<linenumber line="36"/><codeline><highlight class="preprocessor">#include "dinput.h"</highlight></codeline>
+<linenumber line="37"/><codeline><highlight class="preprocessor">#include "dxerr8sf.h"</highlight></codeline>
+<linenumber line="38"/><codeline></codeline>
+<linenumber line="39"/><codeline><highlight class="comment">// PROJECT INCLUDES</highlight></codeline>
+<linenumber line="40"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="41"/><codeline></codeline>
+<linenumber line="42"/><codeline><highlight class="preprocessor">#include "exception.h"</highlight></codeline>
+<linenumber line="43"/><codeline><highlight class="preprocessor">#include "resource.h"</highlight></codeline>
+<linenumber line="44"/><codeline><highlight class="preprocessor">#include "<ref idref="System_8h">System.h</ref>"</highlight></codeline>
+<linenumber line="45"/><codeline><highlight class="preprocessor">#include "<ref idref="Console_8h">Console.h</ref>"</highlight></codeline>
+<linenumber line="46"/><codeline><highlight class="preprocessor">#include "Obj.h"</highlight></codeline>
+<linenumber line="47"/><codeline><highlight class="preprocessor">#include "<ref idref="singleton_8h">singleton.h</ref>"</highlight></codeline>
+<linenumber line="48"/><codeline><highlight class="preprocessor">#include "AbstractSprite.h"</highlight></codeline>
+<linenumber line="49"/><codeline><highlight class="preprocessor">#include "<ref idref="ConsoleImpl_8h">ConsoleImpl.h</ref>"</highlight> </codeline>
+<linenumber line="50"/><codeline><highlight class="preprocessor">#include "<ref idref="SoundImpl_8h">SoundImpl.h</ref>"</highlight></codeline>
+<linenumber line="51"/><codeline><highlight class="preprocessor">#include "<ref idref="InputImpl_8h">InputImpl.h</ref>"</highlight></codeline>
+<linenumber line="52"/><codeline><highlight class="preprocessor">#include "Main.h"</highlight></codeline>
+<linenumber line="53"/><codeline><highlight class="preprocessor">#include "<ref idref="SystemWin32_8h">SystemWin32.h</ref>"</highlight></codeline>
+<linenumber line="54"/><codeline><highlight class="preprocessor">#include "SystemImpl.h"</highlight></codeline>
+<linenumber line="55"/><codeline></codeline>
+<linenumber line="56"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="57"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define new DEBUG_NEW</highlight></codeline>
+<linenumber line="58"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="59"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="60"/><codeline><highlight class="comment">// \a\a\e!?\e!?\\81P\81C!?DIN</highlight></codeline>
+<linenumber line="61"/><codeline></codeline>
+<linenumber line="62"/><codeline><highlight class="comment">// LOCAL INCLUDES</highlight></codeline>
+<linenumber line="63"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="64"/><codeline></codeline>
+<linenumber line="65"/><codeline><highlight class="comment">// FORWARD REFERENCES</highlight></codeline>
+<linenumber line="66"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="67"/><codeline></codeline>
+<linenumber line="68"/><codeline><highlight class="comment">// namespace</highlight></codeline>
+<linenumber line="69"/><codeline><highlight class="keyword">namespace </highlight>sf {</codeline>
+<linenumber line="70"/><codeline> <highlight class="keyword">namespace </highlight>system {</codeline>
+<linenumber line="71"/><codeline><highlight class="comment">// constant</highlight></codeline>
+<linenumber line="72"/><codeline></codeline>
+<linenumber line="73"/><codeline>System * <highlight class="keyword">const</highlight> <ref idref="namespacesf_1_1system_1a4">instance</ref>(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="74"/><codeline>{ </codeline>
+<linenumber line="75"/><codeline> <highlight class="keywordflow">return</highlight> SystemImpl::instance();</codeline>
+<linenumber line="76"/><codeline>}<highlight class="comment">// getInstance()</highlight></codeline>
+<linenumber line="77"/><codeline></codeline>
+<linenumber line="78" refid="classsf_1_1system_1_1SystemImpl_1r1"/><codeline><highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> SystemImpl::smAppName[] = <highlight class="stringliteral">"Shooting Game!"</highlight>; <highlight class="comment">// constant</highlight></codeline>
+<linenumber line="79"/><codeline></codeline>
+<linenumber line="80"/><codeline><highlight class="comment">// \\81E\o\\81\8b\e\E\o\N\?!?\o?oA?AT?e???a?I\T\\81P\i</highlight></codeline>
+<linenumber line="81"/><codeline><ref idref="singleton_8h_1a1">IMPLEMENT_SINGLETON</ref>(SystemImpl,SystemImpl);</codeline>
+<linenumber line="82"/><codeline></codeline>
+<linenumber line="83"/><codeline><highlight class="comment">// \3\o\1\E\e\\81P\? -------------------------------------------------------------</highlight></codeline>
+<linenumber line="84"/><codeline>SystemImpl::SystemImpl()</codeline>
+<linenumber line="85"/><codeline>{</codeline>
+<linenumber line="86"/><codeline> <highlight class="comment">// ?a?i?a?i?I?e\81Lu2??eIy</highlight></codeline>
+<linenumber line="87"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o5">mIsWindowActive</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="88"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o1">mpConsole</ref> = NULL;</codeline>
+<linenumber line="89"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o2">mpSound</ref> = NULL;</codeline>
+<linenumber line="90"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o3">mpInput</ref> = NULL;</codeline>
+<linenumber line="91"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o4">mpMain</ref> = NULL;</codeline>
+<linenumber line="92"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o7">mTimerInterval</ref> = <ref idref="namespacesf_1_1system_1a2">TIMER_INTERVAL</ref>;</codeline>
+<linenumber line="93"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o6">mbWindowed</ref> = <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="94"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o10">mTimerElapsed</ref> = 0;</codeline>
+<linenumber line="95"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o8">mTimerValue</ref> = timeGetTime();</codeline>
+<linenumber line="96"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o9">mTimerBefore</ref> = <ref idref="classsf_1_1system_1_1SystemImpl_1o8">mTimerValue</ref>;</codeline>
+<linenumber line="97"/><codeline></codeline>
+<linenumber line="98"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o12">mFrameStep</ref> = (float)(TIMER_INTERVAL) / 32.0f;</codeline>
+<linenumber line="99"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o13">mFramePerSec</ref> = 1000.0f / (float)<ref idref="namespacesf_1_1system_1a2">TIMER_INTERVAL</ref>;</codeline>
+<linenumber line="100"/><codeline></codeline>
+<linenumber line="101"/><codeline> <highlight class="comment">// COM ?I?e\81Lu2?</highlight></codeline>
+<linenumber line="102"/><codeline> CoInitialize(NULL);</codeline>
+<linenumber line="103"/><codeline></codeline>
+<linenumber line="104"/><codeline>}<highlight class="comment">// SystemImpl()</highlight></codeline>
+<linenumber line="105"/><codeline></codeline>
+<linenumber line="106"/><codeline></codeline>
+<linenumber line="107"/><codeline><highlight class="comment">// \C\1\E\e\\81P\? ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="108"/><codeline>SystemImpl::~SystemImpl()</codeline>
+<linenumber line="109"/><codeline>{</codeline>
+<linenumber line="110"/><codeline> OutputDebugString(<highlight class="stringliteral">"~SystemImpl()"</highlight>);</codeline>
+<linenumber line="111"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1c1">uninitialize</ref>();</codeline>
+<linenumber line="112"/><codeline> CoUninitialize();</codeline>
+<linenumber line="113"/><codeline>}<highlight class="comment">// ~SystemImpl()</highlight></codeline>
+<linenumber line="114"/><codeline></codeline>
+<linenumber line="117" refid="classsf_1_1system_1_1SystemImpl_1c1"/><codeline><highlight class="keywordtype">void</highlight> SystemImpl::uninitialize(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="118"/><codeline>{</codeline>
+<linenumber line="119"/><codeline> <highlight class="comment">// Console\?\o\?!?\O\\81\98!?\1?I3\81áEu</highlight></codeline>
+<linenumber line="120"/><codeline> <highlight class="keywordflow">if</highlight>(mpConsole){</codeline>
+<linenumber line="121"/><codeline> <highlight class="keyword">delete</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1o1">mpConsole</ref>;</codeline>
+<linenumber line="122"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o1">mpConsole</ref> = NULL;</codeline>
+<linenumber line="123"/><codeline> }</codeline>
+<linenumber line="124"/><codeline></codeline>
+<linenumber line="125"/><codeline> <highlight class="comment">// Main\?\o\?!?\O\\81\98!?\1?I3\81áEu</highlight></codeline>
+<linenumber line="126"/><codeline> <highlight class="comment">// auto_ptr?E?I?Cdelete?I?E?\81E</highlight></codeline>
+<linenumber line="127"/><codeline> <highlight class="keywordflow">if</highlight>(mpMain){</codeline>
+<linenumber line="128"/><codeline> </codeline>
+<linenumber line="129"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o4">mpMain</ref> = NULL;</codeline>
+<linenumber line="130"/><codeline> }</codeline>
+<linenumber line="131"/><codeline></codeline>
+<linenumber line="132"/><codeline> <highlight class="comment">// Sound\?\o\?!?\O\\81\98!?\1?I3\81áEu</highlight></codeline>
+<linenumber line="133"/><codeline> <highlight class="keywordflow">if</highlight>(mpSound)</codeline>
+<linenumber line="134"/><codeline> {</codeline>
+<linenumber line="135"/><codeline> <highlight class="keyword">delete</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1o2">mpSound</ref>;</codeline>
+<linenumber line="136"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o2">mpSound</ref> = NULL;</codeline>
+<linenumber line="137"/><codeline> }</codeline>
+<linenumber line="138"/><codeline></codeline>
+<linenumber line="139"/><codeline> <highlight class="comment">// Input\?\o\?!?\O\\81\98!?\1?I3\81áEu</highlight></codeline>
+<linenumber line="140"/><codeline> <highlight class="keywordflow">if</highlight>(mpInput)</codeline>
+<linenumber line="141"/><codeline> {</codeline>
+<linenumber line="142"/><codeline> <highlight class="keyword">delete</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1o3">mpInput</ref>;</codeline>
+<linenumber line="143"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o3">mpInput</ref> = NULL;</codeline>
+<linenumber line="144"/><codeline> }</codeline>
+<linenumber line="145"/><codeline> </codeline>
+<linenumber line="146"/><codeline> <highlight class="comment">// WindowMessageMap?I3\81áEu</highlight></codeline>
+<linenumber line="147"/><codeline> WindowMessageMap::iterator it;</codeline>
+<linenumber line="148"/><codeline> <highlight class="keywordflow">for</highlight>(it = <ref idref="classsf_1_1system_1_1SystemImpl_1o11">mWindowMessageMap</ref>.begin();it != <ref idref="classsf_1_1system_1_1SystemImpl_1o11">mWindowMessageMap</ref>.end();++it)</codeline>
+<linenumber line="149"/><codeline> {</codeline>
+<linenumber line="150"/><codeline> <highlight class="keywordflow">if</highlight>((*it).second){</codeline>
+<linenumber line="151"/><codeline> <highlight class="keyword">delete</highlight> ((*it).second);</codeline>
+<linenumber line="152"/><codeline> }</codeline>
+<linenumber line="153"/><codeline> }</codeline>
+<linenumber line="154"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o11">mWindowMessageMap</ref>.erase(<ref idref="classsf_1_1system_1_1SystemImpl_1o11">mWindowMessageMap</ref>.begin(),<ref idref="classsf_1_1system_1_1SystemImpl_1o11">mWindowMessageMap</ref>.end());</codeline>
+<linenumber line="155"/><codeline></codeline>
+<linenumber line="156"/><codeline>}</codeline>
+<linenumber line="157"/><codeline></codeline>
+<linenumber line="158"/><codeline><highlight class="comment">// Windows\a\?\o --------------------------------------------------------------</highlight></codeline>
+<linenumber line="159"/><codeline><highlight class="comment">// Windows?\81P?A?\83Ê??EoE\81Ê</highlight></codeline>
+<linenumber line="160" refid="classsf_1_1system_1_1SystemImpl_1a1"/><codeline><highlight class="keywordtype">int</highlight> SystemImpl::winMain (<highlight class="keyword">const</highlight> HINSTANCE hThisInstance, <highlight class="keyword">const</highlight> HINSTANCE hPrevInstance,</codeline>
+<linenumber line="161"/><codeline> <highlight class="keyword">const</highlight> LPSTR lpszCmdParam, <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> nCmdShow)</codeline>
+<linenumber line="162"/><codeline>{</codeline>
+<linenumber line="163"/><codeline> MSG msg;</codeline>
+<linenumber line="164"/><codeline></codeline>
+<linenumber line="165"/><codeline> <highlight class="comment">// HWND mHWNDMain;</highlight></codeline>
+<linenumber line="166"/><codeline> <highlight class="comment">// \C\D\A\\81\8bIN</highlight></codeline>
+<linenumber line="167"/><codeline></codeline>
+<linenumber line="168"/><codeline></codeline>
+<linenumber line="169"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1c5">setupMessageMap</ref>();</codeline>
+<linenumber line="170"/><codeline></codeline>
+<linenumber line="171"/><codeline> <highlight class="comment">//\|\\81\92\o\E\|\\81P\e\1?IADI?//</highlight></codeline>
+<linenumber line="172"/><codeline> </codeline>
+<linenumber line="173"/><codeline> <highlight class="comment">//Co\U\A!c?I\|\?\o\E\|?ooiAR?1?e!\81\92</highlight></codeline>
+<linenumber line="174"/><codeline> WNDCLASS wndclass;</codeline>
+<linenumber line="175"/><codeline> </codeline>
+<linenumber line="176"/><codeline> wndclass.style = CS_DBLCLKS; </codeline>
+<linenumber line="177"/><codeline> wndclass.lpfnWndProc = &<ref idref="classsf_1_1system_1_1SystemImpl_1d0">wndFunc</ref>; <highlight class="comment">// window function</highlight></codeline>
+<linenumber line="178"/><codeline> wndclass.cbClsExtra = 0; <highlight class="comment">// no extra count of bytes</highlight></codeline>
+<linenumber line="179"/><codeline> wndclass.cbWndExtra = 0; <highlight class="comment">// no extra count of bytes</highlight></codeline>
+<linenumber line="180"/><codeline> wndclass.hInstance = hThisInstance; <highlight class="comment">// this instance</highlight></codeline>
+<linenumber line="181"/><codeline> wndclass.hIcon = LoadIcon (hThisInstance, MAKEINTRESOURCE(IDI_ICON1));</codeline>
+<linenumber line="182"/><codeline> wndclass.hCursor = LoadCursor (NULL, IDC_ARROW);</codeline>
+<linenumber line="183"/><codeline> wndclass.hbrBackground = (HBRUSH)GetStockObject (WHITE_BRUSH);</codeline>
+<linenumber line="184"/><codeline> wndclass.lpszMenuName = NULL; <highlight class="comment">//\a\E\a!??E?\81E?I\|\?\o\E\|</highlight></codeline>
+<linenumber line="185"/><codeline> <highlight class="comment">//MAKEINTRESOURCE (IDR_MENU1);;</highlight></codeline>
+<linenumber line="186"/><codeline> wndclass.lpszClassName = <ref idref="classsf_1_1system_1_1SystemImpl_1r1">smAppName</ref>; <highlight class="comment">// \\81\91\\81~\e?II?A\81\8b</highlight></codeline>
+<linenumber line="187"/><codeline> </codeline>
+<linenumber line="188"/><codeline> RegisterClass (&wndclass);</codeline>
+<linenumber line="189"/><codeline><highlight class="comment">//WS_EX_TOPMOST</highlight></codeline>
+<linenumber line="190"/><codeline> <highlight class="comment">//!!?3?IEO?I?U?o?E?IConsole\\81P\e\1?I?AAo\\81P\e\1?EAt?i?????I?A?\81Ê... </highlight></codeline>
+<linenumber line="191"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o0">mHWNDMain</ref> = CreateWindowEx (</codeline>
+<linenumber line="192"/><codeline> WS_EX_APPWINDOW, <highlight class="comment">// window style</highlight></codeline>
+<linenumber line="193"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1r1">smAppName</ref>, <highlight class="comment">// window class name</highlight></codeline>
+<linenumber line="194"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1r1">smAppName</ref>, <highlight class="comment">// window caption</highlight></codeline>
+<linenumber line="195"/><codeline> WS_VISIBLE | WS_POPUP | WS_SYSMENU, <highlight class="comment">// window style</highlight></codeline>
+<linenumber line="196"/><codeline> CW_USEDEFAULT, <highlight class="comment">// initial x position</highlight></codeline>
+<linenumber line="197"/><codeline> CW_USEDEFAULT, <highlight class="comment">// initial y position</highlight></codeline>
+<linenumber line="198"/><codeline> console::screen::WIDTH, <highlight class="comment">// initial x size</highlight></codeline>
+<linenumber line="199"/><codeline> console::screen::HEIGHT, <highlight class="comment">// initial y size</highlight></codeline>
+<linenumber line="200"/><codeline> NULL, <highlight class="comment">// parent window handle</highlight></codeline>
+<linenumber line="201"/><codeline> NULL, <highlight class="comment">// window menu handle</highlight></codeline>
+<linenumber line="202"/><codeline> hThisInstance, <highlight class="comment">// program instance handle</highlight></codeline>
+<linenumber line="203"/><codeline> NULL); <highlight class="comment">// creation parameters</highlight></codeline>
+<linenumber line="204"/><codeline></codeline>
+<linenumber line="205"/><codeline> <highlight class="comment">// oi?i?E???i1c ?aI\81â</highlight></codeline>
+<linenumber line="206"/><codeline> <highlight class="keywordflow">if</highlight> (!<ref idref="classsf_1_1system_1_1SystemImpl_1o0">mHWNDMain</ref>)</codeline>
+<linenumber line="207"/><codeline> <highlight class="keywordflow">return</highlight> FALSE;</codeline>
+<linenumber line="208"/><codeline></codeline>
+<linenumber line="209"/><codeline> ShowWindow (<ref idref="classsf_1_1system_1_1SystemImpl_1o0">mHWNDMain</ref>, nCmdShow);</codeline>
+<linenumber line="210"/><codeline> UpdateWindow (<ref idref="classsf_1_1system_1_1SystemImpl_1o0">mHWNDMain</ref>);</codeline>
+<linenumber line="211"/><codeline> SetFocus(<ref idref="classsf_1_1system_1_1SystemImpl_1o0">mHWNDMain</ref>);</codeline>
+<linenumber line="212"/><codeline></codeline>
+<linenumber line="213"/><codeline> </codeline>
+<linenumber line="214"/><codeline></codeline>
+<linenumber line="215"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="216"/><codeline><highlight class="preprocessor"></highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1o6">mbWindowed</ref> = <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="217"/><codeline><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="218"/><codeline><highlight class="preprocessor"></highlight> <highlight class="keywordflow">try</highlight> {</codeline>
+<linenumber line="219"/><codeline> <highlight class="comment">// 2eII\a\O\\81C\\81\98\\81P\E?oA\81CAR </highlight></codeline>
+<linenumber line="220"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o1">mpConsole</ref> = <highlight class="keyword">new</highlight> console::ConsoleImpl(<ref idref="classsf_1_1system_1_1SystemImpl_1o0">mHWNDMain</ref>,<ref idref="classsf_1_1system_1_1SystemImpl_1o6">mbWindowed</ref>);</codeline>
+<linenumber line="221"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o1">mpConsole</ref>->initialize();</codeline>
+<linenumber line="222"/><codeline> </codeline>
+<linenumber line="223"/><codeline> <highlight class="comment">// \\83Ê\|\o\E\a\O\\81C\\81\98\\81P\E?oA\81CAR</highlight></codeline>
+<linenumber line="224"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o2">mpSound</ref> = <highlight class="keyword">new</highlight> sound::SoundImpl();</codeline>
+<linenumber line="225"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o2">mpSound</ref>->initialize();</codeline>
+<linenumber line="226"/><codeline> </codeline>
+<linenumber line="227"/><codeline> <highlight class="comment">// \?\o\\81~\A\E\C\D\?\1\a\O\\81C\\81\98\\81P\E?IA\81CAR</highlight></codeline>
+<linenumber line="228"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o3">mpInput</ref> = <highlight class="keyword">new</highlight> input::InputImpl(<ref idref="classsf_1_1system_1_1SystemImpl_1o0">mHWNDMain</ref>);</codeline>
+<linenumber line="229"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o3">mpInput</ref>->initialize();</codeline>
+<linenumber line="230"/><codeline></codeline>
+<linenumber line="231"/><codeline> <highlight class="comment">//2eII?\81ÊIi?AAa?\81P?T?C... </highlight></codeline>
+<linenumber line="232"/><codeline> Sleep(3000);</codeline>
+<linenumber line="233"/><codeline></codeline>
+<linenumber line="234"/><codeline> <highlight class="comment">// \a\?\o\a\O\\81C\\81\98\\81P\E?IA\81CAR</highlight></codeline>
+<linenumber line="235"/><codeline><highlight class="comment">// mpMain = ::sf::application::MainFactory::getInstance();</highlight></codeline>
+<linenumber line="236"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o4">mpMain</ref>->initialize();</codeline>
+<linenumber line="237"/><codeline></codeline>
+<linenumber line="238"/><codeline> } <highlight class="keywordflow">catch</highlight> (FatalErrorException& e) {</codeline>
+<linenumber line="239"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1a4">errorTerminate</ref>(e.getDefaultMessage());</codeline>
+<linenumber line="240"/><codeline> <highlight class="keywordflow">return</highlight> FALSE;</codeline>
+<linenumber line="241"/><codeline> } <highlight class="keywordflow">catch</highlight> (RecoverbleErrorException& e) {</codeline>
+<linenumber line="242"/><codeline> <highlight class="keyword">using</highlight> <highlight class="keyword">namespace </highlight>sf::system;</codeline>
+<linenumber line="243"/><codeline> switch(e.errorType()){</codeline>
+<linenumber line="244"/><codeline> <highlight class="keywordflow">case</highlight> Exception::SCENE_IS_EMPTY:</codeline>
+<linenumber line="245"/><codeline> <highlight class="keywordflow">return</highlight> TRUE;</codeline>
+<linenumber line="246"/><codeline> <highlight class="keywordflow">break</highlight>;</codeline>
+<linenumber line="247"/><codeline> <highlight class="keywordflow">default</highlight>:</codeline>
+<linenumber line="248"/><codeline> <highlight class="keywordflow">throw</highlight>;</codeline>
+<linenumber line="249"/><codeline> }</codeline>
+<linenumber line="250"/><codeline> } <highlight class="keywordflow">catch</highlight> (...) {</codeline>
+<linenumber line="251"/><codeline> <highlight class="keywordflow">throw</highlight>;</codeline>
+<linenumber line="252"/><codeline> }</codeline>
+<linenumber line="253"/><codeline> </codeline>
+<linenumber line="254"/><codeline> <highlight class="comment">// \?\?\T!??IE\81Ê2oC??o?\81\91?2?e?eIy</highlight></codeline>
+<linenumber line="255"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1c4">initTimer</ref>();</codeline>
+<linenumber line="256"/><codeline> </codeline>
+<linenumber line="257"/><codeline><highlight class="comment">// HANDLE hProcess;</highlight></codeline>
+<linenumber line="258"/><codeline><highlight class="comment">// hProcess = GetCurrentProcess();</highlight></codeline>
+<linenumber line="259"/><codeline><highlight class="comment">// SetPriorityClass(hProcess,CRITICAL_PRIORITY_CLASS);</highlight></codeline>
+<linenumber line="260"/><codeline></codeline>
+<linenumber line="261"/><codeline> <highlight class="comment">// \a\A\\81â!?\\81C\e!?\\81~</highlight></codeline>
+<linenumber line="262"/><codeline> <highlight class="comment">// ?A?c?A?E?3?IEO?\81Ê!\81\91EaAI?IWindows\\81\91\\81~\e?E\81\8ba?|EoE\81Ê!\81\92</highlight></codeline>
+<linenumber line="263"/><codeline> <highlight class="comment">// Window\a\A\\81â!?\\81C?\81Ê?E???i1c?I!\81\91\a\?\o?o\81CA?O?D?1!\81\92</highlight></codeline>
+<linenumber line="264"/><codeline> <highlight class="keywordflow">while</highlight>(1)</codeline>
+<linenumber line="265"/><codeline> {</codeline>
+<linenumber line="266"/><codeline> <highlight class="keywordflow">if</highlight> (PeekMessage( &msg, NULL, 0, 0, PM_NOREMOVE))</codeline>
+<linenumber line="267"/><codeline> {</codeline>
+<linenumber line="268"/><codeline> <highlight class="keywordflow">if</highlight> (!GetMessage( &msg, NULL, 0, 0))</codeline>
+<linenumber line="269"/><codeline> {</codeline>
+<linenumber line="270"/><codeline> <highlight class="keywordflow">return</highlight> msg.wParam;</codeline>
+<linenumber line="271"/><codeline> }</codeline>
+<linenumber line="272"/><codeline> TranslateMessage(&msg);</codeline>
+<linenumber line="273"/><codeline> DispatchMessage(&msg);</codeline>
+<linenumber line="274"/><codeline> }</codeline>
+<linenumber line="275"/><codeline> <highlight class="keywordflow">else</highlight> </codeline>
+<linenumber line="276"/><codeline> {</codeline>
+<linenumber line="277"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1SystemImpl_1c2">isWindowActive</ref>())</codeline>
+<linenumber line="278"/><codeline> {</codeline>
+<linenumber line="279"/><codeline> <highlight class="keywordflow">try</highlight>{</codeline>
+<linenumber line="280"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1a3">wait</ref>();</codeline>
+<linenumber line="281"/><codeline> <highlight class="comment">// 2eII11?\81E </highlight></codeline>
+<linenumber line="282"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o1">mpConsole</ref>->update();</codeline>
+<linenumber line="283"/><codeline> <highlight class="comment">// AtII\C\D\?\1?I\1\E\A\\81~\\81E\c\A\E?o?eAA</highlight></codeline>
+<linenumber line="284"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o3">mpInput</ref>->update();</codeline>
+<linenumber line="285"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o2">mpSound</ref>->update();</codeline>
+<linenumber line="286"/><codeline> </codeline>
+<linenumber line="287"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o4">mpMain</ref>->run();</codeline>
+<linenumber line="288"/><codeline><highlight class="comment">//#ifdef _DEBUG</highlight></codeline>
+<linenumber line="289"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o1">mpConsole</ref>->print(0,console::viewport::X + 8,0.0f,0.0f,1.0f,0xffffffff,<highlight class="stringliteral">"%d ms "</highlight>,<ref idref="classsf_1_1system_1_1SystemImpl_1o10">mTimerElapsed</ref>);</codeline>
+<linenumber line="290"/><codeline><highlight class="comment">//#endif</highlight></codeline>
+<linenumber line="291"/><codeline> <highlight class="comment">// ?eIy\81ât\81LO</highlight></codeline>
+<linenumber line="292"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o10">mTimerElapsed</ref> = timeGetTime() - <ref idref="classsf_1_1system_1_1SystemImpl_1o8">mTimerValue</ref>;</codeline>
+<linenumber line="293"/><codeline> } <highlight class="keywordflow">catch</highlight> (FatalErrorException e) {</codeline>
+<linenumber line="294"/><codeline> <highlight class="keyword">delete</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1o1">mpConsole</ref>;</codeline>
+<linenumber line="295"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o1">mpConsole</ref> = NULL;</codeline>
+<linenumber line="296"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1a4">errorTerminate</ref>(e.getDefaultMessage());</codeline>
+<linenumber line="297"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1c3">windowActivate</ref>(<highlight class="keyword">false</highlight>);</codeline>
+<linenumber line="298"/><codeline> } <highlight class="keywordflow">catch</highlight> (RecoverbleErrorException e) {</codeline>
+<linenumber line="299"/><codeline> PostMessage( <ref idref="classsf_1_1system_1_1SystemImpl_1o0">mHWNDMain</ref>, WM_CLOSE, 0, 0L );</codeline>
+<linenumber line="300"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1c3">windowActivate</ref>(<highlight class="keyword">false</highlight>);</codeline>
+<linenumber line="301"/><codeline> } <highlight class="keywordflow">catch</highlight> (...) {</codeline>
+<linenumber line="302"/><codeline> <highlight class="keywordflow">throw</highlight>;</codeline>
+<linenumber line="303"/><codeline> }</codeline>
+<linenumber line="304"/><codeline> }</codeline>
+<linenumber line="305"/><codeline> } </codeline>
+<linenumber line="306"/><codeline> }</codeline>
+<linenumber line="307"/><codeline>}</codeline>
+<linenumber line="308"/><codeline></codeline>
+<linenumber line="309"/><codeline><highlight class="comment">// Window Function ------------------------------------------------------------</highlight></codeline>
+<linenumber line="310"/><codeline><highlight class="comment">// ?U?o?E?E?\81áE\81Ê?I?i?\81á?eEI\81\8bI?IoCAa\81CA?I\?\U\o\E?eIy?\81E?\81á?\81E?A???E???I?C\81LEA\81}?C?1!\81\92</highlight></codeline>
+<linenumber line="311" refid="classsf_1_1system_1_1SystemImpl_1d0"/><codeline>LRESULT CALLBACK SystemImpl::wndFunc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)</codeline>
+<linenumber line="312"/><codeline>{</codeline>
+<linenumber line="313"/><codeline> <highlight class="comment">// iSystem\?\o\?!?\O\\81\98!?\1?I?T?T?C?I!\81\91\81÷n?Y\\81P\e\1?I\\81~\e\?\U!?\E\a\?\A\E?\81Ê</highlight></codeline>
+<linenumber line="314"/><codeline> <highlight class="comment">// \81CA?O?D?\81â?E???I?C!\81\91\A\?\E\s\A\\81P\-\a\1\E</highlight></codeline>
+<linenumber line="315"/><codeline> </codeline>
+<linenumber line="316"/><codeline> SystemImpl *pSysSystemImpl = dynamic_cast<SystemImpl *>(<ref idref="namespacesf_1_1system_1a4">instance</ref>());</codeline>
+<linenumber line="317"/><codeline> </codeline>
+<linenumber line="318"/><codeline> <highlight class="keywordflow">if</highlight>(pSysSystemImpl == NULL)</codeline>
+<linenumber line="319"/><codeline> <highlight class="keywordflow">return</highlight> DefWindowProc (hwnd, message, wParam, lParam);</codeline>
+<linenumber line="320"/><codeline></codeline>
+<linenumber line="321"/><codeline> WindowMessage *pmessage = pSysSystemImpl->mWindowMessageMap[message]; </codeline>
+<linenumber line="322"/><codeline></codeline>
+<linenumber line="323"/><codeline> <highlight class="keywordflow">if</highlight>(pmessage)</codeline>
+<linenumber line="324"/><codeline> <highlight class="keywordflow">return</highlight> pmessage->call(hwnd,wParam,lParam);</codeline>
+<linenumber line="325"/><codeline> </codeline>
+<linenumber line="326"/><codeline> <highlight class="comment">// messageE\81Ê\81Lo </highlight></codeline>
+<linenumber line="327"/><codeline> <highlight class="keywordflow">switch</highlight> (message)</codeline>
+<linenumber line="328"/><codeline> {</codeline>
+<linenumber line="329"/><codeline> <highlight class="keywordflow">case</highlight> WM_SYSCOMMAND:</codeline>
+<linenumber line="330"/><codeline> <highlight class="keywordflow">return</highlight> pSysSystemImpl->onSysCommand(hwnd,wParam,lParam);</codeline>
+<linenumber line="331"/><codeline> <highlight class="comment">// ?aI\81â?1?e?E?-?I?eIy</highlight></codeline>
+<linenumber line="332"/><codeline> <highlight class="keywordflow">case</highlight> WM_CLOSE:</codeline>
+<linenumber line="333"/><codeline> pSysSystemImpl->uninitialize();</codeline>
+<linenumber line="334"/><codeline> DestroyWindow( hwnd );</codeline>
+<linenumber line="335"/><codeline> <highlight class="keywordflow">return</highlight> 0;</codeline>
+<linenumber line="336"/><codeline> <highlight class="keywordflow">case</highlight> WM_DESTROY:</codeline>
+<linenumber line="337"/><codeline> PostQuitMessage(0); <highlight class="comment">//terminate the application</highlight></codeline>
+<linenumber line="338"/><codeline> <highlight class="keywordflow">return</highlight> 0;</codeline>
+<linenumber line="339"/><codeline> <highlight class="keywordflow">default</highlight>:</codeline>
+<linenumber line="340"/><codeline> <highlight class="keywordflow">break</highlight>;</codeline>
+<linenumber line="341"/><codeline> }</codeline>
+<linenumber line="342"/><codeline></codeline>
+<linenumber line="343"/><codeline> <highlight class="comment">// ???IA??IWindows?E?aC??\81â </highlight></codeline>
+<linenumber line="344"/><codeline> <highlight class="keywordflow">return</highlight> DefWindowProc (hwnd, message, wParam, lParam);</codeline>
+<linenumber line="345"/><codeline>}<highlight class="comment">// WndFunc</highlight></codeline>
+<linenumber line="346"/><codeline></codeline>
+<linenumber line="347"/><codeline><highlight class="comment">// Windows?\81á?e?IEA2eI\81~\83Êa --------------------------------------------------</highlight></codeline>
+<linenumber line="348" refid="classsf_1_1system_1_1SystemImpl_1c11"/><codeline>LRESULT SystemImpl::onPaint(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam)</codeline>
+<linenumber line="349"/><codeline>{</codeline>
+<linenumber line="350"/><codeline><highlight class="comment">// return DefWindowProc (hwnd, WM_PAINT, wParam, lParam);</highlight></codeline>
+<linenumber line="351"/><codeline> <highlight class="keywordflow">if</highlight>(!<ref idref="classsf_1_1system_1_1SystemImpl_1o1">mpConsole</ref> || !<ref idref="classsf_1_1system_1_1SystemImpl_1o1">mpConsole</ref>->isEnabled())</codeline>
+<linenumber line="352"/><codeline> {</codeline>
+<linenumber line="353"/><codeline> PAINTSTRUCT ps;</codeline>
+<linenumber line="354"/><codeline> HDC hDC = BeginPaint (hwnd, &ps);</codeline>
+<linenumber line="355"/><codeline> std::string strMessage(<highlight class="stringliteral">"?e\81Lu2?Aa"</highlight>);</codeline>
+<linenumber line="356"/><codeline> TextOut(hDC,0,0,strMessage.c_str(),strMessage.length());</codeline>
+<linenumber line="357"/><codeline> EndPaint(hwnd, &ps ); </codeline>
+<linenumber line="358"/><codeline> }</codeline>
+<linenumber line="359"/><codeline> ValidateRect(hwnd,NULL); </codeline>
+<linenumber line="360"/><codeline> <highlight class="keywordflow">return</highlight> 1;</codeline>
+<linenumber line="361"/><codeline>}<highlight class="comment">// onPaint()</highlight></codeline>
+<linenumber line="362"/><codeline></codeline>
+<linenumber line="363"/><codeline><highlight class="comment">// Window?\81Ê\\81\91\\81P\A\\81\92\O!\81\91Eo\\81\91\\81P\A\\81\92\O\81ât?I?eIy -----------------------------------</highlight></codeline>
+<linenumber line="364" refid="classsf_1_1system_1_1SystemImpl_1c8"/><codeline>LRESULT SystemImpl::onActivate(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam)</codeline>
+<linenumber line="365"/><codeline>{</codeline>
+<linenumber line="366"/><codeline> <highlight class="keywordflow">if</highlight>((BOOL)wParam){</codeline>
+<linenumber line="367"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1c3">windowActivate</ref>(<highlight class="keyword">true</highlight>);</codeline>
+<linenumber line="368"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="369"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1c3">windowActivate</ref>(<highlight class="keyword">false</highlight>);</codeline>
+<linenumber line="370"/><codeline> }</codeline>
+<linenumber line="371"/><codeline> <highlight class="keywordflow">return</highlight> 0;</codeline>
+<linenumber line="372"/><codeline>}</codeline>
+<linenumber line="373"/><codeline></codeline>
+<linenumber line="374"/><codeline></codeline>
+<linenumber line="375"/><codeline><highlight class="comment">// \a\E\a!?AaAo?I\81ât -----------------------------------------------------------</highlight></codeline>
+<linenumber line="376" refid="classsf_1_1system_1_1SystemImpl_1c7"/><codeline>LRESULT SystemImpl::onCommand(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam)</codeline>
+<linenumber line="377"/><codeline>{</codeline>
+<linenumber line="378"/><codeline> <highlight class="comment">// \81C?os?II\83Ê\81âe?oAO</highlight></codeline>
+<linenumber line="379"/><codeline> <highlight class="comment">// Let Default Window Proc handle it for us.</highlight></codeline>
+<linenumber line="380"/><codeline> <highlight class="keywordflow">return</highlight> DefWindowProc (hwnd, WM_COMMAND, wParam, lParam);</codeline>
+<linenumber line="381"/><codeline>} <highlight class="comment">// onCommand</highlight></codeline>
+<linenumber line="382"/><codeline></codeline>
+<linenumber line="383"/><codeline></codeline>
+<linenumber line="384"/><codeline></codeline>
+<linenumber line="385"/><codeline><highlight class="comment">// \\83Ê\?\oEN11\?\U\o\E ---------------------------------------------------------</highlight></codeline>
+<linenumber line="386" refid="classsf_1_1system_1_1SystemImpl_1c10"/><codeline>LRESULT SystemImpl::onSize(<highlight class="keyword">const</highlight> HWND hwnd,<highlight class="keyword">const</highlight> WPARAM wParam,<highlight class="keyword">const</highlight> LPARAM lParam)</codeline>
+<linenumber line="387"/><codeline>{</codeline>
+<linenumber line="388"/><codeline> <highlight class="keywordflow">return</highlight> 0;</codeline>
+<linenumber line="389"/><codeline>}<highlight class="comment">// onSize()</highlight></codeline>
+<linenumber line="390"/><codeline></codeline>
+<linenumber line="391"/><codeline><highlight class="comment">// </highlight></codeline>
+<linenumber line="392" refid="classsf_1_1system_1_1SystemImpl_1c12"/><codeline>LRESULT SystemImpl::onSysCommand(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam)</codeline>
+<linenumber line="393"/><codeline>{</codeline>
+<linenumber line="394"/><codeline> <highlight class="comment">// Prevent moving/sizing and power loss in fullscreen mode</highlight></codeline>
+<linenumber line="395"/><codeline> <highlight class="keywordflow">switch</highlight>( wParam )</codeline>
+<linenumber line="396"/><codeline> {</codeline>
+<linenumber line="397"/><codeline> <highlight class="keywordflow">case</highlight> SC_MOVE:</codeline>
+<linenumber line="398"/><codeline> <highlight class="keywordflow">case</highlight> SC_SIZE:</codeline>
+<linenumber line="399"/><codeline> <highlight class="keywordflow">case</highlight> SC_MAXIMIZE:</codeline>
+<linenumber line="400"/><codeline> <highlight class="keywordflow">case</highlight> SC_KEYMENU:</codeline>
+<linenumber line="401"/><codeline> <highlight class="keywordflow">case</highlight> SC_MONITORPOWER:</codeline>
+<linenumber line="402"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1SystemImpl_1o6">mbWindowed</ref> == <highlight class="keyword">false</highlight>)</codeline>
+<linenumber line="403"/><codeline> <highlight class="keywordflow">return</highlight> 1;</codeline>
+<linenumber line="404"/><codeline> <highlight class="keywordflow">break</highlight>;</codeline>
+<linenumber line="405"/><codeline> }</codeline>
+<linenumber line="406"/><codeline> <highlight class="keywordflow">return</highlight> DefWindowProc (hwnd, WM_SYSCOMMAND,wParam, lParam);</codeline>
+<linenumber line="407"/><codeline>}</codeline>
+<linenumber line="408"/><codeline></codeline>
+<linenumber line="409"/><codeline></codeline>
+<linenumber line="410"/><codeline><highlight class="comment">// \?\?\T!??I?e\81Lu2??eIy -------------------------------------------------------</highlight></codeline>
+<linenumber line="411" refid="classsf_1_1system_1_1SystemImpl_1c4"/><codeline><highlight class="keywordtype">void</highlight> SystemImpl::initTimer(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="412"/><codeline>{</codeline>
+<linenumber line="413"/><codeline> <highlight class="keyword">const</highlight> UINT TARGET_RESOLUTION = 1 ;<highlight class="comment">// 1-millisecond target resolution</highlight></codeline>
+<linenumber line="414"/><codeline></codeline>
+<linenumber line="415"/><codeline> TIMECAPS tc;</codeline>
+<linenumber line="416"/><codeline> UINT timer_res;</codeline>
+<linenumber line="417"/><codeline></codeline>
+<linenumber line="418"/><codeline> <highlight class="keywordflow">if</highlight> (timeGetDevCaps(&tc, <highlight class="keyword">sizeof</highlight>(TIMECAPS)) == TIMERR_NOERROR) </codeline>
+<linenumber line="419"/><codeline> {</codeline>
+<linenumber line="420"/><codeline> timer_res = min(max(tc.wPeriodMin, TARGET_RESOLUTION), tc.wPeriodMax);</codeline>
+<linenumber line="421"/><codeline> timeBeginPeriod(timer_res); </codeline>
+<linenumber line="422"/><codeline> }</codeline>
+<linenumber line="423"/><codeline>}<highlight class="comment">// initTimer()</highlight></codeline>
+<linenumber line="424"/><codeline></codeline>
+<linenumber line="425"/><codeline><highlight class="comment">// \81âOAe?\81E??tick(ms)?T?C\|\\81\98\?\E ------------------------------------------------</highlight></codeline>
+<linenumber line="426" refid="classsf_1_1system_1_1SystemImpl_1a3"/><codeline><highlight class="keywordtype">void</highlight> SystemImpl::wait(<highlight class="keywordtype">void</highlight>)</codeline>
+<linenumber line="427"/><codeline>{</codeline>
+<linenumber line="428"/><codeline></codeline>
+<linenumber line="429"/><codeline> <ref idref="namespacesf_1a0">DWORD</ref> now = timeGetTime();</codeline>
+<linenumber line="430"/><codeline> </codeline>
+<linenumber line="431"/><codeline> <ref idref="namespacesf_1a0">DWORD</ref> rem = now % <ref idref="classsf_1_1system_1_1SystemImpl_1o7">mTimerInterval</ref>;</codeline>
+<linenumber line="432"/><codeline> <ref idref="namespacesf_1a0">DWORD</ref> wait_time = (now / <ref idref="classsf_1_1system_1_1SystemImpl_1o7">mTimerInterval</ref> + ((rem > 0)?1:0)) * <ref idref="classsf_1_1system_1_1SystemImpl_1o7">mTimerInterval</ref> ;</codeline>
+<linenumber line="433"/><codeline><highlight class="comment">// DWORD wait_time = (mTimerValue / mTimerInterval + 1) * mTimerInterval ;</highlight></codeline>
+<linenumber line="434"/><codeline></codeline>
+<linenumber line="435"/><codeline> <ref idref="namespacesf_1a0">DWORD</ref> wait_time_tick = wait_time - now;</codeline>
+<linenumber line="436"/><codeline></codeline>
+<linenumber line="437"/><codeline> <highlight class="keywordflow">if</highlight>(wait_time_tick > 4) </codeline>
+<linenumber line="438"/><codeline> Sleep(wait_time_tick - 3);</codeline>
+<linenumber line="439"/><codeline></codeline>
+<linenumber line="440"/><codeline> <highlight class="keywordflow">while</highlight>(wait_time > timeGetTime());</codeline>
+<linenumber line="441"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o9">mTimerBefore</ref> = <ref idref="classsf_1_1system_1_1SystemImpl_1o8">mTimerValue</ref>;</codeline>
+<linenumber line="442"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o8">mTimerValue</ref> = timeGetTime();</codeline>
+<linenumber line="443"/><codeline></codeline>
+<linenumber line="444"/><codeline>}<highlight class="comment">// wait()</highlight></codeline>
+<linenumber line="445"/><codeline></codeline>
+<linenumber line="446"/><codeline><highlight class="comment">// \\81N\e!??oE??\81N?\81E?A\\81\91\\81~\e\\81}!?\\81E\c\o?o?aI\81â?1?e --------------------------------- </highlight></codeline>
+<linenumber line="447" refid="classsf_1_1system_1_1SystemImpl_1a4"/><codeline><highlight class="keywordtype">void</highlight> SystemImpl::errorTerminate(<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> *errString)</codeline>
+<linenumber line="448"/><codeline>{</codeline>
+<linenumber line="449"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1a5">outputError</ref>(errString);</codeline>
+<linenumber line="450"/><codeline> SendMessage( <ref idref="classsf_1_1system_1_1SystemImpl_1o0">mHWNDMain</ref>, WM_CLOSE, 0, 0 );</codeline>
+<linenumber line="451"/><codeline>}<highlight class="comment">// errorTerminate()</highlight></codeline>
+<linenumber line="452"/><codeline></codeline>
+<linenumber line="453"/><codeline><highlight class="comment">// \\81N\e!?E??\81N -----------------------------------------------------------------</highlight></codeline>
+<linenumber line="454" refid="classsf_1_1system_1_1SystemImpl_1a5"/><codeline><highlight class="keywordtype">void</highlight> SystemImpl::outputError(<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> *errString)</codeline>
+<linenumber line="455"/><codeline>{ <highlight class="keywordtype">char</highlight> err_string[512] = <highlight class="stringliteral">"Error Occured!\r\n"</highlight>;</codeline>
+<linenumber line="456"/><codeline> strncat(err_string,errString,<highlight class="keyword">sizeof</highlight>(err_string) - strlen(err_string));</codeline>
+<linenumber line="457"/><codeline> MessageBox( NULL, err_string,</codeline>
+<linenumber line="458"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1r1">smAppName</ref>,</codeline>
+<linenumber line="459"/><codeline> MB_TOPMOST | MB_SETFOREGROUND | MB_TASKMODAL | MB_ICONERROR | MB_OK );</codeline>
+<linenumber line="460"/><codeline>}<highlight class="comment">// outputError()</highlight></codeline>
+<linenumber line="461"/><codeline></codeline>
+<linenumber line="462"/><codeline><highlight class="comment">// \a\A\\81â!?\\81C\T\A\\81~?I\\81â\A\E\\81\91\A\\81~ !Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y!Y</highlight></codeline>
+<linenumber line="463" refid="classsf_1_1system_1_1SystemImpl_1c5"/><codeline><highlight class="keywordtype">void</highlight> SystemImpl::setupMessageMap()</codeline>
+<linenumber line="464"/><codeline>{</codeline>
+<linenumber line="465"/><codeline><highlight class="comment">/* mWindowMessageMap[WM_PAINT] = new WindowMessageImpl<SystemImpl>(this,&SystemImpl::onPaint);</highlight></codeline>
+<linenumber line="466"/><codeline><highlight class="comment"> mWindowMessageMap[WM_ACTIVATEAPP] = new WindowMessageImpl<SystemImpl>(this,&SystemImpl::onActivate);</highlight></codeline>
+<linenumber line="467"/><codeline><highlight class="comment"> mWindowMessageMap[WM_COMMAND] = new WindowMessageImpl<SystemImpl>(this,&SystemImpl::onCommand);</highlight></codeline>
+<linenumber line="468"/><codeline><highlight class="comment">// mWindowMessageMap[WM_KEYDOWN] = new WindowMessageImpl<SystemImpl>(this,&SystemImpl::onKeyDown);</highlight></codeline>
+<linenumber line="469"/><codeline><highlight class="comment"> mWindowMessageMap[WM_SIZE] = new WindowMessageImpl<SystemImpl>(this,&SystemImpl::onSize);</highlight></codeline>
+<linenumber line="470"/><codeline><highlight class="comment">*/</highlight></codeline>
+<linenumber line="471"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1a2">addWindowMessage</ref>(WM_PAINT,<highlight class="keyword">new</highlight> WindowMessageImpl<SystemImpl>(<highlight class="keyword">this</highlight>,&SystemImpl::onPaint));</codeline>
+<linenumber line="472"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o11">mWindowMessageMap</ref>[WM_ACTIVATEAPP] = <highlight class="keyword">new</highlight> WindowMessageImpl<SystemImpl>(<highlight class="keyword">this</highlight>,&SystemImpl::onActivate);</codeline>
+<linenumber line="473"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o11">mWindowMessageMap</ref>[WM_COMMAND] = <highlight class="keyword">new</highlight> WindowMessageImpl<SystemImpl>(<highlight class="keyword">this</highlight>,&SystemImpl::onCommand);</codeline>
+<linenumber line="474"/><codeline><highlight class="comment">// mWindowMessageMap[WM_KEYDOWN] = new WindowMessageImpl<SystemImpl>(this,&SystemImpl::onKeyDown);</highlight></codeline>
+<linenumber line="475"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1a2">addWindowMessage</ref>(WM_SIZE,<highlight class="keyword">new</highlight> WindowMessageImpl<SystemImpl>(<highlight class="keyword">this</highlight>,&SystemImpl::onSize));</codeline>
+<linenumber line="476"/><codeline></codeline>
+<linenumber line="477"/><codeline></codeline>
+<linenumber line="478"/><codeline>}<highlight class="comment">//setupMessageMap()</highlight></codeline>
+<linenumber line="479"/><codeline></codeline>
+<linenumber line="480"/><codeline></codeline>
+<linenumber line="481"/><codeline>}</codeline>
+<linenumber line="482"/><codeline>}<highlight class="comment">// namespace sf</highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/SystemImpl.cpp"/>
+ </compounddef>
+ <compounddef id="SystemImpl_8h" kind="file">
+ <compoundname>SystemImpl.h</compoundname>
+ <includes id="sf_8h" local="yes">sf.h</includes>
+ <includedby id="InputImpl_8cpp" local="yes">InputImpl.cpp</includedby>
+ <includedby id="sfglib_8cpp" local="yes">sfglib.cpp</includedby>
+ <includedby id="System_8cpp" local="yes">System.cpp</includedby>
+ <includedby id="SystemImpl_8cpp" local="yes">SystemImpl.cpp</includedby>
+ <incdepgraph>
+ <node id="842">
+ <label>SystemImpl.h</label>
+ <link id="SystemImpl.h"/>
+ <childnode id="843" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="843">
+ <label>sf.h</label>
+ <link id="sf_8h-source"/>
+ </node>
+ </incdepgraph>
+ <invincdepgraph>
+ <node id="846">
+ <label>sfglib.cpp</label>
+ <link id="sfglib_8cpp-source"/>
+ </node>
+ <node id="848">
+ <label>SystemImpl.cpp</label>
+ <link id="SystemImpl_8cpp-source"/>
+ </node>
+ <node id="845">
+ <label>InputImpl.cpp</label>
+ <link id="InputImpl_8cpp-source"/>
+ </node>
+ <node id="844">
+ <label>SystemImpl.h</label>
+ <link id="SystemImpl.h"/>
+ <childnode id="845" relation="public-inheritance">
+ </childnode>
+ <childnode id="846" relation="public-inheritance">
+ </childnode>
+ <childnode id="847" relation="public-inheritance">
+ </childnode>
+ <childnode id="848" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="847">
+ <label>System.cpp</label>
+ <link id="System_8cpp-source"/>
+ </node>
+ </invincdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="SystemImpl_8h_1a0" virt="normal" prot="public">
+ <name>AFX_SystemImpl_H__64DBDEBB_81F1_4542_AAF7_B212CB9F4604__INCLUDED_</name>
+ <briefdescription>
+<para>
+Ao?A\?\o\\81P\e!?\EEE\81âs?I???a?IAe\83ÊA. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemImpl.h" line="14" bodystart="14" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline></codeline>
+<linenumber line="12"/><codeline><highlight class="preprocessor">#if !defined(AFX_SystemImpl_H__64DBDEBB_81F1_4542_AAF7_B212CB9F4604__INCLUDED_)</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="preprocessor">#define AFX_SystemImpl_H__64DBDEBB_81F1_4542_AAF7_B212CB9F4604__INCLUDED_</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="preprocessor">#if _MSC_VER > 1000</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#pragma once</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif // _MSC_VER > 1000</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include "sf.h"</highlight> </codeline>
+<linenumber line="20"/><codeline></codeline>
+<linenumber line="21"/><codeline><highlight class="keyword">namespace </highlight>sf {</codeline>
+<linenumber line="22"/><codeline> <highlight class="keyword">namespace </highlight>system {</codeline>
+<linenumber line="23"/><codeline><highlight class="keyword">extern</highlight> <highlight class="stringliteral">"C"</highlight> {</codeline>
+<linenumber line="24"/><codeline></codeline>
+<linenumber line="30" refid="classsf_1_1system_1_1SystemImpl_1"/><codeline> <highlight class="keyword">class </highlight>SystemImpl : <highlight class="keyword">public</highlight> System,sf::system::Win32</codeline>
+<linenumber line="31"/><codeline> {</codeline>
+<linenumber line="32"/><codeline> <highlight class="comment">// Singleton?o?I?\81E?c?e???a?I\T\\81P\i</highlight></codeline>
+<linenumber line="33"/><codeline> <ref idref="singleton_8h_1a0">DECLARE_SINGLETON</ref>(SystemImpl)</codeline>
+<linenumber line="34"/><codeline> <highlight class="comment">// LIFECYCLE //</highlight></codeline>
+<linenumber line="35"/><codeline> SystemImpl();</codeline>
+<linenumber line="36"/><codeline> <highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="38" refid="classsf_1_1system_1_1SystemImpl_1s0"/><codeline> <highlight class="keyword">typedef</highlight> std::map<DWORD,WindowMessage * > <ref idref="classsf_1_1system_1_1SystemImpl_1s0">WindowMessageMap</ref>;</codeline>
+<linenumber line="39"/><codeline></codeline>
+<linenumber line="40"/><codeline> <highlight class="keyword">virtual</highlight> ~SystemImpl();</codeline>
+<linenumber line="41"/><codeline> <highlight class="comment">// OPERATORS //</highlight></codeline>
+<linenumber line="42"/><codeline> <highlight class="comment">// OPERATIONS //</highlight></codeline>
+<linenumber line="45"/><codeline><highlight class="comment"></highlight> <highlight class="keywordtype">int</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1a1">winMain</ref> (<highlight class="keyword">const</highlight> HINSTANCE hThisInstance, <highlight class="keyword">const</highlight> HINSTANCE hPrevInstance,</codeline>
+<linenumber line="46"/><codeline> <highlight class="keyword">const</highlight> LPSTR lpszCmdParam, <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> nCmdShow);</codeline>
+<linenumber line="47"/><codeline> </codeline>
+<linenumber line="49"/><codeline> <highlight class="keyword">static</highlight> LRESULT CALLBACK <ref idref="classsf_1_1system_1_1SystemImpl_1d0">wndFunc</ref>(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);</codeline>
+<linenumber line="50"/><codeline> </codeline>
+<linenumber line="56" refid="classsf_1_1system_1_1SystemImpl_1a2"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1a2">addWindowMessage</ref>(<highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref> value,WindowMessage * pWindowMessage)</codeline>
+<linenumber line="57"/><codeline> {</codeline>
+<linenumber line="58"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1SystemImpl_1o11">mWindowMessageMap</ref>[value] == NULL){</codeline>
+<linenumber line="59"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1o11">mWindowMessageMap</ref>[value] = pWindowMessage;</codeline>
+<linenumber line="60"/><codeline> <highlight class="keywordflow">return</highlight> <highlight class="keyword">true</highlight>;</codeline>
+<linenumber line="61"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="62"/><codeline> <highlight class="keywordflow">return</highlight> <highlight class="keyword">false</highlight>;</codeline>
+<linenumber line="63"/><codeline> }</codeline>
+<linenumber line="64"/><codeline> };</codeline>
+<linenumber line="65"/><codeline></codeline>
+<linenumber line="66"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1a3">wait</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="67"/><codeline> <highlight class="comment">// \\81N\e!?E??\81N?\81E?A?aI\81â</highlight></codeline>
+<linenumber line="68"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1a4">errorTerminate</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> *errString);</codeline>
+<linenumber line="69"/><codeline> <highlight class="comment">// \\81N\e!?E??\81N</highlight></codeline>
+<linenumber line="70"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1a5">outputError</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> *errString);</codeline>
+<linenumber line="71"/><codeline></codeline>
+<linenumber line="72"/><codeline> <highlight class="comment">// ACCESS //</highlight></codeline>
+<linenumber line="73" refid="classsf_1_1system_1_1SystemImpl_1a6"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1a7">timerInterval</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">unsigned</highlight> <highlight class="keywordtype">long</highlight> msValue){<ref idref="classsf_1_1system_1_1SystemImpl_1o7">mTimerInterval</ref> = msValue;}; </codeline>
+<linenumber line="74" refid="classsf_1_1system_1_1SystemImpl_1a7"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">unsigned</highlight> <highlight class="keywordtype">long</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1a7">timerInterval</ref>(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1o7">mTimerInterval</ref>;};</codeline>
+<linenumber line="75" refid="classsf_1_1system_1_1SystemImpl_1a8"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref> <ref idref="classsf_1_1system_1_1SystemImpl_1a8">time</ref> (<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{ <highlight class="keywordflow">return</highlight> timeGetTime();};</codeline>
+<linenumber line="76"/><codeline> </codeline>
+<linenumber line="77" refid="classsf_1_1system_1_1SystemImpl_1a9"/><codeline> <highlight class="keyword">virtual</highlight> console::Console * <highlight class="keyword">const</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1a9">console</ref>(<highlight class="keywordtype">void</highlight>){ <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1o1">mpConsole</ref>;};</codeline>
+<linenumber line="78" refid="classsf_1_1system_1_1SystemImpl_1a10"/><codeline> <highlight class="keyword">virtual</highlight> sound::Sound * <highlight class="keyword">const</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1a10">sound</ref>(<highlight class="keywordtype">void</highlight>){ <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1o2">mpSound</ref>;};</codeline>
+<linenumber line="79" refid="classsf_1_1system_1_1SystemImpl_1a11"/><codeline> <highlight class="keyword">virtual</highlight> input::Input * <highlight class="keyword">const</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1a11">input</ref>(<highlight class="keywordtype">void</highlight>){ <highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1o3">mpInput</ref>;};</codeline>
+<linenumber line="80"/><codeline> </codeline>
+<linenumber line="81" refid="classsf_1_1system_1_1SystemImpl_1a12"/><codeline> <highlight class="keyword">virtual</highlight> application::Main * <highlight class="keyword">const</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1a12">main</ref>(){<highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1o4">mpMain</ref>;}</codeline>
+<linenumber line="82" refid="classsf_1_1system_1_1SystemImpl_1a13"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1a12">main</ref>(application::Main * <highlight class="keyword">const</highlight> pMain ){<ref idref="classsf_1_1system_1_1SystemImpl_1o4">mpMain</ref> = pMain;}</codeline>
+<linenumber line="83"/><codeline></codeline>
+<linenumber line="84"/><codeline> <highlight class="comment">// INQUIRY //</highlight></codeline>
+<linenumber line="85" refid="classsf_1_1system_1_1SystemImpl_1a14"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1a14">isActive</ref>(<highlight class="keywordtype">void</highlight>) {<highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1o5">mIsWindowActive</ref>;};</codeline>
+<linenumber line="86" refid="classsf_1_1system_1_1SystemImpl_1a15"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1a15">deltaTime</ref>(<highlight class="keywordtype">void</highlight>){<highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1o12">mFrameStep</ref>;};</codeline>
+<linenumber line="87" refid="classsf_1_1system_1_1SystemImpl_1a16"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">float</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1a16">framePerSec</ref>(<highlight class="keywordtype">void</highlight>){<highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1o13">mFramePerSec</ref>;};</codeline>
+<linenumber line="88"/><codeline> <highlight class="keyword">private</highlight>:</codeline>
+<linenumber line="91"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1c1">uninitialize</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="92"/><codeline></codeline>
+<linenumber line="96" refid="classsf_1_1system_1_1SystemImpl_1c2"/><codeline> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1c2">isWindowActive</ref>(<highlight class="keywordtype">void</highlight>)<highlight class="keyword"> const </highlight>{<highlight class="keywordflow">return</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1o5">mIsWindowActive</ref>;};</codeline>
+<linenumber line="97"/><codeline></codeline>
+<linenumber line="101" refid="classsf_1_1system_1_1SystemImpl_1c3"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1c3">windowActivate</ref>(<highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> value){<ref idref="classsf_1_1system_1_1SystemImpl_1o5">mIsWindowActive</ref> = value;};</codeline>
+<linenumber line="103"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1c4">initTimer</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="105"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1c5">setupMessageMap</ref>(<highlight class="keywordtype">void</highlight>);</codeline>
+<linenumber line="106"/><codeline> </codeline>
+<linenumber line="107"/><codeline></codeline>
+<linenumber line="108"/><codeline> <highlight class="comment">// Window Events</highlight></codeline>
+<linenumber line="111"/><codeline><highlight class="comment"></highlight> LRESULT <ref idref="classsf_1_1system_1_1SystemImpl_1c6">onAbout</ref>(<highlight class="keyword">const</highlight> HWND hwnd);</codeline>
+<linenumber line="112"/><codeline></codeline>
+<linenumber line="117"/><codeline> LRESULT <ref idref="classsf_1_1system_1_1SystemImpl_1c7">onCommand</ref>(<highlight class="keyword">const</highlight> HWND hwnd,<highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam);</codeline>
+<linenumber line="118"/><codeline></codeline>
+<linenumber line="123"/><codeline> LRESULT <ref idref="classsf_1_1system_1_1SystemImpl_1c8">onActivate</ref>(<highlight class="keyword">const</highlight> HWND hwnd,<highlight class="keyword">const</highlight> WPARAM wParam,<highlight class="keyword">const</highlight> LPARAM lParam);</codeline>
+<linenumber line="124"/><codeline></codeline>
+<linenumber line="129"/><codeline> LRESULT <ref idref="classsf_1_1system_1_1SystemImpl_1c9">onMove</ref>(<highlight class="keyword">const</highlight> HWND hwnd,<highlight class="keyword">const</highlight> WPARAM wParam,<highlight class="keyword">const</highlight> LPARAM lParam);</codeline>
+<linenumber line="130"/><codeline></codeline>
+<linenumber line="135"/><codeline> LRESULT <ref idref="classsf_1_1system_1_1SystemImpl_1c10">onSize</ref>(<highlight class="keyword">const</highlight> HWND hwnd,<highlight class="keyword">const</highlight> WPARAM wParam,<highlight class="keyword">const</highlight> LPARAM lParam);</codeline>
+<linenumber line="136"/><codeline></codeline>
+<linenumber line="141"/><codeline> LRESULT <ref idref="classsf_1_1system_1_1SystemImpl_1c11">onPaint</ref>(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam);</codeline>
+<linenumber line="142"/><codeline></codeline>
+<linenumber line="147"/><codeline> LRESULT <ref idref="classsf_1_1system_1_1SystemImpl_1c12">onSysCommand</ref>(<highlight class="keyword">const</highlight> HWND hwnd, <highlight class="keyword">const</highlight> WPARAM wParam, <highlight class="keyword">const</highlight> LPARAM lParam);</codeline>
+<linenumber line="148"/><codeline> </codeline>
+<linenumber line="149" refid="classsf_1_1system_1_1SystemImpl_1o0"/><codeline> HWND <ref idref="classsf_1_1system_1_1SystemImpl_1o0">mHWNDMain</ref>;</codeline>
+<linenumber line="150"/><codeline></codeline>
+<linenumber line="151" refid="classsf_1_1system_1_1SystemImpl_1o1"/><codeline> console::Console *<ref idref="classsf_1_1system_1_1SystemImpl_1o1">mpConsole</ref>;</codeline>
+<linenumber line="152" refid="classsf_1_1system_1_1SystemImpl_1o2"/><codeline> sound::Sound *<ref idref="classsf_1_1system_1_1SystemImpl_1o2">mpSound</ref>;</codeline>
+<linenumber line="153" refid="classsf_1_1system_1_1SystemImpl_1o3"/><codeline> input::Input *<ref idref="classsf_1_1system_1_1SystemImpl_1o3">mpInput</ref>;</codeline>
+<linenumber line="154"/><codeline></codeline>
+<linenumber line="155" refid="classsf_1_1system_1_1SystemImpl_1o4"/><codeline> ::sf::application::Main *<ref idref="classsf_1_1system_1_1SystemImpl_1o4">mpMain</ref>;</codeline>
+<linenumber line="156"/><codeline> </codeline>
+<linenumber line="157"/><codeline> </codeline>
+<linenumber line="158" refid="classsf_1_1system_1_1SystemImpl_1o5"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1o5">mIsWindowActive</ref>;</codeline>
+<linenumber line="159" refid="classsf_1_1system_1_1SystemImpl_1o6"/><codeline> <highlight class="keywordtype">bool</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1o6">mbWindowed</ref>;</codeline>
+<linenumber line="160"/><codeline> </codeline>
+<linenumber line="161" refid="classsf_1_1system_1_1SystemImpl_1o7"/><codeline> <ref idref="namespacesf_1a0">DWORD</ref> <ref idref="classsf_1_1system_1_1SystemImpl_1o7">mTimerInterval</ref>;</codeline>
+<linenumber line="162" refid="classsf_1_1system_1_1SystemImpl_1o8"/><codeline> <ref idref="namespacesf_1a0">DWORD</ref> <ref idref="classsf_1_1system_1_1SystemImpl_1o8">mTimerValue</ref>;</codeline>
+<linenumber line="163" refid="classsf_1_1system_1_1SystemImpl_1o9"/><codeline> <ref idref="namespacesf_1a0">DWORD</ref> <ref idref="classsf_1_1system_1_1SystemImpl_1o9">mTimerBefore</ref>;</codeline>
+<linenumber line="164" refid="classsf_1_1system_1_1SystemImpl_1o10"/><codeline> <ref idref="namespacesf_1a0">DWORD</ref> <ref idref="classsf_1_1system_1_1SystemImpl_1o10">mTimerElapsed</ref>;</codeline>
+<linenumber line="165"/><codeline></codeline>
+<linenumber line="166" refid="classsf_1_1system_1_1SystemImpl_1o11"/><codeline> <ref idref="classsf_1_1system_1_1SystemImpl_1s0">WindowMessageMap</ref> <ref idref="classsf_1_1system_1_1SystemImpl_1o11">mWindowMessageMap</ref>;</codeline>
+<linenumber line="167" refid="classsf_1_1system_1_1SystemImpl_1o12"/><codeline> <highlight class="keywordtype">float</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1o12">mFrameStep</ref>;</codeline>
+<linenumber line="168" refid="classsf_1_1system_1_1SystemImpl_1o13"/><codeline> <highlight class="keywordtype">float</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1o13">mFramePerSec</ref>;</codeline>
+<linenumber line="169" refid="classsf_1_1system_1_1SystemImpl_1r0"/><codeline> <highlight class="keyword">static</highlight> SystemImpl *<ref idref="classsf_1_1system_1_1SystemImpl_1r0">pSystemImpl</ref>;</codeline>
+<linenumber line="170"/><codeline> <highlight class="comment">// constant</highlight></codeline>
+<linenumber line="171"/><codeline> <highlight class="keyword">static</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">char</highlight> <ref idref="classsf_1_1system_1_1SystemImpl_1r1">smAppName</ref>[];</codeline>
+<linenumber line="172"/><codeline> };<highlight class="comment">// SystemImpl</highlight></codeline>
+<linenumber line="173"/><codeline> }</codeline>
+<linenumber line="174"/><codeline> }<highlight class="comment">// namespace system</highlight></codeline>
+<linenumber line="175"/><codeline>} <highlight class="comment">// namespace sf</highlight></codeline>
+<linenumber line="176"/><codeline><highlight class="preprocessor">#endif // !defined(AFX_SystemImpl_H__64DBDEBB_81F1_4542_AAF7_B212CB9F4604__INCLUDED_)</highlight></codeline>
+<linenumber line="177"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/SystemImpl.h"/>
+ </compounddef>
+ <compounddef id="SystemWin32_8cpp" kind="file">
+ <compoundname>SystemWin32.cpp</compoundname>
+ <includes local="yes">stdafx.h</includes>
+ <includes id="SystemWin32_8h" local="yes">SystemWin32.h</includes>
+ <incdepgraph>
+ <node id="850">
+ <label>stdafx.h</label>
+ </node>
+ <node id="852">
+ <label>sfinterface.h</label>
+ <link id="sfinterface_8h-source"/>
+ </node>
+ <node id="851">
+ <label>SystemWin32.h</label>
+ <link id="SystemWin32_8h"/>
+ <childnode id="852" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="849">
+ <label>SystemWin32.cpp</label>
+ <link id="SystemWin32.cpp"/>
+ <childnode id="850" relation="public-inheritance">
+ </childnode>
+ <childnode id="851" relation="public-inheritance">
+ </childnode>
+ </node>
+ </incdepgraph>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">// SystemWin32.cpp: SystemWin32 \\81P\e\1?I\?\o\\81~\e\a\o\A!?\\81E\c\o</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="preprocessor">#include "stdafx.h"</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="preprocessor">#include "<ref idref="SystemWin32_8h">SystemWin32.h</ref>"</highlight></codeline>
+<linenumber line="7"/><codeline></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">// 1?AU/?AIC</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="12"/><codeline>SystemWin32::SystemWin32()</codeline>
+<linenumber line="13"/><codeline>{</codeline>
+<linenumber line="14"/><codeline></codeline>
+<linenumber line="15"/><codeline>}</codeline>
+<linenumber line="16"/><codeline></codeline>
+<linenumber line="17"/><codeline>SystemWin32::~SystemWin32()</codeline>
+<linenumber line="18"/><codeline>{</codeline>
+<linenumber line="19"/><codeline></codeline>
+<linenumber line="20"/><codeline>}</codeline>
+<linenumber line="21"/><codeline></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/SystemWin32.cpp"/>
+ </compounddef>
+ <compounddef id="SystemWin32_8h" kind="file">
+ <compoundname>SystemWin32.h</compoundname>
+ <includes id="sfinterface_8h" local="yes">sfinterface.h</includes>
+ <includedby id="InputImpl_8cpp" local="yes">InputImpl.cpp</includedby>
+ <includedby id="SystemImpl_8cpp" local="yes">SystemImpl.cpp</includedby>
+ <includedby id="SystemWin32_8cpp" local="yes">SystemWin32.cpp</includedby>
+ <incdepgraph>
+ <node id="855">
+ <label>sfinterface.h</label>
+ <link id="sfinterface_8h-source"/>
+ </node>
+ <node id="854">
+ <label>SystemWin32.h</label>
+ <link id="SystemWin32.h"/>
+ <childnode id="855" relation="public-inheritance">
+ </childnode>
+ </node>
+ </incdepgraph>
+ <invincdepgraph>
+ <node id="858">
+ <label>SystemImpl.cpp</label>
+ <link id="SystemImpl_8cpp-source"/>
+ </node>
+ <node id="857">
+ <label>InputImpl.cpp</label>
+ <link id="InputImpl_8cpp-source"/>
+ </node>
+ <node id="856">
+ <label>SystemWin32.h</label>
+ <link id="SystemWin32.h"/>
+ <childnode id="857" relation="public-inheritance">
+ </childnode>
+ <childnode id="858" relation="public-inheritance">
+ </childnode>
+ <childnode id="859" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="859">
+ <label>SystemWin32.cpp</label>
+ <link id="SystemWin32_8cpp-source"/>
+ </node>
+ </invincdepgraph>
+ <innernamespace refid="namespacesf">sf</innernamespace>
+ <innernamespace refid="namespacesf_1_1system">sf::system</innernamespace>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="SystemWin32_8h_1a0" virt="normal" prot="public">
+ <name>AFX_SYSTEMWIN32_H__9E630867_3321_4C17_8D1A_E0EAC93A1647__INCLUDED_</name>
+ <briefdescription>
+<para>
+Ao?A\?\o\\81P\e!?\EEE\81âs\T\\81P\i. </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/sfglib/SystemWin32.h" line="13" bodystart="13" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+<para>
+Windows?O?I\?\o\?!?\O\\81\98!?\1?C?1. </para>
+ </briefdescription>
+ <detaileddescription>
+<simplesect kind="author"><title>oi?O: </title><para>
+S.F. </para>
+</simplesect><simplesect kind="version"><title>\D!?\\81C\c\o: </title><para>
+$Id:</para>
+</simplesect><para>
+Copyright (C) 2000-2002 Satoshi Fujiwara. All Rights Reserved. </para>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline></codeline>
+<linenumber line="11"/><codeline></codeline>
+<linenumber line="12"/><codeline><highlight class="preprocessor">#if !defined(AFX_SYSTEMWIN32_H__9E630867_3321_4C17_8D1A_E0EAC93A1647__INCLUDED_)</highlight></codeline>
+<linenumber line="13" refid="SystemWin32_8h_1a0"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define AFX_SYSTEMWIN32_H__9E630867_3321_4C17_8D1A_E0EAC93A1647__INCLUDED_</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="preprocessor">#if _MSC_VER > 1000</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#pragma once</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif // _MSC_VER > 1000</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include "sfinterface.h"</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="keyword">namespace </highlight>sf {</codeline>
+<linenumber line="20"/><codeline> <highlight class="keyword">namespace </highlight>system {</codeline>
+<linenumber line="21"/><codeline></codeline>
+<linenumber line="27" refid="classsf_1_1system_1_1WindowMessage_1"/><codeline><highlight class="keyword">class </highlight>SF_INTERFACE WindowMessage</codeline>
+<linenumber line="28"/><codeline>{</codeline>
+<linenumber line="29"/><codeline><highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="31" refid="classsf_1_1system_1_1WindowMessage_1a0"/><codeline> <highlight class="keyword">virtual</highlight> ~WindowMessage(){;};</codeline>
+<linenumber line="37"/><codeline> <highlight class="keyword">virtual</highlight> LRESULT call(<highlight class="keyword">const</highlight> HWND hwnd,<highlight class="keyword">const</highlight> WPARAM wParam,<highlight class="keyword">const</highlight> LPARAM lParam) = 0;</codeline>
+<linenumber line="38"/><codeline>};</codeline>
+<linenumber line="39"/><codeline></codeline>
+<linenumber line="41" refid="classsf_1_1system_1_1WindowMessageImpl_1"/><codeline><highlight class="keyword">template</highlight><<highlight class="keyword">class</highlight> T> <highlight class="keyword">class </highlight>WindowMessageImpl : <highlight class="keyword">public</highlight> WindowMessage</codeline>
+<linenumber line="42"/><codeline>{</codeline>
+<linenumber line="43"/><codeline><highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="45"/><codeline> <ref idref="classsf_1_1system_1_1WindowMessageImpl_1a0">WindowMessageImpl</ref>();</codeline>
+<linenumber line="47" refid="classsf_1_1system_1_1WindowMessageImpl_1a1"/><codeline> <highlight class="keyword">virtual</highlight> <ref idref="classsf_1_1system_1_1WindowMessageImpl_1a1">~WindowMessageImpl</ref>(){}</codeline>
+<linenumber line="51"/><codeline> <ref idref="classsf_1_1system_1_1WindowMessageImpl_1a0">WindowMessageImpl</ref>(T* <highlight class="keyword">const</highlight> pClass,LRESULT (T::* pAddress)(<highlight class="keyword">const</highlight> HWND,<highlight class="keyword">const</highlight> WPARAM,<highlight class="keyword">const</highlight> LPARAM));</codeline>
+<linenumber line="52"/><codeline> </codeline>
+<linenumber line="56"/><codeline> <highlight class="keywordtype">void</highlight> <ref idref="classsf_1_1system_1_1WindowMessageImpl_1a3">setAddress</ref>(T* <highlight class="keyword">const</highlight> pClass,LRESULT (T::* pAddress)(<highlight class="keyword">const</highlight> HWND,<highlight class="keyword">const</highlight> WPARAM,<highlight class="keyword">const</highlight> LPARAM));</codeline>
+<linenumber line="57"/><codeline></codeline>
+<linenumber line="58"/><codeline> LRESULT <ref idref="classsf_1_1system_1_1WindowMessageImpl_1a4">call</ref>(<highlight class="keyword">const</highlight> HWND hwnd,<highlight class="keyword">const</highlight> WPARAM wParam,<highlight class="keyword">const</highlight> LPARAM lParam);</codeline>
+<linenumber line="59"/><codeline><highlight class="keyword">private</highlight>:</codeline>
+<linenumber line="60" refid="classsf_1_1system_1_1WindowMessageImpl_1o0"/><codeline> T* <ref idref="classsf_1_1system_1_1WindowMessageImpl_1o0">mpClass</ref>;</codeline>
+<linenumber line="61"/><codeline> LRESULT (T::* <ref idref="classsf_1_1system_1_1WindowMessageImpl_1o1">mpAddress</ref>)(<highlight class="keyword">const</highlight> HWND,<highlight class="keyword">const</highlight> WPARAM,<highlight class="keyword">const</highlight> LPARAM);</codeline>
+<linenumber line="62"/><codeline>};</codeline>
+<linenumber line="63"/><codeline></codeline>
+<linenumber line="64" refid="classsf_1_1system_1_1WindowMessageImpl_1a0"/><codeline><highlight class="keyword">template</highlight><<highlight class="keyword">class</highlight> T> WindowMessageImpl<T>::WindowMessageImpl()</codeline>
+<linenumber line="65"/><codeline>{</codeline>
+<linenumber line="66"/><codeline> <ref idref="classsf_1_1system_1_1WindowMessageImpl_1o0">mpClass</ref> = NULL;</codeline>
+<linenumber line="67"/><codeline> <ref idref="classsf_1_1system_1_1WindowMessageImpl_1o1">mpAddress</ref> = NULL;</codeline>
+<linenumber line="68"/><codeline>};</codeline>
+<linenumber line="69"/><codeline></codeline>
+<linenumber line="70" refid="classsf_1_1system_1_1WindowMessageImpl_1a2"/><codeline><highlight class="keyword">template</highlight><<highlight class="keyword">class</highlight> T> WindowMessageImpl<T>::WindowMessageImpl(T* <highlight class="keyword">const</highlight> pClass,LRESULT (T::* pAddress)(<highlight class="keyword">const</highlight> HWND,<highlight class="keyword">const</highlight> WPARAM,<highlight class="keyword">const</highlight> LPARAM))</codeline>
+<linenumber line="71"/><codeline>{</codeline>
+<linenumber line="72"/><codeline> <ref idref="classsf_1_1system_1_1WindowMessageImpl_1o0">mpClass</ref> = pClass;</codeline>
+<linenumber line="73"/><codeline> <ref idref="classsf_1_1system_1_1WindowMessageImpl_1o1">mpAddress</ref> = pAddress;</codeline>
+<linenumber line="74"/><codeline>};</codeline>
+<linenumber line="75"/><codeline></codeline>
+<linenumber line="76"/><codeline></codeline>
+<linenumber line="77" refid="classsf_1_1system_1_1WindowMessageImpl_1a3"/><codeline><highlight class="keyword">template</highlight><<highlight class="keyword">class</highlight> T> <highlight class="keywordtype">void</highlight> WindowMessageImpl<T>::setAddress(T* <highlight class="keyword">const</highlight> pClass,LRESULT (T::* pAddress)(<highlight class="keyword">const</highlight> HWND,<highlight class="keyword">const</highlight> WPARAM,<highlight class="keyword">const</highlight> LPARAM))</codeline>
+<linenumber line="78"/><codeline>{</codeline>
+<linenumber line="79"/><codeline> <ref idref="classsf_1_1system_1_1WindowMessageImpl_1o0">mpClass</ref> = pClass;</codeline>
+<linenumber line="80"/><codeline> <ref idref="classsf_1_1system_1_1WindowMessageImpl_1o1">mpAddress</ref> = pAddress;</codeline>
+<linenumber line="81"/><codeline>};</codeline>
+<linenumber line="82"/><codeline></codeline>
+<linenumber line="83" refid="classsf_1_1system_1_1WindowMessageImpl_1a4"/><codeline><highlight class="keyword">template</highlight><<highlight class="keyword">class</highlight> T> LRESULT WindowMessageImpl<T>::call(<highlight class="keyword">const</highlight> HWND hwnd,<highlight class="keyword">const</highlight> WPARAM wParam,<highlight class="keyword">const</highlight> LPARAM lParam)</codeline>
+<linenumber line="84"/><codeline>{</codeline>
+<linenumber line="85"/><codeline> <highlight class="keywordflow">if</highlight>(<ref idref="classsf_1_1system_1_1WindowMessageImpl_1o0">mpClass</ref> && <ref idref="classsf_1_1system_1_1WindowMessageImpl_1o1">mpAddress</ref>)</codeline>
+<linenumber line="86"/><codeline> <highlight class="keywordflow">return</highlight> (<ref idref="classsf_1_1system_1_1WindowMessageImpl_1o0">mpClass</ref>->*<ref idref="classsf_1_1system_1_1WindowMessageImpl_1o1">mpAddress</ref>)(hwnd,wParam,lParam);</codeline>
+<linenumber line="87"/><codeline> <highlight class="keywordflow">return</highlight> 0;</codeline>
+<linenumber line="88"/><codeline>};</codeline>
+<linenumber line="89"/><codeline></codeline>
+<linenumber line="91" refid="classsf_1_1system_1_1Win32_1"/><codeline><highlight class="keyword">class </highlight>SF_INTERFACE Win32 </codeline>
+<linenumber line="92"/><codeline>{</codeline>
+<linenumber line="93"/><codeline><highlight class="keyword">public</highlight>:</codeline>
+<linenumber line="95" refid="classsf_1_1system_1_1Win32_1a0"/><codeline> Win32(){};</codeline>
+<linenumber line="97" refid="classsf_1_1system_1_1Win32_1a1"/><codeline> <highlight class="keyword">virtual</highlight> ~Win32(){};</codeline>
+<linenumber line="98"/><codeline> </codeline>
+<linenumber line="100"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keywordtype">int</highlight> winMain (<highlight class="keyword">const</highlight> HINSTANCE hThisInstance, <highlight class="keyword">const</highlight> HINSTANCE hPrevInstance,</codeline>
+<linenumber line="101"/><codeline> <highlight class="keyword">const</highlight> LPSTR lpszCmdParam, <highlight class="keyword">const</highlight> <highlight class="keywordtype">int</highlight> nCmdShow) = 0;</codeline>
+<linenumber line="102"/><codeline> </codeline>
+<linenumber line="106"/><codeline> <highlight class="keyword">virtual</highlight> <highlight class="keyword">const</highlight> <highlight class="keywordtype">bool</highlight> addWindowMessage(<highlight class="keyword">const</highlight> <ref idref="namespacesf_1a0">DWORD</ref> value,WindowMessage * pWindowMessage) = 0;</codeline>
+<linenumber line="107"/><codeline> </codeline>
+<linenumber line="108"/><codeline>};</codeline>
+<linenumber line="109"/><codeline> }</codeline>
+<linenumber line="110"/><codeline>}</codeline>
+<linenumber line="111"/><codeline></codeline>
+<linenumber line="112"/><codeline><highlight class="preprocessor">#endif // !defined(AFX_SYSTEMWIN32_H__9E630867_3321_4C17_8D1A_E0EAC93A1647__INCLUDED_)</highlight></codeline>
+<linenumber line="113"/><codeline><highlight class="preprocessor"></highlight></codeline>
+ </programlisting>
+ <location file="J:/project/sfglib/SystemWin32.h"/>
+ </compounddef>
+ <compounddef id="WinMain_8cpp" kind="file">
+ <compoundname>WinMain.cpp</compoundname>
+ <includes id="sfdebug_8h" local="yes">sfdebug.h</includes>
+ <includes local="yes">windows.h</includes>
+ <includes local="yes">windowsx.h</includes>
+ <incdepgraph>
+ <node id="860">
+ <label>WinMain.cpp</label>
+ <link id="WinMain.cpp"/>
+ <childnode id="861" relation="public-inheritance">
+ </childnode>
+ <childnode id="862" relation="public-inheritance">
+ </childnode>
+ <childnode id="863" relation="public-inheritance">
+ </childnode>
+ </node>
+ <node id="862">
+ <label>windows.h</label>
+ </node>
+ <node id="863">
+ <label>windowsx.h</label>
+ </node>
+ <node id="861">
+ <label>sfdebug.h</label>
+ <link id="sfdebug_8h"/>
+ </node>
+ </incdepgraph>
+ <sectiondef kind="define">
+ <memberdef kind="define" id="WinMain_8cpp_1a0" virt="normal" prot="public">
+ <name>WINMAIN</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/WinMain.cpp" line="33" bodystart="33" bodyend="-1"/>
+ </memberdef>
+ <memberdef kind="define" id="WinMain_8cpp_1a1" virt="normal" prot="public">
+ <name>WIN32_LEAN_AND_MEAN</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/WinMain.cpp" line="34" bodystart="34" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="typedef">
+ <memberdef kind="typedef" id="WinMain_8cpp_1a2" virt="normal" prot="public">
+ <type>int(*</type>
+ <name>WINMAINPROC</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/WinMain.cpp" line="46" bodystart="46" bodyend="-1"/>
+ </memberdef>
+ </sectiondef>
+ <sectiondef kind="func">
+ <memberdef kind="function" id="WinMain_8cpp_1a3" virt="normal" prot="public" const="no" volatile="no">
+ <type>int WINAPI</type>
+ <name>WinMain</name>
+ <param>
+ <type>HINSTANCE</type>
+ <declname>hThisInstance</declname>
+ </param>
+ <param>
+ <type>HINSTANCE</type>
+ <declname>hPrevInstance</declname>
+ </param>
+ <param>
+ <type>LPSTR</type>
+ <declname>lpszCmdParam</declname>
+ </param>
+ <param>
+ <type>int</type>
+ <declname>nCmdShow</declname>
+ </param>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="J:/project/WinMain.cpp" line="50" bodystart="48" bodyend="83"/>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <programlisting>
+<linenumber line="1"/><codeline><highlight class="comment">//@STATE=oiARAa</highlight></codeline>
+<linenumber line="2"/><codeline><highlight class="comment">//@DESCRIPTION ---------------------------------------------------------------</highlight></codeline>
+<linenumber line="3"/><codeline><highlight class="comment">// Window\a\?\o</highlight></codeline>
+<linenumber line="4"/><codeline><highlight class="comment">// ?3?i?A?\81}?I?I?o?\81â?E??!\!\!\!\81\92</highlight></codeline>
+<linenumber line="5"/><codeline><highlight class="comment">// IuIo:</highlight></codeline>
+<linenumber line="6"/><codeline><highlight class="comment">// $Log: WinMain.cpp,v $</highlight></codeline>
+<linenumber line="7"/><codeline><highlight class="comment">// Revision 1.7 2001/10/28 21:45:06 fujiwara</highlight></codeline>
+<linenumber line="8"/><codeline><highlight class="comment">// DLL?EE\81Ê3a</highlight></codeline>
+<linenumber line="9"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="10"/><codeline><highlight class="comment">// Revision 1.6 2001/07/09 20:30:10 fujiwara</highlight></codeline>
+<linenumber line="11"/><codeline><highlight class="comment">// Ia3\81\8b?eIy?IAE?s1t?s</highlight></codeline>
+<linenumber line="12"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="13"/><codeline><highlight class="comment">// Revision 1.5 2001/07/01 21:30:34 fujiwara</highlight></codeline>
+<linenumber line="14"/><codeline><highlight class="comment">// \a\a\e\e!?\\81P\A\\81\98\A\\81P\81C\81áA??\81E</highlight></codeline>
+<linenumber line="15"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="16"/><codeline><highlight class="comment">// Revision 1.4 2001/07/01 01:03:45 fujiwara</highlight></codeline>
+<linenumber line="17"/><codeline><highlight class="comment">// const ?I\81C\81áA??\81E</highlight></codeline>
+<linenumber line="18"/><codeline><highlight class="comment">// CUAO\\81N\C\\81\92\??IAOAa\81ED2a</highlight></codeline>
+<linenumber line="19"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="20"/><codeline><highlight class="comment">// Revision 1.3 2001/05/13 20:04:24 fujiwara</highlight></codeline>
+<linenumber line="21"/><codeline><highlight class="comment">// \a\a\e!?\e!?\\81P?\81ÊE\81PA\81C?\81E???I?C?e?e?u?\81P!\81\92</highlight></codeline>
+<linenumber line="22"/><codeline><highlight class="comment">// ?\81áAA?I\\83Ê\|\o\E\A\1\E</highlight></codeline>
+<linenumber line="23"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="24"/><codeline><highlight class="comment">// Revision 1.2 2001/05/12 00:48:35 fujiwara</highlight></codeline>
+<linenumber line="25"/><codeline><highlight class="comment">// \81\92A\81\92O\81\92O?oA3At?\81E!\81\91\i\\81\8bE??\81N?oAE2A</highlight></codeline>
+<linenumber line="26"/><codeline><highlight class="comment">//</highlight></codeline>
+<linenumber line="27"/><codeline><highlight class="comment">// 2001/01/29 \a\a\e!?\e!?\\81P\81C!?DIN\e\?\O\e\e?IAE2A </highlight></codeline>
+<linenumber line="28"/><codeline><highlight class="comment">//@DESCRIPTION_END -----------------------------------------------------------</highlight></codeline>
+<linenumber line="29"/><codeline><highlight class="comment">//@AUTHOR=S.F.</highlight></codeline>
+<linenumber line="30"/><codeline><highlight class="comment">// Copyright (C) 2000 Satoshi Fujiwara. All Rights Reserved.</highlight></codeline>
+<linenumber line="32"/><codeline><highlight class="comment">#pragma warning( disable : 4786 ) //STL?I\81EU1d3\81\8b?\81E</highlight></codeline>
+<linenumber line="33"/><codeline><highlight class="preprocessor">#define WINMAIN</highlight></codeline>
+<linenumber line="34"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define WIN32_LEAN_AND_MEAN</highlight></codeline>
+<linenumber line="35"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#include "<ref idref="sfdebug_8h">sfdebug.h</ref>"</highlight></codeline>
+<linenumber line="36"/><codeline></codeline>
+<linenumber line="37"/><codeline></codeline>
+<linenumber line="38"/><codeline><highlight class="preprocessor">#include "windows.h"</highlight></codeline>
+<linenumber line="39"/><codeline><highlight class="preprocessor">#include "windowsx.h"</highlight></codeline>
+<linenumber line="40"/><codeline></codeline>
+<linenumber line="41"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="42"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define new DEBUG_NEW</highlight></codeline>
+<linenumber line="43"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="44"/><codeline><highlight class="preprocessor"></highlight></codeline>
+<linenumber line="45"/><codeline><highlight class="comment">// WinMain --------------------------------------------------------------------</highlight></codeline>
+<linenumber line="46"/><codeline><highlight class="keyword">typedef</highlight> int (*WINMAINPROC)(HINSTANCE,HINSTANCE,LPSTR,<highlight class="keywordtype">int</highlight>);</codeline>
+<linenumber line="47"/><codeline></codeline>
+<linenumber line="48"/><codeline><highlight class="keywordtype">int</highlight> WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance,</codeline>
+<linenumber line="49"/><codeline> LPSTR lpszCmdParam, <highlight class="keywordtype">int</highlight> nCmdShow)</codeline>
+<linenumber line="50"/><codeline>{</codeline>
+<linenumber line="51"/><codeline><highlight class="preprocessor">#ifdef _DEBUG</highlight></codeline>
+<linenumber line="52"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#ifndef _BORLAND</highlight></codeline>
+<linenumber line="53"/><codeline><highlight class="preprocessor"></highlight> _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);</codeline>
+<linenumber line="54"/><codeline><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="55"/><codeline><highlight class="preprocessor"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
+<linenumber line="56"/><codeline><highlight class="preprocessor"></highlight> HINSTANCE hGame = LoadLibrary(<highlight class="stringliteral">"s2001.dll"</highlight>); </codeline>
+<linenumber line="57"/><codeline> <highlight class="keywordflow">if</highlight>(hGame){</codeline>
+<linenumber line="58"/><codeline> WINMAINPROC proc = (WINMAINPROC)GetProcAddress(hGame,<highlight class="stringliteral">"S2001Main"</highlight>);</codeline>
+<linenumber line="59"/><codeline> <highlight class="keywordflow">if</highlight>(proc){</codeline>
+<linenumber line="60"/><codeline> <highlight class="keywordflow">return</highlight> (*proc)(hThisInstance,hPrevInstance,lpszCmdParam,nCmdShow);</codeline>
+<linenumber line="61"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="62"/><codeline> <highlight class="keywordflow">return</highlight> -1;</codeline>
+<linenumber line="63"/><codeline><highlight class="comment">/* char * pm[1024];</highlight></codeline>
+<linenumber line="64"/><codeline><highlight class="comment"> FormatMessage( </highlight></codeline>
+<linenumber line="65"/><codeline><highlight class="comment"> FORMAT_MESSAGE_FROM_SYSTEM | </highlight></codeline>
+<linenumber line="66"/><codeline><highlight class="comment"> FORMAT_MESSAGE_IGNORE_INSERTS,</highlight></codeline>
+<linenumber line="67"/><codeline><highlight class="comment"> NULL,</highlight></codeline>
+<linenumber line="68"/><codeline><highlight class="comment"> GetLastError(),</highlight></codeline>
+<linenumber line="69"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="70"/><codeline><highlight class="comment"> MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // \C\O\c\e\E\81CA\81Ci</highlight></codeline>
+<linenumber line="71"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="72"/><codeline><highlight class="comment"> (LPTSTR) &pm,</highlight></codeline>
+<linenumber line="73"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="74"/><codeline><highlight class="comment"> 1024,</highlight></codeline>
+<linenumber line="75"/><codeline><highlight class="comment"></highlight></codeline>
+<linenumber line="76"/><codeline><highlight class="comment"> NULL </highlight></codeline>
+<linenumber line="77"/><codeline><highlight class="comment"> );</highlight></codeline>
+<linenumber line="78"/><codeline><highlight class="comment">*/</highlight></codeline>
+<linenumber line="79"/><codeline> }</codeline>
+<linenumber line="80"/><codeline> } <highlight class="keywordflow">else</highlight> {</codeline>
+<linenumber line="81"/><codeline> <highlight class="keywordflow">return</highlight> -1;</codeline>
+<linenumber line="82"/><codeline> }</codeline>
+<linenumber line="83"/><codeline>};<highlight class="comment">// WinMain</highlight></codeline>
+<linenumber line="84"/><codeline></codeline>
+<linenumber line="85"/><codeline></codeline>
+ </programlisting>
+ <location file="J:/project/WinMain.cpp"/>
+ </compounddef>
+</doxygen>