Search in sources :

Example 11 with GamePacketBuilder

use of org.apollo.net.codec.game.GamePacketBuilder in project apollo by apollo-rsps.

the class NpcSynchronizationMessageEncoder method encode.

@Override
public GamePacket encode(NpcSynchronizationMessage message) {
    GamePacketBuilder builder = new GamePacketBuilder(65, PacketType.VARIABLE_SHORT);
    builder.switchToBitAccess();
    GamePacketBuilder blockBuilder = new GamePacketBuilder();
    builder.putBits(8, message.getLocalNpcCount());
    for (SynchronizationSegment segment : message.getSegments()) {
        SegmentType type = segment.getType();
        if (type == SegmentType.REMOVE_MOB) {
            putRemoveMobUpdate(builder);
        } else if (type == SegmentType.ADD_MOB) {
            putAddNpcUpdate((AddNpcSegment) segment, message, builder);
            putBlocks(segment, blockBuilder);
        } else {
            putMovementUpdate(segment, message, builder);
            putBlocks(segment, blockBuilder);
        }
    }
    if (blockBuilder.getLength() > 0) {
        builder.putBits(14, 16383);
        builder.switchToByteAccess();
        builder.putRawBuilder(blockBuilder);
    } else {
        builder.switchToByteAccess();
    }
    return builder.toGamePacket();
}
Also used : SegmentType(org.apollo.game.sync.seg.SegmentType) AddNpcSegment(org.apollo.game.sync.seg.AddNpcSegment) GamePacketBuilder(org.apollo.net.codec.game.GamePacketBuilder) SynchronizationSegment(org.apollo.game.sync.seg.SynchronizationSegment)

Example 12 with GamePacketBuilder

use of org.apollo.net.codec.game.GamePacketBuilder in project apollo by apollo-rsps.

the class OpenDialogueOverlayMessageEncoder method encode.

@Override
public GamePacket encode(OpenDialogueOverlayMessage message) {
    GamePacketBuilder builder = new GamePacketBuilder(218);
    builder.put(DataType.SHORT, DataOrder.LITTLE, DataTransformation.ADD, message.getInterfaceId());
    return builder.toGamePacket();
}
Also used : GamePacketBuilder(org.apollo.net.codec.game.GamePacketBuilder)

Example 13 with GamePacketBuilder

use of org.apollo.net.codec.game.GamePacketBuilder in project apollo by apollo-rsps.

the class FlashTabInterfaceMessageEncoder method encode.

@Override
public GamePacket encode(FlashTabInterfaceMessage message) {
    GamePacketBuilder builder = new GamePacketBuilder(24);
    builder.put(DataType.BYTE, DataTransformation.SUBTRACT, message.getTab());
    return builder.toGamePacket();
}
Also used : GamePacketBuilder(org.apollo.net.codec.game.GamePacketBuilder)

Example 14 with GamePacketBuilder

use of org.apollo.net.codec.game.GamePacketBuilder in project apollo by apollo-rsps.

the class ConfigMessageEncoder method encode.

@Override
public GamePacket encode(ConfigMessage message) {
    GamePacketBuilder builder;
    int value = message.getValue();
    if (value > Byte.MIN_VALUE && value < Byte.MAX_VALUE) {
        builder = new GamePacketBuilder(36);
        builder.put(DataType.SHORT, DataOrder.LITTLE, message.getId());
        builder.put(DataType.BYTE, value & 0xFF);
    } else {
        builder = new GamePacketBuilder(87);
        builder.put(DataType.SHORT, DataOrder.LITTLE, message.getId());
        builder.put(DataType.INT, DataOrder.MIDDLE, value);
    }
    return builder.toGamePacket();
}
Also used : GamePacketBuilder(org.apollo.net.codec.game.GamePacketBuilder)

Example 15 with GamePacketBuilder

use of org.apollo.net.codec.game.GamePacketBuilder in project apollo by apollo-rsps.

the class ClearRegionMessageEncoder method encode.

@Override
public GamePacket encode(ClearRegionMessage message) {
    GamePacketBuilder builder = new GamePacketBuilder(64);
    Position player = message.getPlayerPosition(), region = message.getRegionPosition();
    builder.put(DataType.BYTE, DataTransformation.NEGATE, region.getLocalX(player));
    builder.put(DataType.BYTE, DataTransformation.SUBTRACT, region.getLocalY(player));
    return builder.toGamePacket();
}
Also used : Position(org.apollo.game.model.Position) GamePacketBuilder(org.apollo.net.codec.game.GamePacketBuilder)

Aggregations

GamePacketBuilder (org.apollo.net.codec.game.GamePacketBuilder)93 Position (org.apollo.game.model.Position)9 Item (org.apollo.game.model.Item)6 HintIconMessage (org.apollo.game.message.impl.HintIconMessage)4 SegmentType (org.apollo.game.sync.seg.SegmentType)4 SynchronizationSegment (org.apollo.game.sync.seg.SynchronizationSegment)4 EquipmentDefinition (org.apollo.cache.def.EquipmentDefinition)2 GroupedRegionUpdateMessage (org.apollo.game.message.impl.GroupedRegionUpdateMessage)2 Type (org.apollo.game.message.impl.HintIconMessage.Type)2 MobHintIconMessage (org.apollo.game.message.impl.MobHintIconMessage)2 PositionHintIconMessage (org.apollo.game.message.impl.PositionHintIconMessage)2 RegionUpdateMessage (org.apollo.game.message.impl.RegionUpdateMessage)2 Appearance (org.apollo.game.model.Appearance)2 Skill (org.apollo.game.model.entity.Skill)2 Inventory (org.apollo.game.model.inv.Inventory)2 SlottedItem (org.apollo.game.model.inv.SlottedItem)2 AddNpcSegment (org.apollo.game.sync.seg.AddNpcSegment)2 AddPlayerSegment (org.apollo.game.sync.seg.AddPlayerSegment)2 GamePacket (org.apollo.net.codec.game.GamePacket)2 MessageEncoder (org.apollo.net.release.MessageEncoder)2