12131
This commit is contained in:
@@ -587,6 +587,29 @@ static SQInteger L_S_Ptr(HSQUIRRELVM v)
|
||||
sq_pushuserpointer(v, ptr);
|
||||
return 1;
|
||||
}
|
||||
static SQInteger L_Str_Ptr(HSQUIRRELVM v)
|
||||
{
|
||||
const SQChar *str;
|
||||
sq_getstring(v, 2, &str);
|
||||
sq_pushuserpointer(v, (void *)str);
|
||||
return 1;
|
||||
}
|
||||
|
||||
static SQInteger New_Point(HSQUIRRELVM v)
|
||||
{
|
||||
SQInteger Len;
|
||||
sq_getinteger(v, 2, &Len);
|
||||
void *P = malloc(Len);
|
||||
sq_pushuserpointer(v, P);
|
||||
return 1;
|
||||
}
|
||||
static SQInteger Delete_Point(HSQUIRRELVM v)
|
||||
{
|
||||
SQUserPointer P;
|
||||
sq_getuserpointer(v, 2, &P);
|
||||
free(P);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void RegisterGame(HSQUIRRELVM v)
|
||||
{
|
||||
@@ -596,6 +619,12 @@ static void RegisterGame(HSQUIRRELVM v)
|
||||
register_World_func(v, L_Ptr2Int, _SC("Sq_Ptr2Int"));
|
||||
register_World_func(v, L_Int2Ptr, _SC("Sq_Int2Ptr"));
|
||||
register_World_func(v, L_S_Ptr, _SC("S_Ptr"));
|
||||
register_World_func(v, L_Str_Ptr, _SC("Str_Ptr"));
|
||||
|
||||
// new一个指针
|
||||
register_World_func(v, New_Point, _SC("Sq_New_Point"));
|
||||
// 销毁一个指针
|
||||
register_World_func(v, Delete_Point, _SC("Sq_Delete_Point"));
|
||||
|
||||
// 获取频道配置
|
||||
register_World_func(v, Game_GetConfig, _SC("Sq_Game_GetConfig"));
|
||||
|
||||
@@ -74,6 +74,18 @@ static SQInteger Packet_Put_binary(HSQUIRRELVM v)
|
||||
Pck->put_str((char *)Str, strlen(Str));
|
||||
return 0;
|
||||
}
|
||||
static SQInteger Packet_Put_binaryex(HSQUIRRELVM v)
|
||||
{
|
||||
SQUserPointer Buf;
|
||||
sq_getuserpointer(v, 2, &Buf);
|
||||
InterfacePacketBuf *Pck = (InterfacePacketBuf *)Buf;
|
||||
SQUserPointer Str;
|
||||
sq_getuserpointer(v, 3, &Str);
|
||||
SQInteger Len;
|
||||
sq_getinteger(v, 4, &Len);
|
||||
Pck->put_binary((char *)Str, Len);
|
||||
return 0;
|
||||
}
|
||||
static SQInteger Packet_Finalize(HSQUIRRELVM v)
|
||||
{
|
||||
SQUserPointer Buf;
|
||||
@@ -120,6 +132,7 @@ static void RegisterPacket(HSQUIRRELVM v)
|
||||
register_Packet_func(v, Packet_Put_short, _SC("Sq_Packet_Put_short"));
|
||||
register_Packet_func(v, Packet_Put_int, _SC("Sq_Packet_Put_int"));
|
||||
register_Packet_func(v, Packet_Put_binary, _SC("Sq_Packet_Put_binary"));
|
||||
register_Packet_func(v, Packet_Put_binaryex, _SC("Sq_Packet_Put_binaryex"));
|
||||
register_Packet_func(v, Packet_Finalize, _SC("Sq_Packet_Finalize"));
|
||||
register_Packet_func(v, Packet_Send, _SC("Sq_Packet_Send"));
|
||||
register_Packet_func(v, Packet_Delete, _SC("Sq_Packet_Delete"));
|
||||
|
||||
Reference in New Issue
Block a user