Mercurial > LightClone
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(); |