// include the basic windows header files and the Direct3D header file\r
+#ifdef WIN32\r
#include <windows.h>\r
#include <windowsx.h>\r
+#endif\r
\r
#include "Engine/engine.h"\r
#include "Engine/game.h"\r
+#include "Engine/SpriteManager.h"\r
#include "Playground.h"\r
#include "SchemeReader.h"\r
\r
#define SCREEN_WIDTH 640\r
#define SCREEN_HEIGHT 480\r
\r
+enum SpriteID {\r
+ SPR_NONE = 0,\r
+ SPR_FIELD,\r
+ SPR_SOLID,\r
+ SPR_BRICK,\r
+ SPR_BLANK,\r
+ SPR_PLAYER,\r
+};\r
+\r
+SpriteData defaultSprites[] = {\r
+ {SPR_FIELD, "FIELD0.png", 640, 480},\r
+ {SPR_BLANK, "FIELD0.png", 640, 480},\r
+ {SPR_NONE, NULL, 0, 0}\r
+};\r
+\r
+#ifdef WIN32\r
HINSTANCE hInstance;\r
HWND hWnd;\r
\r
// the WindowProc function prototype\r
LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);\r
\r
-\r
class CPongTask : public ITask\r
{\r
public:\r
AUTO_SIZE;\r
};\r
\r
+#endif // WIN32\r
void CApplication::Run(int argc, char *argv[])\r
{\r
//open logfiles\r
globalTimer->priority=10;\r
CKernel::GetSingleton().AddTask(CMMPointer<ITask>(globalTimer));\r
\r
+ CSpriteManager *sm = new CSpriteManager(videoTask->getGraphics(), defaultSprites);\r
+ CKernel::GetSingleton().setSpriteManager(sm);\r
+\r
Playground game;\r
game.priority=100;\r
CKernel::GetSingleton().AddTask(CMMPointer<ITask>(&game));\r
delete CSettingsManager::GetSingletonPtr();\r
}\r
\r
+#ifdef WIN32\r
\r
// the entry point for any Windows program\r
int WINAPI WinMain(HINSTANCE hInst,\r
return 0;\r
}\r
\r
-\r
// this is the main message handler for the program\r
LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)\r
{\r
\r
return DefWindowProc (hWnd, message, wParam, lParam);\r
}\r
+#else // WIN32\r
+int main(int argc, char *argv[])\r
+{\r
+ new CApplication();\r
+ CApplication::GetSingleton().Run(argc,argv);\r
+ delete CApplication::GetSingletonPtr();\r
+\r
+ //clean up any remaining unreleased objects\r
+ IMMObject::CollectRemainingObjects(true);\r
+\r
+ return 0;\r
+}\r
+#endif //WIN32\r
+\r