Skip to content
Snippets Groups Projects
Select Git revision
  • Travis_CI-gcc8
  • master default protected
  • main
  • gl_gifs
  • jimita-thing
  • lj-srb2hp2
  • lj-srb2hp
  • connect-ip-textbox
  • lj-resendgamestate
  • thin-fixed
  • next
  • models
  • no-delayedpackets
  • thin-fps-offsets
  • thin-fps
  • orbital-camera
  • fps-offsets
  • fix-fixedrem
  • 2gb-maxsend
  • main-models
  • fixed-string-colormaps
  • SRB2_release_2.1.22
  • SRB2_release_2.1.21
  • SRB2_release_2.1.20
  • SRB2_release_2.1.19
  • SRB2_release_2.1.18
  • td-release-v1.0.0
  • SRB2_release_2.1.17
  • SRB2_release_2.1.16a
  • SRB2_release_2.1.16
  • SRB2_release_2.1.15
  • SRB2_release_2.1.14
  • SRB2_release_2.1.12
  • SRB2_release_2.1.11
  • SRB2_release_2.1.10
  • SRB2_release_2.1.9
  • SRB2_release_2.1.8
  • SRB2_release_2.1.7
  • SRB2_release_2.1.6
  • SRB2_release_2.1.5
  • SRB2_release_2.1.4
41 results

i_video.c

Blame
  • lua_script.h 2.23 KiB
    // SONIC ROBO BLAST 2
    //-----------------------------------------------------------------------------
    // Copyright (C) 2012-2014 by John "JTE" Muniz.
    // Copyright (C) 2012-2014 by Sonic Team Junior.
    //
    // This program is free software distributed under the
    // terms of the GNU General Public License, version 2.
    // See the 'LICENSE' file for more details.
    //-----------------------------------------------------------------------------
    /// \file  lua_script.h
    /// \brief Lua scripting basics
    
    #ifdef HAVE_BLUA
    
    #include "m_fixed.h"
    #include "doomtype.h"
    #include "d_player.h"
    
    #include "blua/lua.h"
    #include "blua/lualib.h"
    #include "blua/lauxlib.h"
    
    #define lua_optboolean(L, i) (!lua_isnoneornil(L, i) && lua_toboolean(L, i))
    #define lua_opttrueboolean(L, i) (lua_isnoneornil(L, i) || lua_toboolean(L, i))
    
    // fixed_t casting
    // TODO add some distinction between fixed numbers and integer numbers
    // for at least the purpose of printing and maybe math.
    #define luaL_checkfixed(L, i) luaL_checkinteger(L, i)
    #define lua_pushfixed(L, f) lua_pushinteger(L, f)
    
    // angle_t casting
    // we reduce the angle to a fixed point between 0.0 and 1.0
    #define luaL_checkangle(L, i) (((angle_t)(luaL_checkfixed(L, i)&0xFFFF))<<16)
    #define lua_pushangle(L, a) lua_pushfixed(L, a>>16)
    
    #ifdef _DEBUG
    void LUA_ClearExtVars(void);
    #endif
    
    void LUA_LoadLump(UINT16 wad, UINT16 lump);
    #ifdef LUA_ALLOW_BYTECODE
    void LUA_DumpFile(const char *filename);
    #endif
    fixed_t LUA_EvalMath(const char *word);
    void LUA_PushUserdata(lua_State *L, void *data, const char *meta);
    void LUA_InvalidateUserdata(void *data);
    void LUA_InvalidateLevel(void);
    void LUA_InvalidateMapthings(void);
    void LUA_InvalidatePlayer(player_t *player);
    void LUA_Archive(void);
    void LUA_UnArchive(void);
    void Got_Luacmd(UINT8 **cp, INT32 playernum); // lua_consolelib.c
    void LUA_CVarChanged(const char *name); // lua_consolelib.c
    int Lua_optoption(lua_State *L, int narg,
    	const char *def, const char *const lst[]);
    
    // Console wrapper
    void COM_Lua_f(void);
    
    #define LUA_Call(L,a)\
    {\
    	if (lua_pcall(L, a, 0, 0)) {\
    		CONS_Alert(CONS_WARNING,"%s\n",lua_tostring(L,-1));\
    		lua_pop(L, 1);\
    	}\
    }
    
    #define LUA_ErrInvalid(L, type) luaL_error(L, "accessed " type " doesn't exist anymore, please check 'valid' before using " type ".");
    
    #endif