# HG changeset patch
# User koryspansel
# Date 1316222496 25200
# Node ID 5656c8e382fce11a8903c5684243ebfb6266137e
# Parent 3a63df04f3c0ff4d7bd4a469c6502df719ac1d29
More Gui work; Remove some old files
diff -r 3a63df04f3c0 -r 5656c8e382fc LightClone/LightClone.vcproj
--- a/LightClone/LightClone.vcproj Fri Sep 16 15:28:15 2011 -0700
+++ b/LightClone/LightClone.vcproj Fri Sep 16 18:21:36 2011 -0700
@@ -181,10 +181,6 @@
>
-
-
@@ -209,14 +205,6 @@
>
-
-
-
-
@@ -339,10 +327,6 @@
>
-
-
@@ -367,14 +351,6 @@
>
-
-
-
-
diff -r 3a63df04f3c0 -r 5656c8e382fc LightClone/Source/Bot.cpp
--- a/LightClone/Source/Bot.cpp Fri Sep 16 15:28:15 2011 -0700
+++ b/LightClone/Source/Bot.cpp Fri Sep 16 18:21:36 2011 -0700
@@ -67,18 +67,6 @@
pVertexBuffer->Release();
pVertexBuffer = NULL;
}
-
- if(pTexture)
- {
- pTexture->Release();
- pTexture = NULL;
- }
-
- if(pEffect)
- {
- pEffect->Release();
- pEffect = NULL;
- }
}
/*
diff -r 3a63df04f3c0 -r 5656c8e382fc LightClone/Source/ButtonPane.cpp
--- a/LightClone/Source/ButtonPane.cpp Fri Sep 16 15:28:15 2011 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
- * ButtonPane
- */
-
-#include "ButtonPane.h"
-
-/*
- * ButtonPane
- */
-ButtonPane::ButtonPane(uint32 nMax) : nMaximum(nMax), nSize(0)
-{
- pBounds = new Rectangle2[nMax];
-}
-
-/*
- * Add
- */
-void ButtonPane::Add(float fX, float fY, float fWidth, float fHeight)
-{
- if(nSize < nMaximum)
- {
- pBounds[nSize++] = Rectangle2(fX, fY, fWidth, fHeight);
- }
-}
-
-/*
- * Pick
- */
-int32 ButtonPane::Pick(float fX, float fY)
-{
- for(uint32 i = 0; i < nMaximum; ++i)
- {
- if(pBounds[i].Contains(fX, fY))
- {
- return (int32)i;
- }
- }
-
- return -1;
-}
-
-/*
- * GetMaximum
- */
-uint32 ButtonPane::GetMaximum() const
-{
- return nMaximum;
-}
-
-/*
- * GetSize
- */
-uint32 ButtonPane::GetSize() const
-{
- return nSize;
-}
-
-/*
- * GetBounds
- */
-const Rectangle2& ButtonPane::GetBounds(uint32 nSlot) const
-{
- return pBounds[nSlot];
-}
diff -r 3a63df04f3c0 -r 5656c8e382fc LightClone/Source/ButtonPane.h
--- a/LightClone/Source/ButtonPane.h Fri Sep 16 15:28:15 2011 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
- * ButtonPane
- */
-
-#ifndef __BUTTONPANE_H__
-#define __BUTTONPANE_H__
-
-#include "Core.h"
-
-/*
- * ButtonPane
- */
-class ButtonPane
-{
-private:
-
- /*
- * nMaximum
- */
- uint32 nMaximum;
-
- /*
- * nSize
- */
- uint32 nSize;
-
- /*
- * pBounds
- */
- Rectangle2* pBounds;
-
-public:
-
- /*
- * ButtonPane
- */
- ButtonPane(uint32 nMax);
-
- /*
- * Add
- */
- void Add(float fX, float fY, float fWidth, float fHeight);
-
- /*
- * Pick
- */
- int32 Pick(float fX, float fY);
-
- /*
- * GetMaximum
- */
- uint32 GetMaximum() const;
-
- /*
- * GetSize
- */
- uint32 GetSize() const;
-
- /*
- * GetBounds
- */
- const Rectangle2& GetBounds(uint32 nSlot) const;
-};
-
-#endif //__BUTTONPANE_H__
diff -r 3a63df04f3c0 -r 5656c8e382fc LightClone/Source/Dialog.cpp
--- a/LightClone/Source/Dialog.cpp Fri Sep 16 15:28:15 2011 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
- * Dialog
- */
-
-#include "Dialog.h"
-
-/*
- * Dialog
- */
-Dialog::Dialog()
-{
- nButtonCount = 0;
-}
-
-/*
- * Reset
- */
-void Dialog::Reset(const char* pText)
-{
- if(strcpy_s(kMessage, pText) == 0)
- {
- nButtonCount = 0;
- }
-}
-
-/*
- * AddButton
- */
-void Dialog::AddButton(uint32 nButton, const char* pText, float fX, float fY, float fWidth, float fHeight)
-{
- if(nButtonCount < MaximumButtonCount)
- {
- if(strcpy_s(kButtonLabel[nButtonCount], pText) == 0)
- {
- kButtonRectangle[nButtonCount] = Rectangle2(fX, fY, fWidth, fHeight);
- nButtonIdentifier[nButtonCount] = nButton;
-
- ++nButtonCount;
- }
- }
-}
-
-/*
- * Pick
- */
-int32 Dialog::Pick(float fX, float fY)
-{
- for(uint32 i = 0; i < nButtonCount; ++i)
- {
- if(kButtonRectangle[i].Contains(fX, fY))
- {
- return (int32)nButtonIdentifier[i];
- }
- }
-
- return -1;
-}
diff -r 3a63df04f3c0 -r 5656c8e382fc LightClone/Source/Dialog.h
--- a/LightClone/Source/Dialog.h Fri Sep 16 15:28:15 2011 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
- * Dialog
- */
-
-#ifndef __DIALOG_H__
-#define __DIALOG_H__
-
-#include "Core.h"
-
-/*
- * Dialog
- */
-class Dialog
-{
-public:
-
- /*
- * MaximumButtonCount
- */
- static const uint32 MaximumButtonCount = 2;
-
- /*
- * MaximumMessageLength
- */
- static const uint32 MaximumMessageLength = 256;
-
-private:
-
- /*
- * kMessage
- */
- char kMessage[MaximumMessageLength];
-
- /*
- * kButtonLabel
- */
- char kButtonLabel[MaximumButtonCount][MaximumMessageLength];
-
- /*
- * kButtonRectangle
- */
- Rectangle2 kButtonRectangle[MaximumButtonCount];
-
- /*
- * nButtonIdentifier
- */
- uint32 nButtonIdentifier[MaximumButtonCount];
-
- /*
- * nButtonCount
- */
- uint32 nButtonCount;
-
-public:
-
- /*
- * Dialog
- */
- Dialog();
-
- /*
- * Reset
- */
- void Reset(const char* pText);
-
- /*
- * AddButton
- */
- void AddButton(uint32 nButton, const char* pText, float fX, float fY, float fWidth, float fHeight);
-
- /*
- * Pick
- */
- int32 Pick(float fX, float fY);
-};
-
-#endif //__DIALOG_H__
diff -r 3a63df04f3c0 -r 5656c8e382fc LightClone/Source/DragController.cpp
--- a/LightClone/Source/DragController.cpp Fri Sep 16 15:28:15 2011 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
- * DragController
- */
-
-#include "DragController.h"
-
-/*
- * DragController
- */
-DragController::DragController()
-{
- bActive = false;
- nParameter = 0;
-}
-
-/*
- * Begin
- */
-void DragController::Begin(uint32 nValue)
-{
- bActive = true;
- nParameter = nValue;
-}
-
-/*
- * End
- */
-uint32 DragController::End()
-{
- bActive = false;
- return nParameter;
-}
-
-/*
- * Reset
- */
-void DragController::Reset()
-{
- bActive = false;
- nParameter = 0;
-}
-
-/*
- * IsActive
- */
-bool DragController::IsActive() const
-{
- return bActive;
-}
-
-/*
- * GetParameter
- */
-uint32 DragController::GetParameter() const
-{
- return nParameter;
-}
\ No newline at end of file
diff -r 3a63df04f3c0 -r 5656c8e382fc LightClone/Source/DragController.h
--- a/LightClone/Source/DragController.h Fri Sep 16 15:28:15 2011 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
- * DragController
- */
-
-#ifndef __DRAGCONTROLLER_H__
-#define __DRAGCONTROLLER_H__
-
-#include "Core.h"
-
-/*
- * DragController
- */
-class DragController
-{
- /*
- * bActive
- */
- bool bActive;
-
- /*
- * nParameter
- */
- uint32 nParameter;
-
-public:
-
- /*
- * DragController
- */
- DragController();
-
- /*
- * Begin
- */
- void Begin(uint32 nValue);
-
- /*
- * End
- */
- uint32 End();
-
- /*
- * Reset
- */
- void Reset();
-
- /*
- * IsActive
- */
- bool IsActive() const;
-
- /*
- * GetParameter
- */
- uint32 GetParameter() const;
-};
-
-#endif //__DRAGCONTROLLER_H__
diff -r 3a63df04f3c0 -r 5656c8e382fc LightClone/Source/Environment.cpp
--- a/LightClone/Source/Environment.cpp Fri Sep 16 15:28:15 2011 -0700
+++ b/LightClone/Source/Environment.cpp Fri Sep 16 18:21:36 2011 -0700
@@ -11,14 +11,14 @@
*/
Environment::Environment() : pGrid(0)
{
- pBlockEffect = NULL;
- pBlockVertexBuffer = NULL;
- pBlockTexture = NULL;
- nWidth = 0;
- nHeight = 0;
- kScale.x = 1.0f;
- kScale.y = 0.4f;
- kScale.z = 1.0f;
+ pEffect = NULL;
+ pVertexBuffer = NULL;
+ pTexture = NULL;
+ nWidth = 0;
+ nHeight = 0;
+ kScale.x = 1.0f;
+ kScale.y = 0.4f;
+ kScale.z = 1.0f;
}
/*
@@ -34,13 +34,13 @@
*/
ErrorCode Environment::Initialize(ResourceManager* pResourceManager)
{
- ErrorCode eCode = pResourceManager->CreateEffectFromFile("Data\\Shaders\\Environment.fx", &pBlockEffect);
+ ErrorCode eCode = pResourceManager->CreateEffectFromFile("Data\\Shaders\\Environment.fx", &pEffect);
if(eCode == Error_Success)
{
- eCode = pResourceManager->CreateTextureFromFile("Data\\Textures\\Block02.tga", &pBlockTexture);
+ eCode = pResourceManager->CreateTextureFromFile("Data\\Textures\\Block02.tga", &pTexture);
if(eCode == Error_Success)
{
- eCode = pResourceManager->CreateVertexBuffer(VerticesPerBlock * sizeof(Vertex::Block), D3DUSAGE_WRITEONLY, D3DPOOL_MANAGED, &pBlockVertexBuffer);
+ eCode = pResourceManager->CreateVertexBuffer(VerticesPerBlock * sizeof(Vertex::Block), D3DUSAGE_WRITEONLY, D3DPOOL_MANAGED, &pVertexBuffer);
if(eCode == Error_Success)
{
eCode = SetupVertexBuffer();
@@ -56,22 +56,10 @@
*/
void Environment::Terminate()
{
- if(pBlockVertexBuffer)
- {
- pBlockVertexBuffer->Release();
- pBlockVertexBuffer = NULL;
- }
-
- if(pBlockTexture)
+ if(pVertexBuffer)
{
- pBlockTexture->Release();
- pBlockTexture = NULL;
- }
-
- if(pBlockEffect)
- {
- pBlockEffect->Release();
- pBlockEffect = 0;
+ pVertexBuffer->Release();
+ pVertexBuffer = NULL;
}
}
@@ -111,11 +99,11 @@
{
uint32 nPasses = 0;
- kContext.ApplyCameraToEffect(kCamera, pBlockEffect);
+ kContext.ApplyCameraToEffect(kCamera, pEffect);
- pBlockEffect->SetTechnique(pBlockEffect->GetTechnique(0));
- pBlockEffect->Begin(&nPasses, 0);
- pBlockEffect->BeginPass(0);
+ pEffect->SetTechnique(pEffect->GetTechnique(0));
+ pEffect->Begin(&nPasses, 0);
+ pEffect->BeginPass(0);
D3DXMATRIX kScaleMatrix;
D3DXMatrixScaling(&kScaleMatrix, kScale.x, kScale.y, kScale.z);
@@ -162,24 +150,24 @@
const D3DXVECTOR4 kColorVector(fRed, fGreen, fBlue, fAlpha);
- pBlockEffect->SetMatrix(pBlockEffect->GetParameterByName(NULL, "kWorld"), &kWorldMatrix);
- pBlockEffect->SetVector(pBlockEffect->GetParameterByName(NULL, "kColor"), &kColorVector);
- pBlockEffect->SetTexture(pBlockEffect->GetParameterByName(NULL, "kTexture"), pBlockTexture);
- pBlockEffect->CommitChanges();
+ pEffect->SetMatrix(pEffect->GetParameterByName(NULL, "kWorld"), &kWorldMatrix);
+ pEffect->SetVector(pEffect->GetParameterByName(NULL, "kColor"), &kColorVector);
+ pEffect->SetTexture(pEffect->GetParameterByName(NULL, "kTexture"), pTexture);
+ pEffect->CommitChanges();
- kContext.DrawTriangles(Vertex::Block::Declaration, pBlockVertexBuffer, sizeof(Vertex::Block), FacesPerCube * TrianglesPerFace);
+ kContext.DrawTriangles(Vertex::Block::Declaration, pVertexBuffer, sizeof(Vertex::Block), FacesPerCube * TrianglesPerFace);
}
}
}
- pBlockEffect->EndPass();
- pBlockEffect->End();
+ pEffect->EndPass();
+ pEffect->End();
if(false) // wireframe
{
- pBlockEffect->SetTechnique(pBlockEffect->GetTechniqueByName("Wire"));
- pBlockEffect->Begin(&nPasses, 0);
- pBlockEffect->BeginPass(0);
+ pEffect->SetTechnique(pEffect->GetTechniqueByName("Wire"));
+ pEffect->Begin(&nPasses, 0);
+ pEffect->BeginPass(0);
for(uint32 nZ = 0; nZ < nHeight; ++nZ)
{
@@ -195,18 +183,18 @@
const D3DXVECTOR4 kColorVector(0.0f, 0.0f, 0.0f, 1.0f);
- pBlockEffect->SetMatrix(pBlockEffect->GetParameterByName(NULL, "kWorld"), &kWorldMatrix);
- pBlockEffect->SetVector(pBlockEffect->GetParameterByName(NULL, "kColor"), &kColorVector);
- pBlockEffect->SetTexture(pBlockEffect->GetParameterByName(NULL, "kTexture"), pBlockTexture);
- pBlockEffect->CommitChanges();
+ pEffect->SetMatrix(pEffect->GetParameterByName(NULL, "kWorld"), &kWorldMatrix);
+ pEffect->SetVector(pEffect->GetParameterByName(NULL, "kColor"), &kColorVector);
+ pEffect->SetTexture(pEffect->GetParameterByName(NULL, "kTexture"), pTexture);
+ pEffect->CommitChanges();
- kContext.DrawTriangles(Vertex::Block::Declaration, pBlockVertexBuffer, sizeof(Vertex::Block), FacesPerCube * TrianglesPerFace);
+ kContext.DrawTriangles(Vertex::Block::Declaration, pVertexBuffer, sizeof(Vertex::Block), FacesPerCube * TrianglesPerFace);
}
}
}
- pBlockEffect->EndPass();
- pBlockEffect->End();
+ pEffect->EndPass();
+ pEffect->End();
}
}
@@ -404,7 +392,7 @@
{
Vertex::Block* pVertices = NULL;
- HRESULT hResult = pBlockVertexBuffer->Lock(0, 0, (void**)&pVertices, D3DLOCK_DISCARD);
+ HRESULT hResult = pVertexBuffer->Lock(0, 0, (void**)&pVertices, D3DLOCK_DISCARD);
if(FAILED(hResult))
{
return Error_Fail;
@@ -456,7 +444,7 @@
pVertices[34] = Vertex::Block(+0.5f, 0.0f, -0.5f, 0.0f, -1.0f, 0.0f, 1.00f, 0.00f);
pVertices[35] = Vertex::Block(+0.5f, 0.0f, +0.5f, 0.0f, -1.0f, 0.0f, 1.00f, 0.66f);
- pBlockVertexBuffer->Unlock();
+ pVertexBuffer->Unlock();
return Error_Success;
}
\ No newline at end of file
diff -r 3a63df04f3c0 -r 5656c8e382fc LightClone/Source/Environment.h
--- a/LightClone/Source/Environment.h Fri Sep 16 15:28:15 2011 -0700
+++ b/LightClone/Source/Environment.h Fri Sep 16 18:21:36 2011 -0700
@@ -16,19 +16,19 @@
class Environment
{
/*
- * pBlockEffect
+ * pEffect
*/
- ID3DXEffect* pBlockEffect;
+ ID3DXEffect* pEffect;
/*
- * pBlockVertexBuffer
+ * pVertexBuffer
*/
- IDirect3DVertexBuffer9* pBlockVertexBuffer;
+ IDirect3DVertexBuffer9* pVertexBuffer;
/*
- * pBlockTexture
+ * pTexture
*/
- IDirect3DTexture9* pBlockTexture;
+ IDirect3DTexture9* pTexture;
/*
* nWidth
diff -r 3a63df04f3c0 -r 5656c8e382fc LightClone/Source/GuiButton.cpp
--- a/LightClone/Source/GuiButton.cpp Fri Sep 16 15:28:15 2011 -0700
+++ b/LightClone/Source/GuiButton.cpp Fri Sep 16 18:21:36 2011 -0700
@@ -46,32 +46,11 @@
*/
void GuiButton::Terminate()
{
- if(pFont)
- {
- pFont->Release();
- pFont = NULL;
- }
-
- for(uint32 i = 0; i < GuiButtonState_Count; ++i)
- {
- if(pTexture[i])
- {
- pTexture[i]->Release();
- pTexture[i] = NULL;
- }
- }
-
if(pVertexBuffer)
{
pVertexBuffer->Release();
pVertexBuffer = NULL;
}
-
- if(pEffect)
- {
- pEffect->Release();
- pEffect = NULL;
- }
}
/*
@@ -155,11 +134,7 @@
if(nState < GuiButtonState_Count)
{
- if(pTexture[nState])
- {
- pTexture[nState]->Release();
- pTexture[nState] = NULL;
- }
+ pTexture[nState] = NULL;
eCode = pResourceManager->CreateTextureFromFile(pName, &pTexture[nState]);
if(eCode == Error_Success)
@@ -183,11 +158,7 @@
*/
ErrorCode GuiButton::SetFont(const char* pName, uint32 nSize, uint32 nWeight)
{
- if(pFont)
- {
- pFont->Release();
- pFont = NULL;
- }
+ pFont = NULL;
return pResourceManager->CreateFontFromName(pName, nSize, nWeight, &pFont);
}
diff -r 3a63df04f3c0 -r 5656c8e382fc LightClone/Source/GuiCursor.cpp
--- a/LightClone/Source/GuiCursor.cpp Fri Sep 16 15:28:15 2011 -0700
+++ b/LightClone/Source/GuiCursor.cpp Fri Sep 16 18:21:36 2011 -0700
@@ -37,23 +37,11 @@
*/
void GuiCursor::Terminate()
{
- if(pTexture)
- {
- pTexture->Release();
- pTexture = NULL;
- }
-
if(pVertexBuffer)
{
pVertexBuffer->Release();
pVertexBuffer = NULL;
}
-
- if(pEffect)
- {
- pEffect->Release();
- pEffect = NULL;
- }
}
/*
@@ -109,11 +97,7 @@
*/
ErrorCode GuiCursor::SetTexture(const char* pName, bool bResize)
{
- if(pTexture)
- {
- pTexture->Release();
- pTexture = NULL;
- }
+ pTexture = NULL;
ErrorCode eCode = pResourceManager->CreateTextureFromFile(pName, &pTexture);
if(eCode == Error_Success)
diff -r 3a63df04f3c0 -r 5656c8e382fc LightClone/Source/GuiImage.cpp
--- a/LightClone/Source/GuiImage.cpp Fri Sep 16 15:28:15 2011 -0700
+++ b/LightClone/Source/GuiImage.cpp Fri Sep 16 18:21:36 2011 -0700
@@ -37,23 +37,11 @@
*/
void GuiImage::Terminate()
{
- if(pTexture)
- {
- pTexture->Release();
- pTexture = NULL;
- }
-
if(pVertexBuffer)
{
pVertexBuffer->Release();
pVertexBuffer = NULL;
}
-
- if(pEffect)
- {
- pEffect->Release();
- pEffect = NULL;
- }
}
/*
@@ -115,11 +103,7 @@
*/
ErrorCode GuiImage::SetTexture(const char* pName, bool bResize)
{
- if(pTexture)
- {
- pTexture->Release();
- pTexture = NULL;
- }
+ pTexture = NULL;
ErrorCode eCode = pResourceManager->CreateTextureFromFile(pName, &pTexture);
if(eCode == Error_Success)
diff -r 3a63df04f3c0 -r 5656c8e382fc LightClone/Source/GuiLabel.cpp
--- a/LightClone/Source/GuiLabel.cpp Fri Sep 16 15:28:15 2011 -0700
+++ b/LightClone/Source/GuiLabel.cpp Fri Sep 16 18:21:36 2011 -0700
@@ -24,11 +24,6 @@
*/
void GuiLabel::Terminate()
{
- if(pFont)
- {
- pFont->Release();
- pFont = NULL;
- }
}
/*
@@ -80,11 +75,7 @@
*/
ErrorCode GuiLabel::SetFont(const char* pName, uint32 nSize, uint32 nWeight)
{
- if(pFont)
- {
- pFont->Release();
- pFont = NULL;
- }
+ pFont = NULL;
return pResourceManager->CreateFontFromName(pName, nSize, nWeight, &pFont);
}
diff -r 3a63df04f3c0 -r 5656c8e382fc LightClone/Source/HashMap.h
--- a/LightClone/Source/HashMap.h Fri Sep 16 15:28:15 2011 -0700
+++ b/LightClone/Source/HashMap.h Fri Sep 16 18:21:36 2011 -0700
@@ -30,6 +30,11 @@
class HashMap
{
/*
+ * Iterator
+ */
+ friend class HashMapIterator, Value>;
+
+ /*
* Node
*/
struct Node
@@ -54,6 +59,9 @@
*/
Node(Key& kNodeKey) : kKey(kNodeKey), pNext(NULL)
{
+ uint8* pData = (uint8*)&kValue;
+ for(uint32 i = 0; i < sizeof(kValue); ++i)
+ *pData++ = 0;
}
};
@@ -100,6 +108,14 @@
}
/*
+ * ~HashMap
+ */
+ ~HashMap()
+ {
+ Clear();
+ }
+
+ /*
* Add
*/
Value* Add(Key& kKey)
@@ -121,6 +137,27 @@
}
/*
+ * Clear
+ */
+ void Clear()
+ {
+ for(uint32 i = 0; i < Size; ++i)
+ {
+ Node* pNode = pTable[i];
+
+ while(pNode)
+ {
+ Node* pItem = pNode;
+ pNode = pNode->pNext;
+
+ delete pItem;
+ }
+
+ pTable[i] = NULL;
+ }
+ }
+
+ /*
* Find
*/
Value* Find(const Key& kKey)
@@ -144,12 +181,18 @@
/*
* Begin
*/
- Iterator Begin();
+ Iterator Begin()
+ {
+ return Iterator(this, Size);
+ }
/*
* End
*/
- Iterator End();
+ Iterator End()
+ {
+ return Iterator(this, Size, Size);
+ }
private:
diff -r 3a63df04f3c0 -r 5656c8e382fc LightClone/Source/HashMapIterator.h
--- a/LightClone/Source/HashMapIterator.h Fri Sep 16 15:28:15 2011 -0700
+++ b/LightClone/Source/HashMapIterator.h Fri Sep 16 18:21:36 2011 -0700
@@ -40,6 +40,10 @@
*/
HashMapIterator(Map* pInstance, uint32 nInstanceSize) : pMap(pInstance), nSize(nInstanceSize), pNode(NULL), nSlot(0)
{
+ while(!pNode && nSlot < nSize)
+ {
+ pNode = pInstance->pTable[nSlot++];
+ }
}
/*
@@ -47,7 +51,10 @@
*/
HashMapIterator(Map* pInstance, uint32 nInstanceSize, uint32 nStart) : pMap(pInstance), nSize(nInstanceSize), pNode(NULL), nSlot(nStart)
{
- //pNode = pInstance->pTable[nSlot];
+ while(!pNode && nSlot < nSize)
+ {
+ pNode = pInstance->pTable[nSlot++];
+ }
}
/*
@@ -55,6 +62,18 @@
*/
HashMapIterator& operator ++()
{
+ if(pNode)
+ {
+ pNode = pNode->pNext;
+ if(!pNode)
+ {
+ while(!pNode && nSlot < nSize)
+ {
+ pNode = pMap->pTable[nSlot++];
+ }
+ }
+ }
+
return *this;
}
@@ -63,6 +82,18 @@
*/
HashMapIterator& operator ++(int)
{
+ if(pNode)
+ {
+ pNode = pNode->pNext;
+ if(!pNode)
+ {
+ while(!pNode && nSlot < nSize)
+ {
+ pNode = pMap->pTable[nSlot++];
+ }
+ }
+ }
+
return *this;
}
diff -r 3a63df04f3c0 -r 5656c8e382fc LightClone/Source/ResourceManager.cpp
--- a/LightClone/Source/ResourceManager.cpp Fri Sep 16 15:28:15 2011 -0700
+++ b/LightClone/Source/ResourceManager.cpp Fri Sep 16 18:21:36 2011 -0700
@@ -59,8 +59,33 @@
*/
void ResourceManager::Terminate()
{
- //TODO: Iterate over each cache and release resources
+ TextureCache::Iterator kTexture = kTextureCache.Begin();
+ TextureCache::Iterator kTextureEnd = kTextureCache.End();
+
+ for(; kTexture != kTextureEnd; ++kTexture)
+ {
+ (*kTexture)->Release();
+ }
+
+ EffectCache::Iterator kEffect = kEffectCache.Begin();
+ EffectCache::Iterator kEffectEnd = kEffectCache.End();
+ for(; kEffect != kEffectEnd; ++kEffect)
+ {
+ (*kEffect)->Release();
+ }
+
+ FontCache::Iterator kFont = kFontCache.Begin();
+ FontCache::Iterator kFontEnd = kFontCache.Begin();
+
+ for(; kFont != kFontEnd; ++kFont)
+ {
+ (*kFont)->Release();
+ }
+
+ kTextureCache.Clear();
+ kEffectCache.Clear();
+ kFontCache.Clear();
pGraphicsDevice = NULL;
}
diff -r 3a63df04f3c0 -r 5656c8e382fc LightClone/Source/ResourceManager.h
--- a/LightClone/Source/ResourceManager.h Fri Sep 16 15:28:15 2011 -0700
+++ b/LightClone/Source/ResourceManager.h Fri Sep 16 18:21:36 2011 -0700
@@ -34,6 +34,21 @@
class ResourceManager
{
/*
+ * TextureCache
+ */
+ typedef HashMap TextureCache;
+
+ /*
+ * EffectCache
+ */
+ typedef HashMap EffectCache;
+
+ /*
+ * FontCache
+ */
+ typedef HashMap FontCache;
+
+ /*
* pGraphicsDevice
*/
GraphicsDevice* pGraphicsDevice;
@@ -41,17 +56,17 @@
/*
* kTextureCache
*/
- HashMap kTextureCache;
+ TextureCache kTextureCache;
/*
* kEffectCache
*/
- HashMap kEffectCache;
+ EffectCache kEffectCache;
/*
* kFontCache
*/
- HashMap kFontCache;
+ FontCache kFontCache;
public:
diff -r 3a63df04f3c0 -r 5656c8e382fc LightClone/Source/World.cpp
--- a/LightClone/Source/World.cpp Fri Sep 16 15:28:15 2011 -0700
+++ b/LightClone/Source/World.cpp Fri Sep 16 18:21:36 2011 -0700
@@ -11,7 +11,7 @@
/*
* World
*/
-World::World() : kToolbar(8), kMain(16), kFunction(8)
+World::World() //: kToolbar(8), kMain(16), kFunction(8)
{
nGameState = GameState_Active;
nSimulationState = SimulationState_Idle;
@@ -19,14 +19,15 @@
nCurrentFunction = 0;
nCurrentLevel = 0;
- kArrowBounds[0] = Rectangle2(1206.0f + 0 * 16.0f, 473.0f + 0 * 54.0f, 16.0f, 16.0f);
- kArrowBounds[1] = Rectangle2(1206.0f + 2 * 16.0f, 473.0f + 0 * 54.0f, 16.0f, 16.0f);
+ //kArrowBounds[0] = Rectangle2(1206.0f + 0 * 16.0f, 473.0f + 0 * 54.0f, 16.0f, 16.0f);
+ //kArrowBounds[1] = Rectangle2(1206.0f + 2 * 16.0f, 473.0f + 0 * 54.0f, 16.0f, 16.0f);
+
+ //kDialog1Bounds[0] = Rectangle2(567.0f, 412.0f, 150.0f, 60.0f);
- kDialog1Bounds[0] = Rectangle2(567.0f, 412.0f, 150.0f, 60.0f);
+ //kDialog2Bounds[0] = Rectangle2(1023.0f + 2.5f * 54.0f, 638.0f + 0 * 00.0f, 48.0f, 48.0f);
+ //kDialog2Bounds[1] = Rectangle2(1023.0f + 2.5f * 54.0f, 638.0f + 0 * 00.0f, 48.0f, 48.0f);
- kDialog2Bounds[0] = Rectangle2(1023.0f + 2.5f * 54.0f, 638.0f + 0 * 00.0f, 48.0f, 48.0f);
- kDialog2Bounds[1] = Rectangle2(1023.0f + 2.5f * 54.0f, 638.0f + 0 * 00.0f, 48.0f, 48.0f);
-
+ /*
kToolbar.Add(1023.0f + 0 * 54.0f, 85.0f + 0 * 54.0f, 48.0f, 48.0f);
kToolbar.Add(1023.0f + 1 * 54.0f, 85.0f + 0 * 54.0f, 48.0f, 48.0f);
kToolbar.Add(1023.0f + 2 * 54.0f, 85.0f + 0 * 54.0f, 48.0f, 48.0f);
@@ -61,6 +62,7 @@
kFunction.Add(1023.0f + 1 * 54.0f, 501.0f + 1 * 54.0f, 48.0f, 48.0f);
kFunction.Add(1023.0f + 2 * 54.0f, 501.0f + 1 * 54.0f, 48.0f, 48.0f);
kFunction.Add(1023.0f + 3 * 54.0f, 501.0f + 1 * 54.0f, 48.0f, 48.0f);
+ */
}
/*
@@ -237,8 +239,8 @@
{
if(kEnvironment.RequirementsMet())
{
- kDialog.Reset("Some message");
- kDialog.AddButton(DialogButton_Ok, "Ok", 0.0f, 0.0f, 0.0f, 0.0f);
+ //kDialog.Reset("Some message");
+ //kDialog.AddButton(DialogButton_Ok, "Ok", 0.0f, 0.0f, 0.0f, 0.0f);
nGameState = GameState_Complete;
}
@@ -284,6 +286,8 @@
pBackground->SetTexture("Data\\Textures\\Background01.tga", true);
pBackground->SetPosition(ScreenSizeX - pBackground->GetWidth(), 0.0f);
+ //GuiImage* pToolbar = new GuiImage();
+
GuiButton* pButtonPlay = new GuiButton();
pButtonPlay->Initialize(pResourceManager);
pButtonPlay->SetTexture(GuiButtonState_Normal, "Data\\Textures\\Play.tga", true);
@@ -339,21 +343,20 @@
pLevelDialog->Add(pLevelDialogOk);
- /*
+ pGameDialog = new GuiImage();
+ pGameDialog->Initialize(pResourceManager);
+ pGameDialog->ClearFlag(GuiElementFlag_Visible);
+ pGameDialog->SetTexture("Data\\Textures\\Dialog0.tga", true);
+ pGameDialog->SetPosition(0.5f * (ScreenSizeX - pGameDialog->GetWidth()), 0.5f * (ScreenSizeY - pGameDialog->GetHeight()));
+
pGameDialogOk = new GuiButton();
pGameDialogOk->Initialize(pResourceManager);
pGameDialogOk->SetTexture(GuiButtonState_Normal, "Data\\Textures\\Button.tga", true);
pGameDialogOk->SetText("Ok");
pGameDialogOk->SetPosition(0.5f * (pGameDialog->GetWidth() - pGameDialogOk->GetWidth()), 171.0f);
- pGameDialogOk->Subscribe(GuiButton::EventClick, &World::OnOk, this);
- */
+ pGameDialogOk->Subscribe(GuiButton::EventClick, &World::OnExit, this);
- pGameDialog = new GuiImage();
- pGameDialog->Initialize(pResourceManager);
- pGameDialog->ClearFlag(GuiElementFlag_Visible);
- pGameDialog->SetTexture("Data\\Textures\\Dialog0.tga", true);
- pGameDialog->SetPosition(0.5f * (ScreenSizeX - pGameDialog->GetWidth()), 0.5f * (ScreenSizeY - pGameDialog->GetHeight()));
- //pGameDialog->Add(pGameDialogOk);
+ pGameDialog->Add(pGameDialogOk);
kInterface.Add(pBackground);
kInterface.Add(pButtonPlay);
@@ -490,9 +493,10 @@
}
#endif
- const float fMouseX = pInputManager->GetMouseX();
- const float fMouseY = pInputManager->GetMouseY();
+ //const float fMouseX = pInputManager->GetMouseX();
+ //const float fMouseY = pInputManager->GetMouseY();
+ /*
if(nGameState == GameState_Active)
{
if(pInputManager->IsButtonDown(0) && !pInputManager->WasButtonDown(0))
@@ -593,7 +597,7 @@
}
}
- /*
+ #if 0
int32 nSelection = kDialog.Pick(fMouseX, fMouseY);
if(nSelection == DialogButton_A)
@@ -608,7 +612,7 @@
nGameState = GameState_LoadMap;
}
- */
+ #endif
}
}
else
@@ -630,7 +634,7 @@
}
}
- /*
+ #if 0
int32 nSelection = kDialog.Pick(fMouseX, fMouseY);
if(nSelection == DialogButton_A)
@@ -638,7 +642,7 @@
nCurrentLevel = 0;
nGameState = GameState_LoadMap;
}
- */
+ #endif
}
}
else
@@ -665,7 +669,7 @@
}
}
- /*
+ #if 0
int32 nSelection = kDialog.Pick(fMouseX, fMouseY);
if(nSelection == DialogButton_A)
@@ -678,9 +682,10 @@
{
nGameState = GameState_Active;
}
- */
+ #endif
}
}
+ */
}
/*
diff -r 3a63df04f3c0 -r 5656c8e382fc LightClone/Source/World.h
--- a/LightClone/Source/World.h Fri Sep 16 15:28:15 2011 -0700
+++ b/LightClone/Source/World.h Fri Sep 16 18:21:36 2011 -0700
@@ -14,10 +14,10 @@
#include "Code.h"
#include "Loader.h"
#include "CameraController.h"
-#include "DragController.h"
+//#include "DragController.h"
#include "InputManager.h"
-#include "ButtonPane.h"
-#include "Dialog.h"
+//#include "ButtonPane.h"
+//#include "Dialog.h"
#include "GuiInterface.h"
#include "GuiImage.h"
#include "GuiButton.h"
@@ -88,44 +88,39 @@
GuiInterface kInterface;
/*
- * kDragController
- */
- DragController kDragController;
-
- /*
* kToolbar
*/
- ButtonPane kToolbar;
+ //ButtonPane kToolbar;
/*
* kMain
*/
- ButtonPane kMain;
+ //ButtonPane kMain;
/*
* kFunction
*/
- ButtonPane kFunction;
+ //ButtonPane kFunction;
/*
* kArrowBounds
*/
- Rectangle2 kArrowBounds[2];
+ //Rectangle2 kArrowBounds[2];
/*
* kDialog1Bounds
*/
- Rectangle2 kDialog1Bounds[1];
+ //Rectangle2 kDialog1Bounds[1];
/*
* kDialog2Bounds
*/
- Rectangle2 kDialog2Bounds[2];
+ //Rectangle2 kDialog2Bounds[2];
/*
* kDialog
*/
- Dialog kDialog;
+ //Dialog kDialog;
/*
* pLevelDialog