/* ------------------------------------------------------------------------------------ */ int CLogic::SaveTo(FILE *SaveFD, bool type) { geEntity_EntitySet *pSet; geEntity *pEntity; // Ok, check to see if there are triggers in this world pSet = geWorld_GetEntitySet(CCD->World(), "LogicGate"); if(!pSet) return RGF_SUCCESS; // No gates, whatever... // Ok, we have logic gates somewhere. Dig through 'em all. for(pEntity=geEntity_EntitySetGetNextEntity(pSet, NULL); pEntity; pEntity=geEntity_EntitySetGetNextEntity(pSet, pEntity)) { LogicGate *pSource = (LogicGate*)geEntity_GetUserData(pEntity); WRITEDATA(type, &pSource->active, sizeof(geBoolean), 1, SaveFD); WRITEDATA(type, &pSource->bState, sizeof(geBoolean), 1, SaveFD); WRITEDATA(type, &pSource->OldState, sizeof(geBoolean), 1, SaveFD); WRITEDATA(type, &pSource->inDelay, sizeof(geBoolean), 1, SaveFD); WRITEDATA(type, &pSource->time, sizeof(float), 1, SaveFD); } return RGF_SUCCESS; }
/* ------------------------------------------------------------------------------------ */ int CAutoDoors::SaveTo(FILE *SaveFD, bool type) { geEntity_EntitySet *pSet; geEntity *pEntity; // Ok, check to see if there are automatic doors in this world pSet = geWorld_GetEntitySet(CCD->World(), "Door"); if(!pSet) return RGF_SUCCESS; // No doors, whatever... // Ok, we have doors somewhere. Dig through 'em all. for(pEntity=geEntity_EntitySetGetNextEntity(pSet, NULL); pEntity; pEntity=geEntity_EntitySetGetNextEntity(pSet, pEntity)) { Door *pDoor = (Door*)geEntity_GetUserData(pEntity); WRITEDATA(type, &pDoor->bInAnimation, sizeof(geBoolean), 1, SaveFD); WRITEDATA(type, &pDoor->bTrigger, sizeof(geBoolean), 1, SaveFD); WRITEDATA(type, &pDoor->AnimationTime, sizeof(int), 1, SaveFD); WRITEDATA(type, &pDoor->bInCollision, sizeof(geBoolean), 1, SaveFD); WRITEDATA(type, &pDoor->bActive, sizeof(geBoolean), 1, SaveFD); WRITEDATA(type, &pDoor->LastIncrement, sizeof(int), 1, SaveFD); WRITEDATA(type, &pDoor->tDoor, sizeof(geFloat), 1, SaveFD); WRITEDATA(type, &pDoor->CallBack, sizeof(geBoolean), 1, SaveFD); WRITEDATA(type, &pDoor->CallBackCount, sizeof(int), 1, SaveFD); } return RGF_SUCCESS; }
/* ------------------------------------------------------------------------------------ */ int CPersistentAttributes::SaveTo(FILE *SaveFD, bool type) { int nLen = 0; PersistAttribute *pAttr = theList; fwrite(&m_nCount, sizeof(int), 1, SaveFD); while(pAttr != NULL) { nLen = strlen(pAttr->Name) + 1; WRITEDATA(type, &nLen, sizeof(int), 1, SaveFD); WRITEDATA(type, pAttr->Name, 1, nLen, SaveFD); WRITEDATA(type, &(pAttr->Count), sizeof(int), 1, SaveFD); WRITEDATA(type, &(pAttr->Value), sizeof(int), 1, SaveFD); WRITEDATA(type, &(pAttr->ValueLowLimit), sizeof(int), 1, SaveFD); WRITEDATA(type, &(pAttr->ValueHighLimit), sizeof(int), 1, SaveFD); // changed QD 12/15/05 WRITEDATA(type, &(pAttr->PowerUpLevel), sizeof(int), 1, SaveFD); // end change WRITEDATA(type, &(pAttr->UserDataSize), sizeof(int), 1, SaveFD); if(pAttr->UserDataSize != 0) WRITEDATA(type, &(pAttr->UserData), 1, pAttr->UserDataSize, SaveFD); pAttr = pAttr->pNext; // Next item } return RGF_SUCCESS; }
int session_response(DbXmlSessionData* session, int res) { WRITEDATAVARS; // initialize session if (res) { WRITEDATA(session, "ACCESS DENIED\n", 14); } else { WRITEDATA(session, "SESSION STARTING\n", 17); } return res; }
int send_session_options(DbXmlSessionData* session, DbXmlSessionOptions* options) { WRITEDATAVARS; int header_count = 0; while (header_count < MAX_HEADERS && options->headers[header_count] != NULL) { WRITEDATA(session, options->headers[header_count]->key, strlen(options->headers[header_count]->key)); WRITEDATA(session, "=", 1); WRITEDATA(session, options->headers[header_count]->val, strlen(options->headers[header_count]->val)); WRITEDATA(session, "\n", 1); header_count++; } WRITEDATA(session, "\n", 1); return 0; }
/* ------------------------------------------------------------------------------------ */ int CChangeLevel::SaveTo(FILE *SaveFD, bool type) { geEntity_EntitySet *pSet; geEntity *pEntity; // Ok, check to see if there are ChangeLevel in this world pSet = geWorld_GetEntitySet(CCD->World(), "ChangeLevel"); if(!pSet) return RGF_SUCCESS; // No doors, whatever... // Ok, we have doors somewhere. Dig through 'em all. for(pEntity=geEntity_EntitySetGetNextEntity(pSet, NULL); pEntity; pEntity=geEntity_EntitySetGetNextEntity(pSet, pEntity)) { ChangeLevel *pItem = (ChangeLevel*)geEntity_GetUserData(pEntity); WRITEDATA(type, &pItem->CallBack, sizeof(geBoolean), 1, SaveFD); WRITEDATA(type, &pItem->CallBackCount, sizeof(int), 1, SaveFD); } return RGF_SUCCESS; }
int initial_handshake(DbXmlSessionData* session) { WRITEDATAVARS; READLINEVARS; // first thing to expect is: // SESSION $envname VERSION $version\n READLINE; if (sscanf(line, "SESSION %255s VERSION %f", session->Session.env_name, &(session->Session.client_version)) != 2) { LOG_INFO("Client sent bad data (%s)\n", line); return -1; } // now we send the server version WRITEDATA(session, "SERVER VERSION 0.001\n", 21); return 0; }
HRESULT CControlState::Save( CEditX *pCtrl, LPSTREAM pStm ) { HRESULT hr = S_OK; DWORD dwVer = 5; WRITEDATA( dwVer ); WRITEDATA( m_bColorSyntax ); WRITEDATA( m_bAllowHSplit ); WRITEDATA( m_bAllowVSplit ); WRITEDATA( m_bHScroll ); WRITEDATA( m_bVScroll ); WRITEDATA( m_bSmoothScroll ); WRITEDATA( m_bLineToolTips ); WRITEDATA( m_bShowLeftMargin ); WRITEDATA( m_bAllowColumnSel ); WRITEDATA( m_bAllowDragDrop ); WRITEDATA( m_bExpandTabs ); WRITEDATA( m_xPosHSplitter ); WRITEDATA( m_yPosVSplitter ); WRITEDATA( m_eIndentStyle ); WRITEDATA( m_nTabSize ); WRITEDATA( m_Colors ); WRITEDATA( m_lf ); if ( SUCCEEDED( hr ) ) { CComVariant var( m_bstrText ); hr = var.WriteToStream( pStm ); } else goto bail; if ( SUCCEEDED( hr ) ) { CComVariant var( m_bstrLang ); hr = var.WriteToStream( pStm ); } else goto bail; WRITEDATA( m_bDisplayWhitespace ); WRITEDATA( m_bWantCarriageReturn ); WRITEDATA( m_bEnabled ); WRITEDATA( m_bGlobalProps ); WRITEDATA( m_bModified ); WRITEDATA( m_bOverType ); WRITEDATA( m_bReadOnly ); WRITEDATA( m_bPreserveCase ); WRITEDATA( m_bCaseSensitiveSearch ); WRITEDATA( m_bWholeWordOnly ); WRITEDATA( m_nMaxUndo ); WRITEDATA( m_bSelBounds ); WRITEDATA( m_bRegExp ); WRITEDATA( m_FontStyles ); WRITEDATA( m_LineNum ); WRITEDATA( m_bHideSel ); WRITEDATA( m_bNormalizeCase ); WRITEDATA( m_bOvertypeCaret ); WRITEDATA( m_nHighlightedLine ); WRITEDATA( m_dwBorderStyle ); WRITEDATA( m_bStealKeys ); pCtrl->m_bRequiresSave = FALSE; bail: return hr; }