+/* Project 16 Source Code~\r
+ * Copyright (C) 2012-2015 sparky4 & pngwen & andrius4669\r
+ *\r
+ * This file is part of Project 16.\r
+ *\r
+ * Project 16 is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 3 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * Project 16 is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program. If not, see <http://www.gnu.org/licenses/>, or\r
+ * write to the Free Software Foundation, Inc., 51 Franklin Street,\r
+ * Fifth Floor, Boston, MA 02110-1301 USA.\r
+ *\r
+ */\r
+\r
+#ifndef _TYPEDEFSTRUCT_H_\r
+#define _TYPEDEFSTRUCT_H_\r
+\r
+#include "src/lib/types.h"\r
+\r
+/*\r
+ * typedefs of the game variables!\r
+ */\r
+typedef struct {\r
+ word id; /* the Identification number of the page~ For layering~ */\r
+ byte far* data; /* the data for the page */\r
+ word dx; /* col we are viewing on the virtual screen */\r
+ word dy; /* row we are viewing on the virtual screen */\r
+ word sw; /* screen width */\r
+ word sh; /* screen heigth */\r
+ word tilesw; /* screen width in tiles */\r
+ word tilesh; /* screen height in tiles */\r
+ word width; /* virtual width of the page */\r
+ word height; /* virtual height of the page */\r
+ word tw;\r
+ word th;\r
+ sword tilemidposscreenx; /* middle tile position */\r
+ sword tilemidposscreeny; /* middle tile position */\r
+ sword tileplayerposscreenx; /* player position on screen */\r
+ sword tileplayerposscreeny; /* player position on screen */\r
+} page_t;\r
+\r
+typedef struct\r
+{\r
+// int showmemhandle;\r
+ int profilehandle,debughandle;\r
+ int heaphandle;\r
+} handle_t;\r
+\r
+typedef struct\r
+{\r
+ word frames_per_second;\r
+ clock_t t;\r
+ dword tiku; //frames passed\r
+ word clock_start; //timer start\r
+ word *clock; //current time on clock\r
+ boolean fpscap; //cap the fps var\r
+} kurokku_t;\r
+\r
+typedef struct\r
+{\r
+ long old_mode; //old video mode before game!\r
+ page_t page[4]; //pointer to root page[0]\r
+} video_t;\r
+\r
+typedef struct\r
+{\r
+ video_t video; // video settings variable\r
+ byte *pee; // message for fps\r
+ handle_t handle; //handles for file logging\r
+ kurokku_t kurokku; //clock struct\r
+} global_game_variables_t;\r
+\r
+#endif /* _TYPEDEFSTRUCT_H_ */\r