1 /* GemRB - Infinity Engine Emulator 2 * Copyright (C) 2003 The GemRB Project 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public License 6 * as published by the Free Software Foundation; either version 2 7 * of the License, or (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 * 18 * 19 */ 20 21 /** 22 * @file SClassID.h 23 * Defines ID numbers identifying the various plugins. 24 * Needed for loading the plugins on MS Windows. 25 * @author The GemRB Project 26 */ 27 28 #ifndef SCLASS_ID_H 29 #define SCLASS_ID_H 30 31 namespace GemRB { 32 33 /** Type of plugin ID numbers */ 34 using SClass_ID = unsigned long; 35 36 #define IE_2DA_CLASS_ID 0x000003F4 37 #define IE_ACM_CLASS_ID 0x00010000 38 #define IE_ARE_CLASS_ID 0x000003F2 39 #define IE_BAM_CLASS_ID 0x000003E8 40 #define IE_BCS_CLASS_ID 0x000003EF 41 #define IE_BS_CLASS_ID 0x100003EF 42 #define IE_BIF_CLASS_ID 0x00020000 43 #define IE_BIO_CLASS_ID 0x000003FE //also .res 44 #define IE_BMP_CLASS_ID 0x00000001 45 #define IE_PNG_CLASS_ID 0x00000003 46 #define IE_CHR_CLASS_ID 0x000003FA 47 #define IE_CHU_CLASS_ID 0x000003EA 48 #define IE_CRE_CLASS_ID 0x000003F1 49 #define IE_DLG_CLASS_ID 0x000003F3 50 #define IE_EFF_CLASS_ID 0x000003F8 51 #define IE_GAM_CLASS_ID 0x000003F5 52 #define IE_IDS_CLASS_ID 0x000003F0 53 #define IE_INI_CLASS_ID 0x00000802 54 #define IE_ITM_CLASS_ID 0x000003ED 55 #define IE_MOS_CLASS_ID 0x000003EC 56 #define IE_MUS_CLASS_ID 0x00040000 57 #define IE_MVE_CLASS_ID 0x00000002 58 #define IE_BIK_CLASS_ID 0x00FFFFFF 59 #define IE_OGG_CLASS_ID 0x00000007 60 #define IE_PLT_CLASS_ID 0x00000006 61 #define IE_PRO_CLASS_ID 0x000003FD 62 #define IE_SAV_CLASS_ID 0x00050000 63 #define IE_SPL_CLASS_ID 0x000003EE 64 #define IE_SRC_CLASS_ID 0x00000803 65 #define IE_STO_CLASS_ID 0x000003F6 66 #define IE_TIS_CLASS_ID 0x000003EB 67 #define IE_TLK_CLASS_ID 0x00060000 68 #define IE_TOH_CLASS_ID 0x00070000 69 #define IE_TOT_CLASS_ID 0x00080000 70 #define IE_VAR_CLASS_ID 0x00090000 71 #define IE_VEF_CLASS_ID 0x000003FC 72 #define IE_VVC_CLASS_ID 0x000003FB 73 #define IE_WAV_CLASS_ID 0x00000004 74 #define IE_WED_CLASS_ID 0x000003E9 75 #define IE_WFX_CLASS_ID 0x00000005 76 #define IE_WMP_CLASS_ID 0x000003F7 77 #define IE_SCRIPT_CLASS_ID 0x000D0000 78 #define IE_GUI_SCRIPT_CLASS_ID 0x000E0000 79 80 // !!! Update the PLUGIN_BASE_VERSION, if the list below is reordered !!! 81 // !!! or entries inserted in the middle. !!! 82 const unsigned long PLUGIN_BASE_VERSION = 0x1000 * 0xABCE; 83 using PluginID = unsigned long; 84 enum { 85 PLUGIN_OPCODES_CORE = PLUGIN_BASE_VERSION+1, 86 PLUGIN_OPCODES_ICEWIND, 87 PLUGIN_OPCODES_TORMENT, 88 PLUGIN_RESOURCE_KEY, 89 PLUGIN_RESOURCE_DIRECTORY, 90 PLUGIN_RESOURCE_CACHEDDIRECTORY, 91 PLUGIN_RESOURCE_NULL, 92 PLUGIN_IMAGE_WRITER_BMP, 93 PLUGIN_COMPRESSION_ZLIB 94 }; 95 96 } 97 98 #endif 99