⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lua_aleg.h

📁 lua脚本语言调用allegro游戏程序库的接口-跨平台
💻 H
字号:
/****************************************************************************
**                                                                         **
**                  LuAllegro library - Lua port of Allegro                **
**                       Copyright (C) 2005 Peter Jamroz                   **
**                 e-mail: peterjam at poczta dot onet dot pl              **
**                                                                         **
**        Permission to use, copy, modify, publish this software           **
**    is hereby granted to any person obtaining a copy of this software,   **
**                              FREE OF CHARGE,                            **
**                     under the following conditions:                     **
**                                                                         **
** 1:  The above copyright notice and this permission notice shall be      **
**     included in all copies or substantial portions of the Software.     **
**                                                                         **
** 2:  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,     **
**   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF    **
**   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.**
**   IN NO EVENT SHALL THE AUTHOR OR COPYRIGHT HOLDER BE LIABLE FOR ANY    **
**   CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,  **
**   TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE     **
**   SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                **
**                                                                         **
****************************************************************************/

#ifndef  _LUA_ALEG_H_
#define  _LUA_ALEG_H_

#include <lua.h>
#include <lauxlib.h>
#include <lualib.h>
//#include <lstate.h>


#ifndef    LUALLEGRO_VERSION
#define    LUALLEGRO_VERSION 0.39
#endif     

//Declarations of types const and structures used by LuAllegro library

#define max(a,b) (((a) > (b)) ? (a) : (b))
#define min(a,b) (((a) < (b)) ? (a) : (b))


typedef struct { int DataType; void* DataPtr; } AUD;

enum {AL_BITMAP=1,
      AL_ZBUFFER,
      AL_FONT,
      AL_PALETTE,
      AL_RLE_SPRITE,
      AL_COMPILED_SPRITE,

      AL_SAMPLE,
      AL_MIDI,
      AL_AUDIOSTREAM,

      AL_JOYSTICK_INFO,
      AL_JOYSTICK_BUTTON_INFO,
      AL_JOYSTICK_STICK_INFO,
      AL_JOYSTICK_AXIS_INFO,
      AL_GFX_MODE_LIST,
      AL_GFX_MODE,
      AL_RGB,
      AL_V3D,
      AL_V3D_f,
      AL_COLOR_MAP,
      AL_RGB_MAP,
      AL_al_ffblk,
      AL_DATAFILE,
      AL_MATRIX,
      AL_MATRIX_f,
      AL_QUAT,
      AL_DIALOG,
      AL_MENU,
      AL_DIALOG_PLAYER,
      AL_PACKFILE,
      AL_PACKFILE_VTABLE,
      AL_LZSS_PACK_DATA,
      AL_LZSS_UNPACK_DATA };



//------------------------------------------------------------------------------------------
#define get_first_param(au,dest,i){\
   i=0; au = (AUD*) lua_touserdata (L,1);\
   if (au && au->DataType==AL_BITMAP)\
      {dest= (BITMAP*) au->DataPtr; i=1;}\
   else\
      {dest= screen; if (lua_type(L,1)==LUA_TNIL) i=1;}} 

//------------------------------------------------------------------------------------------
#define get_param(a) a=lua_tonumber(L,++i)
#define get_param_def(a,b) if (lua_type(L,i+1)==LUA_TNUMBER) get_param(a); else {i++;a=b;}

//------------------------------------------------------------------------------------------
void setfield (lua_State *L, const char *key, int value); 

//------------------------------------------------------------------------------------------
int luallegro_set_close_button_callback(void);


LUA_API lua_Number lua_tonumber_def (lua_State *L, int idx,lua_Number def_val);

//------------------------------------------------------------------------------------------
extern int force_exit;

//------------------------------------------------------------------------------------------
//--- The most important function: ---------------------------------------------------------
//------------------------------------------------------------------------------------------
int luaopen_allegro (lua_State *L);
int luaopen_luallegro (lua_State *L); 
//------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -