comparison LightClone/Source/Bot.cpp @ 65:41980ff0607d

Added shader and textures for bot
author koryspansel <koryspansel@bendbroadband.com>
date Wed, 05 Oct 2011 12:55:46 -0700
parents 3507bd831c7f
children f7095bce01cf
comparison
equal deleted inserted replaced
64:3507bd831c7f 65:41980ff0607d
34 ResourceManager* pResourceManager = NULL; 34 ResourceManager* pResourceManager = NULL;
35 35
36 ErrorCode eCode = pServiceProvider->GetService("ResourceManager", &pResourceManager); 36 ErrorCode eCode = pServiceProvider->GetService("ResourceManager", &pResourceManager);
37 if(eCode == Error_Success) 37 if(eCode == Error_Success)
38 { 38 {
39 eCode = pResourceManager->CreateEffectFromFile("Data\\Shaders\\Environment.fx", &pEffect); 39 eCode = pResourceManager->CreateEffectFromFile("Data\\Shaders\\Bot.fx", &pEffect);
40 if(eCode == Error_Success) 40 if(eCode == Error_Success)
41 { 41 {
42 eCode = pResourceManager->CreateTextureFromFile("Data\\Textures\\Bot.tga", &pTexture); 42 eCode = pResourceManager->CreateTextureFromFile("Data\\Textures\\Bot.tga", &pTexture);
43 if(eCode == Error_Success) 43 if(eCode == Error_Success)
44 { 44 {
45 eCode = pResourceManager->CreateVertexBuffer(VerticesPerBlock * sizeof(Vertex::Block), D3DUSAGE_WRITEONLY, D3DPOOL_MANAGED, &pVertexBuffer); 45 eCode = pResourceManager->CreateTextureFromFile("Data\\Textures\\BotMask.tga", &pMask);
46 if(eCode == Error_Success) 46 if(eCode == Error_Success)
47 { 47 {
48 eCode = SetupVertexBuffer(); 48 eCode = pResourceManager->CreateVertexBuffer(VerticesPerBlock * sizeof(Vertex::Block), D3DUSAGE_WRITEONLY, D3DPOOL_MANAGED, &pVertexBuffer);
49 if(eCode == Error_Success)
50 {
51 eCode = SetupVertexBuffer();
52 }
49 } 53 }
50 } 54 }
51 } 55 }
52 } 56 }
53 57
71 */ 75 */
72 void Bot::Setup(Environment* pInstance) 76 void Bot::Setup(Environment* pInstance)
73 { 77 {
74 pEnvironment = pInstance; 78 pEnvironment = pInstance;
75 nState = BotState_Idle; 79 nState = BotState_Idle;
76 nColor = D3DCOLOR_XRGB(255, 255, 255); 80 nColor = D3DCOLOR_XRGB(192, 0, 0);
77 } 81 }
78 82
79 /* 83 /*
80 * Reset 84 * Reset
81 */ 85 */
82 void Bot::Reset() 86 void Bot::Reset()
83 { 87 {
84 nState = BotState_Idle; 88 nState = BotState_Idle;
85 nColor = D3DCOLOR_XRGB(0, 255, 0); 89 nColor = D3DCOLOR_XRGB(192, 0, 0);
86 90
87 kMachine.Reset(); 91 kMachine.Reset();
88 } 92 }
89 93
90 /* 94 /*
253 else 257 else
254 258
255 if(nAction == Action_Light) 259 if(nAction == Action_Light)
256 { 260 {
257 nState = BotState_Animate; 261 nState = BotState_Animate;
258 nColor = D3DCOLOR_XRGB(0, 0, 255); 262 nColor = D3DCOLOR_XRGB(0, 0, 192);
259 kSequencer.nSequence = BotSequence_Light; 263 kSequencer.nSequence = BotSequence_Light;
260 kSequencer.fTimer = 0.0f; 264 kSequencer.fTimer = 0.0f;
261 kSequencer.fSpeed = 3.0f; 265 kSequencer.fSpeed = 3.0f;
262 } 266 }
263 267
307 if(kSequencer.nSequence == BotSequence_Light) 311 if(kSequencer.nSequence == BotSequence_Light)
308 { 312 {
309 pEnvironment->NotifyAction(kPosition.X, kPosition.Y); 313 pEnvironment->NotifyAction(kPosition.X, kPosition.Y);
310 314
311 nState = BotState_Pause; 315 nState = BotState_Pause;
312 nColor = D3DCOLOR_XRGB(0, 255, 0); 316 nColor = D3DCOLOR_XRGB(192, 0, 0);
313 kSequencer.fTimer = 0.4f; 317 kSequencer.fTimer = 0.4f;
314 } 318 }
315 } 319 }
316 } 320 }
317 else 321 else
369 const D3DXVECTOR4 kColorVector(fRed, fGreen, fBlue, fAlpha); 373 const D3DXVECTOR4 kColorVector(fRed, fGreen, fBlue, fAlpha);
370 374
371 pEffect->SetMatrix(pEffect->GetParameterByName(NULL, "kWorld"), &kWorldMatrix); 375 pEffect->SetMatrix(pEffect->GetParameterByName(NULL, "kWorld"), &kWorldMatrix);
372 pEffect->SetVector(pEffect->GetParameterByName(NULL, "kColor"), &kColorVector); 376 pEffect->SetVector(pEffect->GetParameterByName(NULL, "kColor"), &kColorVector);
373 pEffect->SetTexture(pEffect->GetParameterByName(NULL, "kTexture"), pTexture); 377 pEffect->SetTexture(pEffect->GetParameterByName(NULL, "kTexture"), pTexture);
378 pEffect->SetTexture(pEffect->GetParameterByName(NULL, "kTextureMask"), pMask);
374 pEffect->CommitChanges(); 379 pEffect->CommitChanges();
375 380
376 kContext.DrawTriangles(Vertex::Block::Declaration, pVertexBuffer, sizeof(Vertex::Block), FacesPerCube * TrianglesPerFace); 381 kContext.DrawTriangles(Vertex::Block::Declaration, pVertexBuffer, sizeof(Vertex::Block), FacesPerCube * TrianglesPerFace);
377 382
378 pEffect->EndPass(); 383 pEffect->EndPass();