public function serial(MemStream $s) { $s->serial_short($this->OverdoseTimer); $s->serial_short($this->ConsumptionTime); $s->serial_uint32($nbItems); $s->serial_int_string($this->Properties, $nbItems); }
protected function readHeader(MemStream $s) { // check header $s->serial_buffer($hskp, 4); if ($hskp !== self::HEADER) { throw new \RuntimeException('Wrong packed sheets header, expected "' . self::HEADER . '"'); } $s->serial_uint32($header_version); if ($header_version != self::HEADER_VERSION) { throw new \RuntimeException('Wrong packed sheets version, expected "' . self::HEADER_VERSION . '", got "' . $header_version . '"'); } $s->serial_byte($this->compat); $s->serial_uint32($dependBlockSize); if ($this->skipDependBlock) { // skip dependency block $pos = $s->getPos(); $s->seek($pos + $dependBlockSize); } else { // read dictionary $s->serial_uint32($nb); $s->serial_int_string($this->dictionnary, $nb); // read dependency data $this->dependencies = array(); $s->serial_uint32($depSize); for ($i = 0; $i < $depSize; $i++) { $s->serial_uint32($sheetId); $s->serial_uint32($nb); $s->serial_uint32($this->dependencies[$sheetId], $nb); } } }
public function serial(MemStream $s) { // CGenderInfo $gi = function (&$var) use($s) { $var = new \stdClass(); $nbItems = 7; $s->serial_string($var->Items, $nbItems); $s->serial_string($var->Skelfilename); $s->serial_string($var->AnimSetBaseName); $s->serial_string($var->LodCharacterName); $s->serial_float($var->LodCharacterDistance); $s->serial_float($var->CharacterScalePos); $var->GroundFX = array(); $s->serial_uint32($nbItems); for ($nb = 0; $nb < $nbItems; $nb++) { $row = new \stdClass(); $s->serial_uint32($row->GroundID); $s->Serial_string($row->FXName); $var->GroundFX[] = $row; } for ($nb = 0; $nb < 8; $nb++) { $s->serial_float($var->BlendShapeMin[$nb]); $s->serial_float($var->BlendShapeMax[$nb]); } $s->serial_float($var->NamePosZLow); $s->serial_float($var->NamePosZNormal); $s->serial_float($var->NamePosZHigh); }; $numCharacteristice = 8; $s->serial_byte($this->CharacStartValue, 8); $gi($this->GenderInfos[0]); $gi($this->GenderInfos[1]); $s->serial_byte($this->People); $s->serial_byte($this->Skin); $s->serial_string($this->Automaton); $this->BodyToBone = new \stdClass(); $s->serial_string($this->BodyToBone->Head); $s->serial_string($this->BodyToBone->Chest); $s->serial_string($this->BodyToBone->LeftArm); $s->serial_string($this->BodyToBone->RightArm); $s->serial_string($this->BodyToBone->LeftHand); $s->serial_string($this->BodyToBone->RightHand); $s->serial_string($this->BodyToBone->LeftLeg); $s->serial_string($this->BodyToBone->RightLeg); $s->serial_string($this->BodyToBone->LeftFoot); $s->serial_string($this->BodyToBone->RightFoot); $s->serial_uint32($nbItems); $s->serial_int_string($this->AttackLists, $nbItems); }