]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_pm.h
updated the copyleft wwww i am not deAD! i just been 2 busy last 6 monthes
[16.git] / src / lib / 16_pm.h
index 973b08b404eaa98cc7d5aa3badb60faccf3707f6..3cda833ce7b0e4b0f64e34febfb1400ca596998b 100755 (executable)
@@ -1,3 +1,28 @@
+/* Project 16 Source Code~\r
+ * Copyright (C) 2012-2018 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover\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 __16_PM__\r
+#define __16_PM__\r
+\r
 //\r
 //     ID_PM.H\r
 //     Header file for Id Engine's Page Manager\r
@@ -6,8 +31,10 @@
 #include "src/lib/16_head.h"\r
 #include "src/lib/16_hc.h"\r
 #include "src/lib/16_mm.h"\r
+#include "src/lib/16_ca.h"\r
 #include <dos.h>\r
 \r
+//#define __PM__NOHOGEMS__\r
 /*//   NOTE! PMPageSize must be an even divisor of EMSPageSize, and >= 1024\r
 #define        EMSPageSize             16384\r
 #define        EMSPageSizeSeg  (EMSPageSize >> 4)\r
@@ -64,25 +91,27 @@ extern      word                    ChunksInFile,
                                                PMSpriteStart,PMSoundStart;\r
 extern PageListStruct  far *PMPages;*///moved to src/lib/typdefst.h\r
 \r
-#define        PM_GetSoundPage(v)      PM_GetPage(PMSoundStart + (v))\r
-#define        PM_GetSpritePage(v)     PM_GetPage(PMSpriteStart + (v))\r
+#define        PM_GetSoundPage(v)      PM_GetPage(gvar->pm.fi.PMSoundStart + (v), gvar)\r
+#define        PM_GetSpritePage(v)     PM_GetPage(gvar->pm.fi.PMSpriteStart + (v), gvar)\r
 \r
-#define        PM_LockMainMem()        PM_SetMainMemPurge(0)\r
-#define        PM_UnlockMainMem()      PM_SetMainMemPurge(3)\r
+#define        PM_LockMainMem(gvar)    PM_SetMainMemPurge(0, gvar)\r
+#define        PM_UnlockMainMem(gvar)  PM_SetMainMemPurge(3, gvar)\r
 \r
 \r
 extern char    PageFileName[13];\r
 \r
 \r
-extern void    PM_Startup(void),\r
-                               PM_Shutdown(void),\r
-                               PM_Reset(void),\r
-                               PM_Preload(boolean (*update)(word current,word total)),\r
-                               PM_NextFrame(void),\r
-                               PM_SetPageLock(int pagenum,PMLockType lock),\r
+extern void    PM_Startup(global_game_variables_t *gvar),\r
+                               PM_Shutdown(global_game_variables_t *gvar),\r
+                               PM_Reset(global_game_variables_t *gvar),\r
+                               PM_Preload(boolean (*update)(word current,word total), global_game_variables_t *gvar),\r
+                               PM_NextFrame(global_game_variables_t *gvar),\r
+                               PM_SetPageLock(int pagenum,PMLockType lock, global_game_variables_t *gvar),\r
                                PM_SetMainPurge(int level),\r
-                               PM_CheckMainMem(void);\r
-extern memptr  PM_GetPageAddress(int pagenum),\r
-                               PM_GetPage(int pagenum);                // Use this one to cache page\r
+                               PM_CheckMainMem(global_game_variables_t *gvar);\r
+extern memptr  PM_GetPageAddress(int pagenum, global_game_variables_t *gvar),\r
+                               PM_GetPage(int pagenum, global_game_variables_t *gvar);         // Use this one to cache page\r
 \r
-PM_SetMainMemPurge(int level, global_game_variables_t *gvar);\r
+void PM_SetMainMemPurge(int level, global_game_variables_t *gvar);\r
+void PML_StartupMainMem(global_game_variables_t *gvar);\r
+#endif\r