//============================================================================= //初期化 //============================================================================= //[input] // pScene:設定するシーン //============================================================================= bool CScene::Init( CScene *pScene ) { if( m_IsFirstBoot ) { /*マウスの取得*/ pScene->m_pMouse = m_pApp->GetCore()->GetMouse(); //----------------------------------------------------------------- // シーン //----------------------------------------------------------------- m_pSceneMgr[S_MAIN]->SetRenderSize( m_pApp->GetScreenWidth(), m_pApp->GetScreenHeight() ); m_pSceneMgr[S_SUB]->SetRenderSize( m_pApp->GetScreenWidth(), m_pApp->GetScreenHeight() ); for( int i = 0;i < S_MAX;++i ) { m_pSceneMgr[i]->CreateDevice( m_pApp->GetRenderer() ); } m_pSceneMgr[S_MAIN]->SetInitParameter( false ); m_pSceneMgr[S_SUB]->SetInitParameter( true ); //----------------------------------------------------------------- //オブジェクトの追加 //----------------------------------------------------------------- //std::ifstream ifs("aa.csv"); //char Temp[256]; //char Temp2[256]; // //string strDataName; //string strObjectName; //ifs >> Temp >> Temp2; // //strDataName = Temp; //strObjectName = Temp2; //m_pGameObj->AppendObject( new CField(strDataName), strObjectName, true ); Selene::File::IResourceFile *pResFile = NULL; #if defined(DEBUG_CHAT) #else m_p3DObj->AppendObject( new CField("map.stm"), "Field", true ); //m_pGameObj->AppendObject( new CField("Kaidan.stm"), "Field", true ); //ifs >> Temp >> Temp2 ; // //strDataName = Temp; //strObjectName = Temp2; m_pApp->GetFileMgr()->SetCurrentPath( "CSV" ); pResFile = m_pApp->GetFileMgr()->FileOpen("Ameus.csv"); m_p3DObj->AppendObject( new CPlayer("Camerun.smf" , Math::Vector3D( 0, 7, -73) ) , "Player", true ); m_p3DObj->AppendObject( new CTrain("train1.smf", Math::Vector3D(0.0f, 0.0f, -73.0f) ), "Train", true ); m_p3DObj->AppendObject( new CEnemyAmeus("ameus.smf", Math::Vector3D(-141.0f , 1.0f, -238.0f), pResFile->GetNamePointer() ), "Ameus", true ); SAFE_RELEASE( pResFile ); for( int i = 0;i < BIRD_MAX;++i ) { char Temp[20] = ""; sprintf( Temp, "bird%d.csv", i+1 ); pResFile = m_pApp->GetFileMgr()->FileOpen(Temp); sprintf(Temp, "Bird%d", i+1 ); m_p3DObj->AppendObject( new CEnemyBird("bird.smf", Math::Vector3D(0.0f, 120.0, -45.0f), pResFile->GetNamePointer() ), Temp, true ); SAFE_RELEASE( pResFile ); } for( int i = 0;i < MOUSE_MAX;++i ) { char Temp[20] = ""; sprintf( Temp, "mouse%d.csv", i+1 ); pResFile = m_pApp->GetFileMgr()->FileOpen(Temp); sprintf(Temp, "Mouse%d", i+1 ); m_p3DObj->AppendObject( new CEnemyMouse("mouse.smf", Math::Vector3D(0.0f, 0.0f, -40.0f), pResFile->GetNamePointer() ), Temp, true ); SAFE_RELEASE( pResFile ); } pResFile = m_pApp->GetFileMgr()->FileOpen("manta.csv"); #if defined( TEST_RELEASE ) m_p3DObj->AppendObject( new CEnemyManta("manta.smf", Math::Vector3D(0.0f, 0.0f, -40.0f), pResFile->GetNamePointer() ), "Manta", true ); #else m_p3DObj->AppendObject( new CEnemyManta("manta.smf", Math::Vector3D(0.0f, 80.0f, -40.0f), pResFile->GetNamePointer() ), "Manta", true ); #endif SAFE_RELEASE( pResFile ); pResFile = m_pApp->GetFileMgr()->FileOpen("rabbit.csv"); m_p3DObj->AppendObject( new CEnemyRabbit("rabbit.smf", Math::Vector3D(0.0f, 0.0f, -40.0f), pResFile->GetNamePointer() ), "Rabbit", true ); SAFE_RELEASE( pResFile ); m_p3DObj->AppendObject( new CCamObject("camera.smf"), "CamObj", false ); m_p3DObj->AppendObject( new CCharacter("statue_dove.smf", Math::Vector3D( -188, 3.6f, -361) ), "FountObj", true ); m_p3DObj->AppendObject( new CCharacter("flag.smf", Math::Vector3D( -188, 3.6f, -361) ), "Flag", true ); //m_p3DObj->AppendObject( new CFlagObject("flag.smf"), "Flag", false ); //m_p3DObj->AppendObject( new CCharacter("statue_dove.smf", Math::Vector3D( -188, 4.4f, -361) ), "FountObj2", true ); //m_p3DObj->AppendObject( new CCharacter("statue_dove.smf", Math::Vector3D( -188, 4.4f, -361) ), "FountObj3", true ); m_p3DObj->AppendObject( new CCharacter("arrow.smf", Math::Vector3D( 0, 0, 0 ) ), "Arrow", true ); //m_p3DObj->AppendObject( new CSprite3D("title.png", Math::Vector3D( 0, 0, -100 ) ), "BillBoard", true ); m_p3DObj->AppendObject( new CCharacter("target.smf", Math::Vector3D( 0, 0, -100 ) ), "Target", true ); m_p3DObj->AppendObject( new CCharacter("star.smf", Math::Vector3D( 0, 0, -100 ) ), "Star", false ) ; m_p3DObj->AppendObject( new CCharacter("flying_island.smf", Math::Vector3D( 162, 180, -212 ) ), "IsLand", true ) ; m_p3DObj->AppendObject( new CSprite3D("flgemo.dds", Math::Vector3D( 0, 0, -10 ) ), "FlagBalloon", true ); m_p3DObj->AppendObject( new CParticle("smoke.dds", Math::Vector3D(0, 0, 10) ), "RunEffect0", false ); m_p3DObj->AppendObject( new CParticle("smoke.dds", Math::Vector3D(0, 0, 10) ), "RunEffect1", false ); m_p3DObj->AppendObject( new CParticle("smoke.dds", Math::Vector3D(0, 0, 10) ), "RunEffect2", false ); m_p3DObj->AppendObject( new CParticle("smoke.dds", Math::Vector3D(0, 0, 10) ), "RunEffect3", false ); m_p3DObj->AppendObject( new CFlash("flash2.png", Math::Vector3D( 0, 0, 0 ) ), "Emission0", false ); m_p3DObj->AppendObject( new CFlash("flash2.png", Math::Vector3D( 0, 0, 0 ) ), "Emission1", false ); m_p3DObj->AppendObject( new CFlash("flash2.png", Math::Vector3D( 0, 0, 0 ) ), "Emission2", false ); m_p3DObj->AppendObject( new CFlash("flash2.png", Math::Vector3D( 0, 0, 0 ) ), "Emission3", false ); m_p3DObj->AppendObject( new CFlash("flash2.png", Math::Vector3D( 0, 0, 0 ) ), "Emission4", false ); m_p3DObj->AppendObject( new CFlash("flash2.png", Math::Vector3D( 0, 0, 0 ) ), "Emission5", false ); m_p3DObj->AppendObject( new CSprite3D("emo.dds", Math::Vector3D( 0, 0, 0 ) ), "Emotion", false ); m_pSoundObj->AppendObject( new CSoundEffect("shutter.WAV"), "Shutter", true ); m_pSoundObj->AppendObject( new CSoundEffect("flag.WAV"), "Flag", true ); m_pSoundObj->AppendObject( new CSoundEffect("run.WAV"), "Run", true ); m_pSoundObj->AppendObject( new CSoundEffect("train.WAV"), "STrain", true ); m_pSoundObj->AppendObject( new CSoundEffect("change.WAV"), "Change", true ); m_pSoundObj->AppendObject( new CSoundEffect("enter.WAV"), "Enter", true ); m_pSoundObj->AppendObject( new CSoundEffect("collision.WAV"), "Collision", true ); m_pSoundObj->AppendObject( new CSoundEffect("mouse.WAV"), "Mouse", true ); m_pSoundObj->AppendObject( new CSoundEffect("flagrecall.WAV"), "RecallFlag", true ); m_pSoundObj->AppendObject( new CSoundEffect("flagsetfail.WAV"), "SetFlagFail", true ); m_pSoundObj->AppendObject( new CSoundEffect("missionclear.WAV"), "MissionClear", true ); m_pSoundObj->AppendObject( new CSoundEffect("missionfail.WAV"), "MissionFail", true ); m_pSoundObj->AppendObject( new CSoundEffect("bird.WAV"), "Bird", true ); m_pSoundObj->AppendObject( new CSoundEffect("select.WAV"), "Select", true ); m_pSoundObj->AppendObject( new CSoundEffect("DrumRoll.WAV"), "DrumRoll", true ); m_pSoundObj->AppendObject( new CSoundEffect("decide.WAV"), "Decide", true ); //while( !ifs.eof() ) //{ // ifs >> Temp >> Temp2; // // strDataName = Temp; // strObjectName = Temp2; // // m_pSoundObj->AppendObject( new CSoundEffect(strDataName), strObjectName, true ); // //} #endif m_pSoundObj->AppendObject( new CBGM("BGM.ogg"), "TitleBGM", true ); m_pSoundObj->AppendObject( new CBGM("Rolling Railing Hiking!.ogg"), "GameBGM", true ); m_pSoundObj->AppendObject( new CBGM("TitleBGM.ogg"), "ChatBGM", true ); m_pSoundObj->AppendObject( new CBGM("BGM.ogg"), "ResultBGM", true ); m_pGameObj->AppendObject( new CCamera(), "CamMain", true ); m_pGameObj->AppendObject( new CCamera(), "CamSub", true ); m_pGameObj->AppendObject( new CFontSprite("font.sff", Math::Vector2D( 200, 400 ) ), "TitleFont", true ); m_pGameObj->AppendObject( new CFontSprite("font2.sff", Math::Vector2D( 200, 400 ) ), "CommonFont", true ); m_pGameObj->AppendObject( new CFontSprite("MissionFont.sff", Math::Vector2D( 430, 13) ), "MissionFont", true ); m_pGameObj->AppendObject( new CFontSprite("MenuFont.sff", Math::Vector2D( 220, 100 ) ), "MenuFont", true ); m_pGameObj->AppendObject( new CFontSprite("ChatFont.sff", Math::Vector2D( 110, 465 ) ), "ChatFont", true ); m_pGameObj->AppendObject( new CFontSprite("NumFont.sff", Math::Vector2D( 110, 465 ) ), "NumFont", true ); m_pGameObj->AppendObject( new CFontSprite("MiContFont.sff", Math::Vector2D( 110, 465 ) ), "ContentFont", true ); m_pGameObj->AppendObject( new CFontSprite("MiContFont2.sff", Math::Vector2D( 110, 465 ) ), "ContentFont2", true ); m_pGameObj->AppendObject( new CFontSprite("ExplainFont.sff", Math::Vector2D( 110, 465 ) ), "ExplainFont", true ); //m_pGameObj->AppendObject( new Draw2DObject("Build_1.bmp", Math::Vector2D(100, 200) ), "Film", true ); #if defined( DEBUG_MAP_EDIT ) #elif defined( DEBUG_MAP_SEE ) #else m_p2DObj->AppendObject( new CSprite("title.png", Math::Vector2D( 0, 0 ) ), "Title", false ); m_p2DObj->AppendObject( new CSprite("background.png", Math::Vector2D( 0, 0 ) ), "MissionSelect", false ); m_p2DObj->AppendObject( new CSprite("chat.png", Math::Vector2D( 0, 0 ) ), "Chat", false ); m_p2DObj->AppendObject( new CSprite("Result.png", Math::Vector2D( 0, 0 ) ), "Result", false ); m_p2DObj->AppendObject( new CSprite("back.png", Math::Vector2D( 0, 0 ) ), "CalcScore", false ); m_p2DObj->AppendObject( new CSprite("clear.dds", Math::Vector2D( 0, 0 ) ), "GameClear", false ); m_p2DObj->AppendObject( new CSprite("failure.dds", Math::Vector2D( 0, 0 ) ), "GameFailure", false ); #endif const char *pMiniCharaName[] = { "Mini_Mouse1", "Mini_Mouse2", "Mini_Mouse3", "Mini_Bird1", "Mini_Bird2", "Mini_Bird3", "Mini_Bird4", "Mini_Bird5", "Mini_Bird6", }; m_p2DObj->AppendObject( new CMiniMap("minimap3.png", Math::Vector2D( 0, 0) ), "MiniMap", true ); m_p2DObj->AppendObject( new CSprite("came.dds", Math::Vector2D( 200, 200) ), "Mini_Player", true ); m_p2DObj->AppendObject( new CSprite("mini_flag.dds", Math::Vector2D( 0, 0 ) ), "Mini_Camera", false ); for( int i = 0;i < MINI_CHARA_MAX;++i ) { m_p2DObj->AppendObject( new CSprite("mini_camera.png", Math::Vector2D( 0, 0 ) ), pMiniCharaName[i], false ); } m_p2DObj->AppendObject( new CSprite("mini_target.dds", Math::Vector2D( 0, 0 ) ), "Mini_Target", false ); m_p2DObj->AppendObject( new CSprite("pauseback.png", Math::Vector2D( 0, 0 ) ), "Pause", false ); m_p2DObj->AppendObject( new CSprite("menu.dds", Math::Vector2D( 0, 0 ) ), "Menu", true ); m_p2DObj->AppendObject( new CSprite("char.dds", Math::Vector2D( 170, 7 ) ), "CharaIcon", true ); m_p2DObj->AppendObject( new CSprite("flag.dds", Math::Vector2D( 170, 7 ) ), "FlagIcon", true ); m_p2DObj->AppendObject( new CSprite("film.dds", Math::Vector2D( 220, 7 ) ), "Film", true ); m_p2DObj->AppendObject( new CSprite("bar.dds", Math::Vector2D( 310, 5 ) ), "Bar", true ); m_p2DObj->AppendObject( new CSprite("systemmenu.dds", Math::Vector2D( 100, 200 ) ), "PopMenu", true ); m_p2DObj->AppendObject( new CSprite("high.dds", Math::Vector2D( 590, 90 ) ), "HighScore", false ); m_p2DObj->AppendObject( new CSprite("pointa.dds", Math::Vector2D( 645, 470 ) ), "Pointa", true ); m_p2DObj->AppendObject( new CSprite("Cloud.tga", Math::Vector2D( 0, 0 ) ), "Cloud", true ); #if defined( DEBUG_MAP_EDIT ) #elif defined( DEBUG_MAP_SEE ) #else m_p2DObj->AppendObject( new CSprite("mission1.dds", Math::Vector2D( 270, 208 ) ), "MissionFont1", true ); m_p2DObj->AppendObject( new CSprite("mission2.dds", Math::Vector2D( 115, 298 ) ), "MissionFont2", true ); m_p2DObj->AppendObject( new CSprite("mission3.dds", Math::Vector2D( 452, 128 ) ), "MissionFont3", true ); m_p2DObj->AppendObject( new CSprite("mission4.dds", Math::Vector2D( 65, 138 ) ), "MissionFont4", true ); m_p2DObj->AppendObject( new CSprite("mission5.dds", Math::Vector2D( 426, 318 ) ), "MissionFont5", true ); m_p2DObj->AppendObject( new CSprite("pin.dds", Math::Vector2D( 383, 142 ) ), "Pin", true ); //m_p2DObj->AppendObject( new CSprite("pin2.dds", Math::Vector2D( 665, 490 ) ), "Pin2", true ); m_p2DObj->AppendObject( new CSprite("train.png", Math::Vector2D( 280, 150) ), "Picture1", true ); m_p2DObj->AppendObject( new CSprite("ameus.png", Math::Vector2D( 125, 240) ), "Picture2", true ); m_p2DObj->AppendObject( new CSprite("oashisu.png", Math::Vector2D( 480, 70) ), "Picture3", true ); m_p2DObj->AppendObject( new CSprite("funsui.png", Math::Vector2D( 75, 80 ) ), "Picture4", true ); m_p2DObj->AppendObject( new CSprite("manta.png", Math::Vector2D( 440, 260 ) ), "Picture5", true ); m_p2DObj->AppendObject( new CSprite("note.dds", Math::Vector2D( 322, 200 ) ), "Note", false ); #endif m_p2DObj->AppendObject( new CSprite("ready.dds", Math::Vector2D( 159, 245 ) ), "Ready", true ); m_p2DObj->AppendObject( new CSprite("go.dds", Math::Vector2D( 300, 238 ) ), "Go", true ); m_p2DObj->AppendObject( new CSprite("nofilm.dds", Math::Vector2D( 300, 238 ) ), "NoFilm", false ); m_p3DObj->AppendObject( new CDebugLine(), "DebugLine", true ); //ifs.close(); #if defined( DEBUG_MAP_EDIT ) #elif defined( DEBUG_MAP_SEE ) #elif defined( DEBUG_CHAT ) #else CSprite *pPin = dynamic_cast<CSprite *>( pScene->Get2DObject()->FindObjectFromName("Pin") ); pPin->SetDivnum( Math::Point2DI(2, 1) ); CSprite3D *pEmotion = dynamic_cast<CSprite3D *>( pScene->Get3DObject()->FindObjectFromName("Emotion") ); pEmotion->SetDivnum( Math::Point2DI( 4, 1 ) ); CSprite3D *pFlagBal = dynamic_cast<CSprite3D *>( pScene->Get3DObject()->FindObjectFromName("FlagBalloon") ); pFlagBal->SetDivnum( Math::Point2DI( 2, 1 ) ); #endif //CSprite *pPin = dynamic_cast<CSprite *>( pScene->Get2DObject()->FindObjectFromName("Pin") ); // //pPin->SetDivnum( Math::Point2DI(2, 1) ); // //CSprite3D *pEmotion = dynamic_cast<CSprite3D *>( pScene->Get3DObject()->FindObjectFromName("Emotion") ); // //pEmotion->SetDivnum( Math::Point2DI( 4, 1 ) ); // //CSprite3D *pFlagBal = dynamic_cast<CSprite3D *>( pScene->Get3DObject()->FindObjectFromName("FlagBalloon") ); // //pFlagBal->SetDivnum( Math::Point2DI( 2, 1 ) ); //--------------------------------------------------------------------------- //カメラ //--------------------------------------------------------------------------- CCamera *objCamMain = dynamic_cast<CCamera *>( m_pGameObj->FindObjectFromName("CamMain") ); CCamera *objCamSub = dynamic_cast<CCamera *>( m_pGameObj->FindObjectFromName("CamSub") ); /*カメラデバイスのセット*/ objCamMain->SetCamera( m_pSceneMgr[S_MAIN]->GetSceneMgr() ); objCamSub->SetCamera( m_pSceneMgr[S_SUB]->GetSceneMgr() ); /*プロジェクションのセット*/ objCamMain->SetProjection( 1.0f, 1000.0f, 45, m_pSceneMgr[S_MAIN]->GetRenderWidth(), m_pSceneMgr[S_MAIN]->GetRenderHeight() ); objCamSub->SetProjection( 1.0f, 1000.0f, 45, m_pSceneMgr[S_SUB]->GetRenderWidth(), m_pSceneMgr[S_SUB]->GetRenderHeight() ); //--------------------------------------------------------------------------- //物理エンジン初期化 //--------------------------------------------------------------------------- //pDynamicsWorld = Dynamics::CreateWorld( m_pSceneMgr[S_MAIN]->GetSceneMgr() ); // ///*ワールドにおける重力を設定*/ //pDynamicsWorld->SetGravity( Math::Vector3D( 0, -GRAVITY, 0 ) ); // ///*剛体モデルの生成*/ //m_p3DObj->CreateRigidModel( pDynamicsWorld ); //--------------------------------------------------------------------------- //モデル //--------------------------------------------------------------------------- #if defined( DEBUG_CHAT ) #else // ルートディレクトリに対して読み込むカレントディレクトリ設定 m_pApp->GetFileMgr()->SetCurrentPath( "Model" ); CField *objField = dynamic_cast<CField *>( m_p3DObj->FindObjectFromName("Field") ); CDebugLine *pDebugLine = dynamic_cast<CDebugLine *>( m_p3DObj->FindObjectFromName("DebugLine") ); /*読み込み*/ m_p3DObj->Load( m_pApp->GetRenderer() ); m_pApp->GetFileMgr()->SetCurrentPath("Shader"); CPlayer *objPlayer = dynamic_cast<CPlayer *>( pScene->Get3DObject()->FindObjectFromName("Player") ); pDebugLine->CreateLine( m_pApp->GetRenderer() ); //objPlayer->LoadShader( m_pGame->GetRenderer(), "UserShader.fx" ); pDebugLine->CreateActor( m_pSceneMgr[S_MAIN]->GetSceneMgr() ); #endif #if defined( DEBUG ) | (_DEBUG ) objField->SetCollisionLine( pDebugLine->GetLine() ); #elif defined( DEBUG_CHAT ) #endif //pDebugLine->CreateActor( m_pSceneMgr[S_SUB]->GetSceneMgr() ); #if defined( DEBUG_CHAT ) #else /*アクターの生成*/ for( int numScreen = 0;numScreen < S_MAX;++numScreen ) { m_p3DObj->CreateActor( numScreen, m_pSceneMgr[numScreen]->GetSceneMgr() ); objField->CreateActor( numScreen, m_pSceneMgr[numScreen]->GetSceneMgr() ); } #endif //--------------------------------------------------------------------------- //サウンド //--------------------------------------------------------------------------- m_pApp->GetFileMgr()->SetCurrentPath("Sound"); /*サウンドの読み込み*/ m_pSoundObj->LoadSound( m_pApp->GetCore() ); //--------------------------------------------------------------------------- //テクスチャ //--------------------------------------------------------------------------- m_pApp->GetFileMgr()->SetCurrentPath("Texture"); /*テクスチャの読み込み*/ m_p2DObj->Load( m_pApp->GetRenderer() ); CSprite *SkySpr = dynamic_cast<CSprite *>( pScene->Get2DObject()->FindObjectFromName("Cloud") ); for( int scenenum = 0;scenenum < S_MAX;++scenenum ) { m_pSceneMgr[scenenum]->CreateSkyDoom( SkySpr->GetTexture(), m_pApp->GetRenderer() ); } pScene->Get2DObject()->RemoveObject( SkySpr ); //--------------------------------------------------------------------------- //フォント //--------------------------------------------------------------------------- m_pApp->GetFileMgr()->SetCurrentPath("Font"); CFontSprite *pFontSpr = dynamic_cast<CFontSprite *>( m_pGameObj->FindObjectFromName("TitleFont") ); CFontSprite *pCommonFont = dynamic_cast<CFontSprite *>( m_pGameObj->FindObjectFromName("CommonFont") ); CFontSprite *pMissionFont = dynamic_cast<CFontSprite *>( m_pGameObj->FindObjectFromName("MissionFont") ); CFontSprite *pMenuFont = dynamic_cast<CFontSprite *>( m_pGameObj->FindObjectFromName("MenuFont") ); CFontSprite *pChatFont = dynamic_cast<CFontSprite *>( m_pGameObj->FindObjectFromName("ChatFont") ); CFontSprite *pNumFont = dynamic_cast<CFontSprite *>( m_pGameObj->FindObjectFromName("NumFont") ); CFontSprite *pMiContFont = dynamic_cast<CFontSprite *>( m_pGameObj->FindObjectFromName("ContentFont") ); CFontSprite *pMiContFont2 = dynamic_cast<CFontSprite *>( m_pGameObj->FindObjectFromName("ContentFont2") ); CFontSprite *pExpFont = dynamic_cast<CFontSprite *>( m_pGameObj->FindObjectFromName("ExplainFont") ); pFontSpr->Load( m_pApp->GetRenderer() ); pCommonFont->Load( m_pApp->GetRenderer() ); pMissionFont->Load( m_pApp->GetRenderer() ); pMenuFont->Load( m_pApp->GetRenderer() ); pChatFont->Load( m_pApp->GetRenderer() ); pNumFont->Load( m_pApp->GetRenderer() ); pMiContFont->Load( m_pApp->GetRenderer() ); pMiContFont2->Load( m_pApp->GetRenderer() ); pExpFont->Load( m_pApp->GetRenderer() ); //--------------------------------------------------------------------------- //テキスト読み込み //--------------------------------------------------------------------------- pResFile = m_pApp->GetFileMgr()->FileOpen("Text.txt"); Sint32 FileSize = pResFile->GetFileSize(); char *pTextBuff = new char[FileSize + 1]; pResFile->Read( pTextBuff, FileSize ); pTextBuff[FileSize] = '\0'; pResFile->Release(); pFontSpr->SetDrawString("PUSH START"); CSprite *objPopMenu = dynamic_cast<CSprite *>( m_p2DObj->FindObjectFromName("PopMenu") ); m_pGameObj->AppendObject( new CMenu( pMenuFont, objPopMenu ), "PopMenu", true ); //--------------------------------------------------------------------------- //ミッションの追加 //--------------------------------------------------------------------------- m_pApp->GetFileMgr()->SetCurrentPath("CSV"); pResFile = m_pApp->GetFileMgr()->FileOpen("mission.csv"); std::ifstream ifsMission( pResFile->GetNamePointer() ); SAFE_RELEASE( pResFile ); char MissionTemp[256]; ifsMission.getline( MissionTemp, 256 ); m_pApp->GetFileMgr()->SetCurrentPath("Font"); //ifs.open("mission.csv"); while( !ifsMission.eof() ) { char Temp[20]; static int count = 0; MissionData datMission; char TempMissionName[256]; char TempTargetName[256]; char TempChat[1024]; sprintf( Temp, "Mission%d.txt", count+1); pResFile = m_pApp->GetFileMgr()->FileOpen(Temp); ifstream ifs( pResFile->GetNamePointer() ); SAFE_RELEASE(pResFile); #if defined (DEBUG) | (_DEBUG) //ofstream out( Temp, ios::out ); // ////while( *pTextBuff != '\0') ////{ //// if( *pTextBuff != '\n' ) //// { //// out << pTextBuff; //// } //// //// pTextBuff += 1; //// //// ////} // // //out.close(); #endif while( !ifs.eof() ) { ifs >> TempChat; datMission.m_vecChat.push_back( TempChat ); } ifs.close(); sprintf( Temp, "MissionContent%d.txt", count+1 ); pResFile = m_pApp->GetFileMgr()->FileOpen(Temp); ifstream ifsContent( pResFile->GetNamePointer() ); char TempMiCont[256] = ""; //ifsContent.read( TempMiCont, pResFile->GetFileSize() ); SAFE_RELEASE( pResFile ); while( !ifsContent.eof() ) { ifsContent >> TempMiCont; datMission.m_vecMissionContent.push_back( TempMiCont ); } ifsContent.close(); ifsMission >> TempMissionName >> TempTargetName >> datMission.m_ClearPoint >> datMission.m_FilmNum >> datMission.m_LimitTime.Min >> datMission.m_LimitTime.Sec >> datMission.m_TimeBorder.Min >> datMission.m_TimeBorder.Sec >> datMission.m_TargetPosMin >> datMission.m_TargetPosMax >> datMission.m_DistanceMin >> datMission.m_DistanceMax ; datMission.m_MissionName = TempMissionName; datMission.m_TargetName = TempTargetName; CCharacter *objFlag = dynamic_cast<CCharacter *>( pScene->Get3DObject()->FindObjectFromName("Flag") ); float Scale = 4.0f; objFlag->SetScale( Math::Vector3D( Scale, Scale, Scale ) ); sprintf( Temp, "MissionFont%d", count+1 ); datMission.m_pFontSpr = dynamic_cast<CSprite *>( m_p2DObj->FindObjectFromName(Temp) ); sprintf( Temp, "Picture%d", count+1 ); datMission.m_pPhotoSpr = dynamic_cast<CSprite *>( m_p2DObj->FindObjectFromName(Temp) ); m_pMissionMgr->AppendMission( count, new CMission( dynamic_cast<CDraw3DObject *>( m_p3DObj->FindObjectFromName( datMission.m_TargetName ) ), datMission ) ); count++; } ifsMission.close(); #if defined( DEBUG_MAP_EDIT ) #elif defined( DEBUG_MAP_SEE) #else #endif //----------------------------------------------------------------- // 変更しないステート //----------------------------------------------------------------- m_pApp->SetTextureFilter(); m_IsFirstBoot = false; } return true; }