1 /* 2 3 Copyright (C) 2015-2018 Night Dive Studios, LLC. 4 5 This program is free software: you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation, either version 3 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program. If not, see <http://www.gnu.org/licenses/>. 17 18 */ 19 #ifndef __MFDEXT_H 20 #define __MFDEXT_H 21 22 /* 23 * $Source: r:/prj/cit/src/inc/RCS/mfdext.h $ 24 * $Revision: 1.21 $ 25 * $Author: mahk $ 26 * $Date: 1994/08/28 04:41:22 $ 27 * 28 * 29 */ 30 31 // Includes 32 #include "player.h" 33 34 // --------- 35 // Constants 36 // --------- 37 38 // These are for the inventory system (invent.c) 39 #define MFD_INV_NULL 0 40 #define MFD_INV_DRUG 1 41 #define MFD_INV_HARDWARE 2 42 #define MFD_INV_GRENADE 3 43 #define MFD_INV_AMMO 4 44 #define MFD_INV_WEAPON 5 45 #define MFD_INV_GENINV 6 46 #define MFD_INV_SOFT_COMBAT 7 47 #define MFD_INV_SOFT_DEFENSE 8 48 #define MFD_INV_SOFT_MISC 9 49 #define MFD_INV_CATEGORIES 10 50 51 #define MFD_INV_NOTYPE 0xFF 52 53 // Which MFD? 54 #define MFD_LEFT 0 55 #define MFD_RIGHT 1 56 57 // Flags for MFD Functions 58 #define MFD_CHANGEBIT 0x01 // Needs constant update of some sort 59 #define MFD_INCREMENTAL 0x02 // Uses standard MFD background 60 #define MFD_CHANGEBIT_FULL 0x04 61 #define MFD_NOSAVEREST 0x08 // don't save/restore me. 62 63 // Flags for Expose Control 64 #define MFD_EXPOSE 0x01u 65 #define MFD_EXPOSE_FULL 0x02u 66 67 // Type of each MFD slot 68 #define MFD_WEAPON_SLOT 0 69 #define MFD_ITEM_SLOT 1 70 #define MFD_MAP_SLOT 2 71 #define MFD_INFO_SLOT 4 72 #define MFD_TARGET_SLOT 3 73 #define MFD_SPECIAL_SLOT 5 74 75 // MFD Functions 76 #define NOTIFY_ANY_FUNC 0xFF // for mfd_notify_func 77 #define MFD_EMPTY_FUNC 0 78 #define MFD_ITEM_FUNC 1 79 #define MFD_MAP_FUNC 2 80 #define MFD_TARGET_FUNC 3 81 #define MFD_ANIM_FUNC 4 82 #define MFD_WEAPON_FUNC 5 83 #define MFD_BIOWARE_FUNC 6 84 #define MFD_LANTERN_FUNC 7 85 #define MFD_3DVIEW_FUNC 8 86 #define MFD_ELEV_FUNC 9 87 #define MFD_GRENADE_FUNC 10 88 #define MFD_HUD_FUNC 11 89 #define MFD_FIXTURE_FUNC 12 90 #define MFD_KEYPAD_FUNC 13 91 #define MFD_EMAILMUG_FUNC 14 92 #define MFD_EMAILWARE_FUNC 15 93 #define MFD_PLOTWARE_FUNC 16 94 #define MFD_BARK_FUNC 17 95 #define MFD_ACCESSPANEL_FUNC 18 96 #define MFD_SHIELD_FUNC 19 97 #define MFD_MOTION_FUNC 20 98 #define MFD_SEVERED_HEAD_FUNC 21 99 #define MFD_TARGETWARE_FUNC 22 100 #define MFD_GUMP_FUNC 23 101 #define MFD_CARD_FUNC 24 102 #define MFD_BIOHELP_FUNC 25 103 #define MFD_GRIDPANEL_FUNC 26 104 #define MFD_GAMES_FUNC 27 105 #define MFD_CSPACE_FUNC 28 106 #define MFD_VIEWHELP_FUNC 29 107 #define MFD_GEAR_FUNC 30 108 109 // ------- 110 // Externs 111 // ------- 112 113 extern void set_inventory_mfd(ubyte l_class, ubyte type, uchar grab); 114 extern void init_newmfd(); 115 extern void screen_init_mfd(uchar fullscrn); 116 extern void screen_init_mfd_draw(); 117 extern void keyboard_init_mfd(); 118 extern void mfd_update(); 119 extern void mfd_notify_func(ubyte func, ubyte slot, uchar grab, MFD_Status stat, uchar FullRedraw); 120 extern void mfd_force_update_single(int which_mfd); 121 extern void mfd_force_update(); 122 extern int mfd_grab(void); 123 extern int mfd_grab_func(int my_func, int my_slot); 124 extern uchar mfd_yield_func(int func, int *mfd_id); 125 extern void mfd_change_slot(ubyte mfd_id, ubyte l_new); 126 extern void save_mfd_slot(int mfd_id); 127 extern void restore_mfd_slot(int mfd_id); 128 129 #endif // __MFDEXT_H 130