1 #ifndef __LUA_HUD_OBJECTS_H 2 #define __LUA_HUD_OBJECTS_H 3 4 /* 5 LUA_HUD_OBJECTS.H 6 7 Copyright (C) 2009 by Jeremiah Morris 8 9 This program is free software; you can redistribute it and/or modify 10 it under the terms of the GNU General Public License as published by 11 the Free Software Foundation; either version 3 of the License, or 12 (at your option) any later version. 13 14 This program is distributed in the hope that it will be useful, 15 but WITHOUT ANY WARRANTY; without even the implied warranty of 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 GNU General Public License for more details. 18 19 This license is contained in the file "COPYING", 20 which is included with this source code; it is available online at 21 http://www.gnu.org/licenses/gpl.html 22 23 Implements Lua HUD objects and globals 24 */ 25 26 #include "cseries.h" 27 28 #ifdef HAVE_LUA 29 extern "C" 30 { 31 #include "lua.h" 32 #include "lauxlib.h" 33 #include "lualib.h" 34 } 35 36 #include "items.h" 37 #include "map.h" 38 #include "lua_templates.h" 39 40 extern char Lua_HUDPlayer_Name[]; // "Player" 41 typedef L_Class<Lua_HUDPlayer_Name> Lua_HUDPlayer; 42 43 extern char Lua_HUDGame_Name[]; // "Game" 44 typedef L_Class<Lua_HUDGame_Name> Lua_HUDGame; 45 46 extern char Lua_HUDScreen_Name[]; // "Screen" 47 typedef L_Class<Lua_HUDScreen_Name> Lua_HUDScreen; 48 49 50 extern char Lua_InterfaceColor_Name[]; // "interface_color" 51 typedef L_Enum<Lua_InterfaceColor_Name> Lua_InterfaceColor; 52 53 extern char Lua_InterfaceColors_Name[]; // "InterfaceColors" 54 typedef L_EnumContainer<Lua_InterfaceColors_Name, Lua_InterfaceColor> Lua_InterfaceColors; 55 56 extern char Lua_InterfaceFont_Name[]; // "interface_font" 57 typedef L_Enum<Lua_InterfaceFont_Name> Lua_InterfaceFont; 58 59 extern char Lua_InterfaceFonts_Name[]; // "InterfaceFonts" 60 typedef L_EnumContainer<Lua_InterfaceFonts_Name, Lua_InterfaceFont> Lua_InterfaceFonts; 61 62 extern char Lua_InterfaceRect_Name[]; // "interface_rect" 63 typedef L_Enum<Lua_InterfaceRect_Name> Lua_InterfaceRect; 64 65 extern char Lua_InterfaceRects_Name[]; // "InterfaceRects" 66 typedef L_EnumContainer<Lua_InterfaceRects_Name, Lua_InterfaceRect> Lua_InterfaceRects; 67 68 extern char Lua_InventorySection_Name[]; // "inventory_section" 69 typedef L_Enum<Lua_InventorySection_Name> Lua_InventorySection; 70 71 extern char Lua_InventorySections_Name[]; // "InventorySections" 72 typedef L_EnumContainer<Lua_InventorySections_Name, Lua_InventorySection> Lua_InventorySections; 73 74 extern char Lua_RendererType_Name[]; // "renderer_type" 75 typedef L_Enum<Lua_RendererType_Name> Lua_RendererType; 76 77 extern char Lua_RendererTypes_Name[]; // "RendererTypes" 78 typedef L_EnumContainer<Lua_RendererTypes_Name, Lua_RendererType> Lua_RendererTypes; 79 80 extern char Lua_SensorBlipType_Name[]; // "sensor_blip" 81 typedef L_Enum<Lua_SensorBlipType_Name> Lua_SensorBlipType; 82 83 extern char Lua_SensorBlipTypes_Name[]; // "SensorBlipTypes" 84 typedef L_EnumContainer<Lua_SensorBlipTypes_Name, Lua_SensorBlipType> Lua_SensorBlipTypes; 85 86 extern char Lua_TextureType_Name[]; // "texture_type"; 87 typedef L_Enum<Lua_TextureType_Name> Lua_TextureType; 88 89 extern char Lua_TextureTypes_Name[]; // "TextureTypes"; 90 typedef L_EnumContainer<Lua_TextureTypes_Name, Lua_TextureType> Lua_TextureTypes; 91 #define NUMBER_OF_LUA_TEXTURE_TYPES 5 92 93 int Lua_HUDObjects_register(lua_State *L); 94 95 #endif 96 97 #endif 98