* Move SpriteID enum to engine.h.
[matthijs/ABM2.git] / ABM2 / Playground.cpp
index a7edd74752e1ab3e1cc067bf63c36489bc87f890..c1876418a4713d0203b61a96359092fe0df83a56 100755 (executable)
@@ -1,13 +1,22 @@
 #include "Playground.h"\r
 \r
+#include "Engine/engine.h"\r
 #include "Engine/VideoUpdate.h"\r
 #include "SchemeReader.h"\r
 \r
+#if WIN32\r
 LPD3DXSPRITE d3dspt;\r
 LPD3DXFONT font;\r
 \r
+#endif\r
+\r
+Playground::Playground(CKernel* kernel) {\r
+       this->kernel = kernel;\r
+}\r
+\r
 bool Playground::Start()\r
 {\r
+       #if WIN32\r
        background = NULL;\r
        foreground = NULL;\r
        font = NULL;\r
@@ -61,8 +70,9 @@ bool Playground::Start()
                }\r
        }\r
 \r
+       #endif\r
        // init playing field\r
-       SchemeReader *scheme = new SchemeReader("data/schemes/BASIC.SCH");\r
+       SchemeReader *scheme = new SchemeReader("Data/schemes/BASIC.SCH");\r
        for (int i=0; i<PLAYGROUND_COLS; ++i) \r
        {\r
                for (int j=0; j<PLAYGROUND_ROWS; ++j)\r
@@ -79,7 +89,9 @@ bool Playground::Start()
                                        //field[i][j] = new Item(foreground, 0, FIELD_UNIT_WIDTH, FIELD_UNIT_HEIGHT, i, j);\r
                                        break;\r
                                case SOLID:\r
+                                       #ifdef WIN32\r
                                        field[i][j] = new Item(foreground, 1, FIELD_UNIT_WIDTH, FIELD_UNIT_HEIGHT, i, j);\r
+                                       #endif // WIN32\r
                                        break;\r
                        }\r
 /*\r
@@ -109,13 +121,16 @@ bool Playground::Start()
                field[0][1] = NULL;\r
        }\r
 \r
-\r
        old_counter = GetTickCount();\r
        return true;\r
 }\r
 \r
 void Playground::Update()\r
 {\r
+       CMMPointer<Sprite> s = this->kernel->getSpriteManager()->getSprite(SPR_FIELD);\r
+       \r
+       s->blit(0, 0, 1.0, 1.0, 0, 0, COLOUR_RGBA(0, 0, 255, 255));\r
+       #ifdef WIN32\r
        if(CInputTask::keyDown(DIK_ESCAPE))CKernel::GetSingleton().KillAllTasks();\r
 \r
        d3dspt->Begin(NULL);    // begin sprite drawing\r
@@ -165,7 +180,7 @@ void Playground::Update()
        RECT rect3 = {310,10,500,36};\r
        sprintf(buf, "(%d, %d) - (%d,%d)", bomberman->getFieldCenterX(), bomberman->getFieldCenterY(), bomberman->getOffsetX(), bomberman->getOffsetY());\r
        font->DrawTextA(NULL, (char *)&buf, -1, &rect3, DT_LEFT, D3DCOLOR_XRGB(255,255,255));\r
-\r
+       #endif // WIN32\r
 \r
        old_counter = GetTickCount();\r
 }\r
@@ -177,10 +192,12 @@ void Playground::Stop()
                        if (field[i][j] != NULL) delete field[i][j];\r
 \r
        if (bomberman != NULL) delete bomberman;\r
+       #ifdef WIN32\r
        if (background != NULL) background->Release();\r
        if (foreground != NULL) foreground->Release();\r
        if (d3dspt != NULL) d3dspt->Release();\r
        if (font != NULL) font->Release();\r
+       #endif // WIN32\r
 }\r
 \r
 void Playground::move_down()\r
@@ -351,23 +368,29 @@ void Playground::move_right()
 \r
 Bomberman::Bomberman(int xloc, int yloc)\r
 {\r
+       #ifdef WIN32\r
        HRESULT res = D3DXCreateTextureFromFile(d3ddev, L"data/powkick.png", &texture);\r
        if (res != D3D_OK) texture = NULL;\r
+       #endif // WIN32\r
        x = xloc;\r
        y = yloc;\r
 }\r
 \r
 Bomberman::~Bomberman()\r
 {\r
+       #ifdef WIN32\r
        if (texture != NULL) texture->Release();\r
+       #endif // WIN32\r
 }\r
 \r
 void Bomberman::Update()\r
 {\r
+       #ifdef WIN32\r
        D3DXVECTOR3 center(0.0f, 0.0f, 0.0f);    // center at the upper-left corner\r
        D3DXVECTOR3 position((FLOAT)x, (FLOAT)y, 0.0f);    // position at 50, 50 with no depth\r
        RECT rect = {0,0,40,36};\r
        d3dspt->Draw(texture, &rect, &center, &position, D3DCOLOR_XRGB(255,255,255));\r
+       #endif // WIN32\r
 }\r
 \r
 void Bomberman::move(int xloc, int yloc)\r
@@ -476,6 +499,7 @@ void Bomberman::move_to_direction(TMoveDirection dir)
 // Item class\r
 // =============================================\r
 \r
+#ifdef WIN32\r
 Item:: Item(LPDIRECT3DTEXTURE9 t, int texnr, int subwidth, int subheight, int colnr, int rownr)\r
 {\r
        texture = t;\r
@@ -485,11 +509,13 @@ Item::    Item(LPDIRECT3DTEXTURE9 t, int texnr, int subwidth, int subheight, int co
        subitem_height = subheight;\r
        subitem_width = subwidth;\r
 }\r
+#endif // WIN32\r
 \r
 Item::~Item()\r
 {\r
 }\r
 \r
+#ifdef WIN32\r
 void Item::Draw()\r
 {\r
        D3DXVECTOR3 center(0.0f, 0.0f, 0.0f);    // center at the upper-left corner\r
@@ -498,3 +524,4 @@ void Item::Draw()
        d3dspt->Draw(texture, &rect, &center, &position, D3DCOLOR_ARGB(255, 255,255,255));\r
 }\r
 \r
+#endif // WIN32\r