Exemplo n.º 1
0
static int JPLua_GetModelBounds(lua_State *L){
	vector3 mins, maxs;
	const char *name = luaL_checkstring(L, 1);
	G_GetModelBounds(name, &mins, &maxs);
	JPLua_Vector_CreateRef(L, mins.x, mins.y, mins.z);
	JPLua_Vector_CreateRef(L, maxs.x, maxs.y, maxs.z);
	return 2;
}
Exemplo n.º 2
0
void JPLua_Event_ClientInfoUpdate( int clientNum, clientInfo_t *oldInfo, clientInfo_t *newInfo ) {
#ifdef JPLUA
	jplua_plugin_t *plugin = NULL;
	while ( JPLua_IteratePlugins( &plugin ) ) {
		if ( plugin->eventListeners[JPLUA_EVENT_CLIENTINFO] ) {
			int top1, top2, i;

			lua_rawgeti( JPLua.state, LUA_REGISTRYINDEX, plugin->eventListeners[JPLUA_EVENT_CLIENTINFO] );

			// Create a player instance for this client number and push on stack
			JPLua_Player_CreateRef( JPLua.state, clientNum );

			for ( i = 0; i < 2; i++ ) {
				clientInfo_t *ci = i ? newInfo : oldInfo;
				lua_newtable( JPLua.state );
				top1 = lua_gettop( JPLua.state );

				lua_pushstring( JPLua.state, "colorOverride" );
				lua_newtable( JPLua.state ); top2 = lua_gettop( JPLua.state );
				lua_pushstring( JPLua.state, "r" );				lua_pushnumber( JPLua.state, ci->colorOverride.r );	lua_settable( JPLua.state, top2 );
				lua_pushstring( JPLua.state, "g" );				lua_pushnumber( JPLua.state, ci->colorOverride.g );	lua_settable( JPLua.state, top2 );
				lua_pushstring( JPLua.state, "b" );				lua_pushnumber( JPLua.state, ci->colorOverride.b );	lua_settable( JPLua.state, top2 );
				lua_pushstring( JPLua.state, "a" );				lua_pushnumber( JPLua.state, ci->colorOverride.a );	lua_settable( JPLua.state, top2 );
				lua_settable( JPLua.state, top1 );

				lua_pushstring( JPLua.state, "saberName" );		lua_pushstring( JPLua.state, ci->saberName );		lua_settable( JPLua.state, top1 );
				lua_pushstring( JPLua.state, "saber2Name" );	lua_pushstring( JPLua.state, ci->saber2Name );		lua_settable( JPLua.state, top1 );
				lua_pushstring( JPLua.state, "name" );			lua_pushstring( JPLua.state, ci->name );			lua_settable( JPLua.state, top1 );

				lua_pushstring( JPLua.state, "team" );			lua_pushnumber( JPLua.state, ci->team );			lua_settable( JPLua.state, top1 );
				lua_pushstring( JPLua.state, "duelTeam" );		lua_pushnumber( JPLua.state, ci->duelTeam );		lua_settable( JPLua.state, top1 );
				lua_pushstring( JPLua.state, "botSkill" );		lua_pushnumber( JPLua.state, ci->botSkill );		lua_settable( JPLua.state, top1 );

				lua_pushstring( JPLua.state, "color1" );		JPLua_Vector_CreateRef( JPLua.state, ci->color1.r, ci->color1.g, ci->color1.b );	lua_settable( JPLua.state, top1 );
				lua_pushstring( JPLua.state, "color2" );		JPLua_Vector_CreateRef( JPLua.state, ci->color2.r, ci->color2.g, ci->color2.b );	lua_settable( JPLua.state, top1 );

				lua_pushstring( JPLua.state, "rgb1" );			JPLua_Vector_CreateRef( JPLua.state, ci->rgb1.r, ci->rgb1.g, ci->rgb1.b );	lua_settable( JPLua.state, top1 );
				lua_pushstring( JPLua.state, "rgb2" );			JPLua_Vector_CreateRef( JPLua.state, ci->rgb2.r, ci->rgb2.g, ci->rgb2.b );	lua_settable( JPLua.state, top1 );
				lua_pushstring( JPLua.state, "icolor1" );		lua_pushnumber( JPLua.state, ci->icolor1 );			lua_settable( JPLua.state, top1 );
				lua_pushstring( JPLua.state, "icolor2" );		lua_pushnumber( JPLua.state, ci->icolor2 );			lua_settable( JPLua.state, top1 );
				lua_pushstring( JPLua.state, "score" );			lua_pushnumber( JPLua.state, ci->score );			lua_settable( JPLua.state, top1 );
				lua_pushstring( JPLua.state, "location" );		lua_pushnumber( JPLua.state, ci->location );		lua_settable( JPLua.state, top1 );
				lua_pushstring( JPLua.state, "health" );		lua_pushnumber( JPLua.state, ci->health );			lua_settable( JPLua.state, top1 );
				lua_pushstring( JPLua.state, "armor" );			lua_pushnumber( JPLua.state, ci->armor );			lua_settable( JPLua.state, top1 );
				lua_pushstring( JPLua.state, "curWeapon" );		lua_pushnumber( JPLua.state, ci->curWeapon );		lua_settable( JPLua.state, top1 );
				lua_pushstring( JPLua.state, "handicap" );		lua_pushnumber( JPLua.state, ci->handicap );		lua_settable( JPLua.state, top1 );
				lua_pushstring( JPLua.state, "wins" );			lua_pushnumber( JPLua.state, ci->wins );			lua_settable( JPLua.state, top1 );
				lua_pushstring( JPLua.state, "losses" );		lua_pushnumber( JPLua.state, ci->losses );			lua_settable( JPLua.state, top1 );
				lua_pushstring( JPLua.state, "teamTask" );		lua_pushnumber( JPLua.state, ci->teamTask );		lua_settable( JPLua.state, top1 );
				lua_pushstring( JPLua.state, "powerups" );		lua_pushnumber( JPLua.state, ci->powerups );		lua_settable( JPLua.state, top1 );
				lua_pushstring( JPLua.state, "modelName" );		lua_pushstring( JPLua.state, ci->saberName );		lua_settable( JPLua.state, top1 );
				lua_pushstring( JPLua.state, "skinName" );		lua_pushstring( JPLua.state, ci->saberName );		lua_settable( JPLua.state, top1 );
				lua_pushstring( JPLua.state, "forcePowers" );	lua_pushstring( JPLua.state, ci->forcePowers );		lua_settable( JPLua.state, top1 );
				lua_pushstring( JPLua.state, "teamName" );		lua_pushstring( JPLua.state, ci->teamName );		lua_settable( JPLua.state, top1 );
				lua_pushstring( JPLua.state, "deferred" );		lua_pushboolean( JPLua.state, ci->deferred );		lua_settable( JPLua.state, top1 );
				lua_pushstring( JPLua.state, "gender" );		lua_pushnumber( JPLua.state, ci->gender );			lua_settable( JPLua.state, top1 );
			}

			JPLua_Call( JPLua.state, 3, 0 );
		}
	}
#endif
}