这篇教程C++ sq_pushnull函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中sq_pushnull函数的典型用法代码示例。如果您正苦于以下问题:C++ sq_pushnull函数的具体用法?C++ sq_pushnull怎么用?C++ sq_pushnull使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了sq_pushnull函数的27个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: sq_pushnullvoid SQDbgServer::SerializeState(){ sq_pushnull(_v); sq_setdebughook(_v); sq_pushnull(_v); sq_seterrorhandler(_v); const SQChar *sz; sq_pushobject(_v,_serializefunc); sq_pushobject(_v,_debugroot); sq_pushstring(_v,_SC("watches"),-1); sq_newtable(_v); for(WatchSetItor i=_watches.begin(); i!=_watches.end(); ++i) { sq_pushinteger(_v,i->_id); sq_pushstring(_v,i->_exp.c_str(),(int)i->_exp.length()); sq_createslot(_v,-3); } sq_rawset(_v,-3); if(SQ_SUCCEEDED(sq_call(_v,1,SQTrue,SQTrue))){ if(SQ_SUCCEEDED(sqstd_getblob(_v,-1,(SQUserPointer*)&sz))) SendChunk(sz); } sq_pop(_v,2); SetErrorHandlers();}
开发者ID:BackupTheBerlios,项目名称:supertux-svn,代码行数:26,
示例2: assertint CEntityNatives::Create(SQVM* pVM){ CResource* pResource = g_pResourceManager->Get(pVM); assert( pResource ); const char* szName; sq_getstring(pVM,2,&szName); if(CEntity::GetType(szName) == ENTITY_TYPE_CUSTOM) { CEntity* pEntity = new CEntity(ENTITY_TYPE_CUSTOM, pResource, szName); if(pEntity->GetID() != INVALID_ENTITY_ID_LONG) { sq_pushentity(pVM,pEntity); } else { delete pEntity; sq_pushnull(pVM); } } else sq_pushnull(pVM); return 1;}
开发者ID:killserver,项目名称:GTA-IV,代码行数:26,
示例3: Sq_GetLayerRectsSQInteger Sq_GetLayerRects(HSQUIRRELVM v) { const SQChar *What; sq_getstring(v, 2, &What); int Layer = FindLayerByName(What); if(Layer < 0) { sq_pushnull(v); return 1; } sq_newarray(v, 0); for(LevelRect *Rect = LayerInfos[Layer].Rects; Rect; Rect=Rect->Next) { sq_newarray(v, 0); sq_pushstring(v, LayerInfos[Layer].TilesetLookup[Rect->Type].Name, -1); sq_arrayappend(v, -2); sq_pushinteger(v, Rect->X); sq_arrayappend(v, -2); sq_pushinteger(v, Rect->Y); sq_arrayappend(v, -2); sq_pushinteger(v, Rect->W); sq_arrayappend(v, -2); sq_pushinteger(v, Rect->H); sq_arrayappend(v, -2); sq_pushinteger(v, ((Rect->Flips&SDL_FLIP_HORIZONTAL)!=0)|(((Rect->Flips&SDL_FLIP_VERTICAL)!=0)<<1)); sq_arrayappend(v, -2); if(Rect->ExtraInfo) sq_pushstring(v, Rect->ExtraInfo, -1); else sq_pushnull(v); sq_arrayappend(v, -2); sq_arrayappend(v, -2); } return 1;}
开发者ID:NovaSquirrel,项目名称:PrincessEdit,代码行数:34,
示例4: at SQRESULT at(HSQUIRRELVM vm) { SQObjectPtr self = vm->GetAt(vm->_top-2); if (type(self) == OT_STRING) { SQString *selfString = _string(self); SQInteger index = selfString->_len; sq_getinteger(vm, -1, &index); auto begin = selfString->_val; auto end = begin+selfString->_len; try { SQChar *from = NULL; if (index >= 0) { from = begin; utf8::advance(from, index, end); } else { from = end; for (auto i = index; i < 0; ++i) { utf8::prior(from, begin); } } auto to = from; utf8::advance(to, 1, end); SQInteger resultLen = to-from; assert((resultLen >= 0) && "Length of the resulting string should not be negative"); if (resultLen < 0) { sq_pushnull(vm); return 1; } SQChar *resultSequence = vm->_sharedstate->GetScratchPad(resultLen+1); memset(resultSequence, 0, (resultLen+1)*sizeof(SQChar)); memcpy(resultSequence, from, resultLen*sizeof(SQChar)); SQString *result = SQString::Create(vm->_sharedstate, resultSequence); vm->Push(result); } catch (...) { sq_pushnull(vm); } } else { vm->Raise_Error("string::at - Invalid receiver of type %s", GetTypeName(self)); return SQ_ERROR; } return 1; }
开发者ID:wanderwaltz,项目名称:SqUTF8,代码行数:57,
示例5: FScan// variant fscan(handle file[, integer type = TEXT])// Read data from file// For list of supported types look 'scan' function specification// If invalid file handle or unsupported type specified, read nothing and return 'null' valuestatic SQInteger FScan (HSQUIRRELVM){ FILE* file = GetFile(); if (file) { SQInteger type = 't'; if (sq_gettop(sqvm) == 3) sq_getinteger(sqvm, 3, &type); SQInteger intVal; switch (type) { case 't': SQChar buf[4096]; fgets(buf, sizeof(buf), file); buf[sizeof(buf) - 1] = 0; for (SQChar* c = buf; *c; ++c) { if (*c == '/n') { *c = 0; break; } } sq_pushstring(sqvm, buf, -1); break; case 'c': sq_pushinteger(sqvm, fgetc(file)); break; case 'i': fscanf_s(file, FMT_INT, &intVal); sq_pushinteger(sqvm, intVal); break; case 'u': fscanf_s(file, FMT_UINT, &intVal); sq_pushinteger(sqvm, intVal); break; case 'f': SQFloat fltVal; fscanf_s(file, "%f", &fltVal); sq_pushfloat(sqvm, fltVal); break; default: sq_pushnull(sqvm); } } else sq_pushnull(sqvm); return 1;}
开发者ID:ruifig,项目名称:nutcracker,代码行数:59,
示例6: switchbool CSquirrelArgument::push(SQVM* pVM){ switch(type) { case OT_NULL: sq_pushnull(pVM); break; case OT_INTEGER: sq_pushinteger(pVM, data.i); break; case OT_BOOL: sq_pushbool(pVM, data.b); break; case OT_FLOAT: sq_pushfloat(pVM, data.f); break; case OT_STRING: sq_pushstring(pVM, data.str->Get(), data.str->GetLength()); break; case OT_ARRAY: { sq_newarray(pVM, 0); for(auto pArgument : *data.pArray->GetArguments()) { pArgument->push(pVM); sq_arrayappend(pVM, -2); } break; } case OT_TABLE: { sq_newtable(pVM); int i = 0; assert( data.pArray->GetArguments()->size() % 2 == 0 ); for(auto iter = data.pArray->GetArguments()->begin(); iter != data.pArray->GetArguments()->end(); ++ iter, ++ i ) { (*iter)->push(pVM); ++ iter; (*iter)->push(pVM); sq_createslot(pVM, -3); } break; } break; default: sq_pushnull(pVM); // table, whatsoever. do not even care. fix it if you dare. assert(0); return false; } return true;}
开发者ID:B2O,项目名称:IV-Network,代码行数:53,
示例7: sq_toentityint CEntityNatives::GetParent(SQVM* pVM){ CEntity* pEntity = sq_toentity(pVM, 2); if(pEntity) { CEntity* pParent = pEntity->GetParent(); if(pParent) sq_pushentity(pVM,pParent); else sq_pushnull(pVM); } else sq_pushnull(pVM); return 1;}
开发者ID:killserver,项目名称:GTA-IV,代码行数:15,
示例8: sq_whirlpoolint sq_whirlpool(HSQUIRRELVM pVM){ if(sq_gettop(pVM) == 2) { struct NESSIEstruct w; u8 digest[DIGESTBYTES]; const char* data; char out[DIGESTBYTES*2+1] = {0}; int i; sq_getstring(pVM, 2, &data); NESSIEinit(&w); NESSIEadd((const unsigned char*)data, strlen(data)*8, &w); NESSIEfinalize(&w, digest); for(i=0; i < DIGESTBYTES; ++i) { sprintf(out, "%s%02X", out, digest[i]); } sq_pushstring(pVM, out, -1); return 1; } sq_pushnull(pVM); return 1;}
开发者ID:mabako,项目名称:iv-whirlpool,代码行数:26,
示例9: sq_gettop/** * squirrel から吉里吉里オブジェクトを取得 */boolTJSObject::getVariant(HSQUIRRELVM v, SQInteger idx, tTJSVariant *variant){ if (sq_gettype(v, idx) == OT_CLASS) { if (idx < 0) { idx = sq_gettop(v) + 1 + idx; } bool ret = false; // クラス属性からオブジェクト情 C++ sq_pushroottable函数代码示例 C++ sq_pushbool函数代码示例
|