* Adding Packet.BuildPacket() function back, OpenSim uses it
* Converted ParcelAccessEntry.Flags to AccessList enum git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2359 52acb1d6-8a22-11de-b505-999d5b087335
This commit is contained in:
@@ -669,7 +669,7 @@ namespace OpenMetaverse
|
||||
/// <summary></summary>
|
||||
public DateTime Time;
|
||||
/// <summary>Flags for specific entry in white/black lists</summary>
|
||||
public uint Flags;
|
||||
public AccessList Flags;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -1568,7 +1568,7 @@ namespace OpenMetaverse
|
||||
ParcelAccessEntry pae = new ParcelAccessEntry();
|
||||
pae.AgentID = reply.List[i].ID;
|
||||
pae.Time = Utils.UnixTimeToDateTime((uint)reply.List[i].Time);
|
||||
pae.Flags = reply.List[i].Flags;
|
||||
pae.Flags = (AccessList)reply.List[i].Flags;
|
||||
|
||||
accessList.Add(pae);
|
||||
}
|
||||
|
||||
@@ -1224,6 +1224,403 @@ namespace OpenMetaverse.Packets
|
||||
return PacketType.Default;
|
||||
}
|
||||
|
||||
public static Packet BuildPacket(PacketType type)
|
||||
{
|
||||
if(type == PacketType.StartPingCheck) return new StartPingCheckPacket();
|
||||
if(type == PacketType.CompletePingCheck) return new CompletePingCheckPacket();
|
||||
if(type == PacketType.AgentUpdate) return new AgentUpdatePacket();
|
||||
if(type == PacketType.AgentAnimation) return new AgentAnimationPacket();
|
||||
if(type == PacketType.AgentRequestSit) return new AgentRequestSitPacket();
|
||||
if(type == PacketType.AgentSit) return new AgentSitPacket();
|
||||
if(type == PacketType.RequestImage) return new RequestImagePacket();
|
||||
if(type == PacketType.ImageData) return new ImageDataPacket();
|
||||
if(type == PacketType.ImagePacket) return new ImagePacketPacket();
|
||||
if(type == PacketType.LayerData) return new LayerDataPacket();
|
||||
if(type == PacketType.ObjectUpdate) return new ObjectUpdatePacket();
|
||||
if(type == PacketType.ObjectUpdateCompressed) return new ObjectUpdateCompressedPacket();
|
||||
if(type == PacketType.ObjectUpdateCached) return new ObjectUpdateCachedPacket();
|
||||
if(type == PacketType.ImprovedTerseObjectUpdate) return new ImprovedTerseObjectUpdatePacket();
|
||||
if(type == PacketType.KillObject) return new KillObjectPacket();
|
||||
if(type == PacketType.TransferPacket) return new TransferPacketPacket();
|
||||
if(type == PacketType.SendXferPacket) return new SendXferPacketPacket();
|
||||
if(type == PacketType.ConfirmXferPacket) return new ConfirmXferPacketPacket();
|
||||
if(type == PacketType.AvatarAnimation) return new AvatarAnimationPacket();
|
||||
if(type == PacketType.AvatarSitResponse) return new AvatarSitResponsePacket();
|
||||
if(type == PacketType.CameraConstraint) return new CameraConstraintPacket();
|
||||
if(type == PacketType.ParcelProperties) return new ParcelPropertiesPacket();
|
||||
if(type == PacketType.ChildAgentUpdate) return new ChildAgentUpdatePacket();
|
||||
if(type == PacketType.ChildAgentAlive) return new ChildAgentAlivePacket();
|
||||
if(type == PacketType.ChildAgentPositionUpdate) return new ChildAgentPositionUpdatePacket();
|
||||
if(type == PacketType.SoundTrigger) return new SoundTriggerPacket();
|
||||
if(type == PacketType.ObjectAdd) return new ObjectAddPacket();
|
||||
if(type == PacketType.MultipleObjectUpdate) return new MultipleObjectUpdatePacket();
|
||||
if(type == PacketType.RequestMultipleObjects) return new RequestMultipleObjectsPacket();
|
||||
if(type == PacketType.ObjectPosition) return new ObjectPositionPacket();
|
||||
if(type == PacketType.RequestObjectPropertiesFamily) return new RequestObjectPropertiesFamilyPacket();
|
||||
if(type == PacketType.CoarseLocationUpdate) return new CoarseLocationUpdatePacket();
|
||||
if(type == PacketType.CrossedRegion) return new CrossedRegionPacket();
|
||||
if(type == PacketType.ConfirmEnableSimulator) return new ConfirmEnableSimulatorPacket();
|
||||
if(type == PacketType.ObjectProperties) return new ObjectPropertiesPacket();
|
||||
if(type == PacketType.ObjectPropertiesFamily) return new ObjectPropertiesFamilyPacket();
|
||||
if(type == PacketType.ParcelPropertiesRequest) return new ParcelPropertiesRequestPacket();
|
||||
if(type == PacketType.AttachedSound) return new AttachedSoundPacket();
|
||||
if(type == PacketType.AttachedSoundGainChange) return new AttachedSoundGainChangePacket();
|
||||
if(type == PacketType.PreloadSound) return new PreloadSoundPacket();
|
||||
if(type == PacketType.ViewerEffect) return new ViewerEffectPacket();
|
||||
if(type == PacketType.TestMessage) return new TestMessagePacket();
|
||||
if(type == PacketType.UseCircuitCode) return new UseCircuitCodePacket();
|
||||
if(type == PacketType.TelehubInfo) return new TelehubInfoPacket();
|
||||
if(type == PacketType.EconomyDataRequest) return new EconomyDataRequestPacket();
|
||||
if(type == PacketType.EconomyData) return new EconomyDataPacket();
|
||||
if(type == PacketType.AvatarPickerRequest) return new AvatarPickerRequestPacket();
|
||||
if(type == PacketType.AvatarPickerReply) return new AvatarPickerReplyPacket();
|
||||
if(type == PacketType.PlacesQuery) return new PlacesQueryPacket();
|
||||
if(type == PacketType.PlacesReply) return new PlacesReplyPacket();
|
||||
if(type == PacketType.DirFindQuery) return new DirFindQueryPacket();
|
||||
if(type == PacketType.DirPlacesQuery) return new DirPlacesQueryPacket();
|
||||
if(type == PacketType.DirPlacesReply) return new DirPlacesReplyPacket();
|
||||
if(type == PacketType.DirPeopleReply) return new DirPeopleReplyPacket();
|
||||
if(type == PacketType.DirEventsReply) return new DirEventsReplyPacket();
|
||||
if(type == PacketType.DirGroupsReply) return new DirGroupsReplyPacket();
|
||||
if(type == PacketType.DirClassifiedQuery) return new DirClassifiedQueryPacket();
|
||||
if(type == PacketType.DirClassifiedReply) return new DirClassifiedReplyPacket();
|
||||
if(type == PacketType.AvatarClassifiedReply) return new AvatarClassifiedReplyPacket();
|
||||
if(type == PacketType.ClassifiedInfoRequest) return new ClassifiedInfoRequestPacket();
|
||||
if(type == PacketType.ClassifiedInfoReply) return new ClassifiedInfoReplyPacket();
|
||||
if(type == PacketType.ClassifiedInfoUpdate) return new ClassifiedInfoUpdatePacket();
|
||||
if(type == PacketType.ClassifiedDelete) return new ClassifiedDeletePacket();
|
||||
if(type == PacketType.ClassifiedGodDelete) return new ClassifiedGodDeletePacket();
|
||||
if(type == PacketType.DirLandQuery) return new DirLandQueryPacket();
|
||||
if(type == PacketType.DirLandReply) return new DirLandReplyPacket();
|
||||
if(type == PacketType.DirPopularQuery) return new DirPopularQueryPacket();
|
||||
if(type == PacketType.DirPopularReply) return new DirPopularReplyPacket();
|
||||
if(type == PacketType.ParcelInfoRequest) return new ParcelInfoRequestPacket();
|
||||
if(type == PacketType.ParcelInfoReply) return new ParcelInfoReplyPacket();
|
||||
if(type == PacketType.ParcelObjectOwnersRequest) return new ParcelObjectOwnersRequestPacket();
|
||||
if(type == PacketType.ParcelObjectOwnersReply) return new ParcelObjectOwnersReplyPacket();
|
||||
if(type == PacketType.GroupNoticesListRequest) return new GroupNoticesListRequestPacket();
|
||||
if(type == PacketType.GroupNoticesListReply) return new GroupNoticesListReplyPacket();
|
||||
if(type == PacketType.GroupNoticeRequest) return new GroupNoticeRequestPacket();
|
||||
if(type == PacketType.TeleportRequest) return new TeleportRequestPacket();
|
||||
if(type == PacketType.TeleportLocationRequest) return new TeleportLocationRequestPacket();
|
||||
if(type == PacketType.TeleportLocal) return new TeleportLocalPacket();
|
||||
if(type == PacketType.TeleportLandmarkRequest) return new TeleportLandmarkRequestPacket();
|
||||
if(type == PacketType.TeleportProgress) return new TeleportProgressPacket();
|
||||
if(type == PacketType.TeleportFinish) return new TeleportFinishPacket();
|
||||
if(type == PacketType.StartLure) return new StartLurePacket();
|
||||
if(type == PacketType.TeleportLureRequest) return new TeleportLureRequestPacket();
|
||||
if(type == PacketType.TeleportCancel) return new TeleportCancelPacket();
|
||||
if(type == PacketType.TeleportStart) return new TeleportStartPacket();
|
||||
if(type == PacketType.TeleportFailed) return new TeleportFailedPacket();
|
||||
if(type == PacketType.Undo) return new UndoPacket();
|
||||
if(type == PacketType.Redo) return new RedoPacket();
|
||||
if(type == PacketType.UndoLand) return new UndoLandPacket();
|
||||
if(type == PacketType.AgentPause) return new AgentPausePacket();
|
||||
if(type == PacketType.AgentResume) return new AgentResumePacket();
|
||||
if(type == PacketType.ChatFromViewer) return new ChatFromViewerPacket();
|
||||
if(type == PacketType.AgentThrottle) return new AgentThrottlePacket();
|
||||
if(type == PacketType.AgentFOV) return new AgentFOVPacket();
|
||||
if(type == PacketType.AgentHeightWidth) return new AgentHeightWidthPacket();
|
||||
if(type == PacketType.AgentSetAppearance) return new AgentSetAppearancePacket();
|
||||
if(type == PacketType.AgentQuitCopy) return new AgentQuitCopyPacket();
|
||||
if(type == PacketType.ImageNotInDatabase) return new ImageNotInDatabasePacket();
|
||||
if(type == PacketType.RebakeAvatarTextures) return new RebakeAvatarTexturesPacket();
|
||||
if(type == PacketType.SetAlwaysRun) return new SetAlwaysRunPacket();
|
||||
if(type == PacketType.ObjectDelete) return new ObjectDeletePacket();
|
||||
if(type == PacketType.ObjectDuplicate) return new ObjectDuplicatePacket();
|
||||
if(type == PacketType.ObjectDuplicateOnRay) return new ObjectDuplicateOnRayPacket();
|
||||
if(type == PacketType.ObjectScale) return new ObjectScalePacket();
|
||||
if(type == PacketType.ObjectRotation) return new ObjectRotationPacket();
|
||||
if(type == PacketType.ObjectFlagUpdate) return new ObjectFlagUpdatePacket();
|
||||
if(type == PacketType.ObjectClickAction) return new ObjectClickActionPacket();
|
||||
if(type == PacketType.ObjectImage) return new ObjectImagePacket();
|
||||
if(type == PacketType.ObjectMaterial) return new ObjectMaterialPacket();
|
||||
if(type == PacketType.ObjectShape) return new ObjectShapePacket();
|
||||
if(type == PacketType.ObjectExtraParams) return new ObjectExtraParamsPacket();
|
||||
if(type == PacketType.ObjectOwner) return new ObjectOwnerPacket();
|
||||
if(type == PacketType.ObjectGroup) return new ObjectGroupPacket();
|
||||
if(type == PacketType.ObjectBuy) return new ObjectBuyPacket();
|
||||
if(type == PacketType.BuyObjectInventory) return new BuyObjectInventoryPacket();
|
||||
if(type == PacketType.DerezContainer) return new DerezContainerPacket();
|
||||
if(type == PacketType.ObjectPermissions) return new ObjectPermissionsPacket();
|
||||
if(type == PacketType.ObjectSaleInfo) return new ObjectSaleInfoPacket();
|
||||
if(type == PacketType.ObjectName) return new ObjectNamePacket();
|
||||
if(type == PacketType.ObjectDescription) return new ObjectDescriptionPacket();
|
||||
if(type == PacketType.ObjectCategory) return new ObjectCategoryPacket();
|
||||
if(type == PacketType.ObjectSelect) return new ObjectSelectPacket();
|
||||
if(type == PacketType.ObjectDeselect) return new ObjectDeselectPacket();
|
||||
if(type == PacketType.ObjectAttach) return new ObjectAttachPacket();
|
||||
if(type == PacketType.ObjectDetach) return new ObjectDetachPacket();
|
||||
if(type == PacketType.ObjectDrop) return new ObjectDropPacket();
|
||||
if(type == PacketType.ObjectLink) return new ObjectLinkPacket();
|
||||
if(type == PacketType.ObjectDelink) return new ObjectDelinkPacket();
|
||||
if(type == PacketType.ObjectGrab) return new ObjectGrabPacket();
|
||||
if(type == PacketType.ObjectGrabUpdate) return new ObjectGrabUpdatePacket();
|
||||
if(type == PacketType.ObjectDeGrab) return new ObjectDeGrabPacket();
|
||||
if(type == PacketType.ObjectSpinStart) return new ObjectSpinStartPacket();
|
||||
if(type == PacketType.ObjectSpinUpdate) return new ObjectSpinUpdatePacket();
|
||||
if(type == PacketType.ObjectSpinStop) return new ObjectSpinStopPacket();
|
||||
if(type == PacketType.ObjectExportSelected) return new ObjectExportSelectedPacket();
|
||||
if(type == PacketType.ModifyLand) return new ModifyLandPacket();
|
||||
if(type == PacketType.VelocityInterpolateOn) return new VelocityInterpolateOnPacket();
|
||||
if(type == PacketType.VelocityInterpolateOff) return new VelocityInterpolateOffPacket();
|
||||
if(type == PacketType.StateSave) return new StateSavePacket();
|
||||
if(type == PacketType.ReportAutosaveCrash) return new ReportAutosaveCrashPacket();
|
||||
if(type == PacketType.SimWideDeletes) return new SimWideDeletesPacket();
|
||||
if(type == PacketType.TrackAgent) return new TrackAgentPacket();
|
||||
if(type == PacketType.ViewerStats) return new ViewerStatsPacket();
|
||||
if(type == PacketType.ScriptAnswerYes) return new ScriptAnswerYesPacket();
|
||||
if(type == PacketType.UserReport) return new UserReportPacket();
|
||||
if(type == PacketType.AlertMessage) return new AlertMessagePacket();
|
||||
if(type == PacketType.AgentAlertMessage) return new AgentAlertMessagePacket();
|
||||
if(type == PacketType.MeanCollisionAlert) return new MeanCollisionAlertPacket();
|
||||
if(type == PacketType.ViewerFrozenMessage) return new ViewerFrozenMessagePacket();
|
||||
if(type == PacketType.HealthMessage) return new HealthMessagePacket();
|
||||
if(type == PacketType.ChatFromSimulator) return new ChatFromSimulatorPacket();
|
||||
if(type == PacketType.SimStats) return new SimStatsPacket();
|
||||
if(type == PacketType.RequestRegionInfo) return new RequestRegionInfoPacket();
|
||||
if(type == PacketType.RegionInfo) return new RegionInfoPacket();
|
||||
if(type == PacketType.GodUpdateRegionInfo) return new GodUpdateRegionInfoPacket();
|
||||
if(type == PacketType.NearestLandingRegionUpdated) return new NearestLandingRegionUpdatedPacket();
|
||||
if(type == PacketType.RegionHandshake) return new RegionHandshakePacket();
|
||||
if(type == PacketType.RegionHandshakeReply) return new RegionHandshakeReplyPacket();
|
||||
if(type == PacketType.SimulatorViewerTimeMessage) return new SimulatorViewerTimeMessagePacket();
|
||||
if(type == PacketType.EnableSimulator) return new EnableSimulatorPacket();
|
||||
if(type == PacketType.DisableSimulator) return new DisableSimulatorPacket();
|
||||
if(type == PacketType.TransferRequest) return new TransferRequestPacket();
|
||||
if(type == PacketType.TransferInfo) return new TransferInfoPacket();
|
||||
if(type == PacketType.TransferAbort) return new TransferAbortPacket();
|
||||
if(type == PacketType.RequestXfer) return new RequestXferPacket();
|
||||
if(type == PacketType.AbortXfer) return new AbortXferPacket();
|
||||
if(type == PacketType.AvatarAppearance) return new AvatarAppearancePacket();
|
||||
if(type == PacketType.SetFollowCamProperties) return new SetFollowCamPropertiesPacket();
|
||||
if(type == PacketType.ClearFollowCamProperties) return new ClearFollowCamPropertiesPacket();
|
||||
if(type == PacketType.RequestPayPrice) return new RequestPayPricePacket();
|
||||
if(type == PacketType.PayPriceReply) return new PayPriceReplyPacket();
|
||||
if(type == PacketType.KickUser) return new KickUserPacket();
|
||||
if(type == PacketType.KickUserAck) return new KickUserAckPacket();
|
||||
if(type == PacketType.GodKickUser) return new GodKickUserPacket();
|
||||
if(type == PacketType.EjectUser) return new EjectUserPacket();
|
||||
if(type == PacketType.FreezeUser) return new FreezeUserPacket();
|
||||
if(type == PacketType.AvatarPropertiesRequest) return new AvatarPropertiesRequestPacket();
|
||||
if(type == PacketType.AvatarPropertiesReply) return new AvatarPropertiesReplyPacket();
|
||||
if(type == PacketType.AvatarInterestsReply) return new AvatarInterestsReplyPacket();
|
||||
if(type == PacketType.AvatarGroupsReply) return new AvatarGroupsReplyPacket();
|
||||
if(type == PacketType.AvatarPropertiesUpdate) return new AvatarPropertiesUpdatePacket();
|
||||
if(type == PacketType.AvatarInterestsUpdate) return new AvatarInterestsUpdatePacket();
|
||||
if(type == PacketType.AvatarNotesReply) return new AvatarNotesReplyPacket();
|
||||
if(type == PacketType.AvatarNotesUpdate) return new AvatarNotesUpdatePacket();
|
||||
if(type == PacketType.AvatarPicksReply) return new AvatarPicksReplyPacket();
|
||||
if(type == PacketType.EventInfoRequest) return new EventInfoRequestPacket();
|
||||
if(type == PacketType.EventInfoReply) return new EventInfoReplyPacket();
|
||||
if(type == PacketType.EventNotificationAddRequest) return new EventNotificationAddRequestPacket();
|
||||
if(type == PacketType.EventNotificationRemoveRequest) return new EventNotificationRemoveRequestPacket();
|
||||
if(type == PacketType.EventGodDelete) return new EventGodDeletePacket();
|
||||
if(type == PacketType.PickInfoReply) return new PickInfoReplyPacket();
|
||||
if(type == PacketType.PickInfoUpdate) return new PickInfoUpdatePacket();
|
||||
if(type == PacketType.PickDelete) return new PickDeletePacket();
|
||||
if(type == PacketType.PickGodDelete) return new PickGodDeletePacket();
|
||||
if(type == PacketType.ScriptQuestion) return new ScriptQuestionPacket();
|
||||
if(type == PacketType.ScriptControlChange) return new ScriptControlChangePacket();
|
||||
if(type == PacketType.ScriptDialog) return new ScriptDialogPacket();
|
||||
if(type == PacketType.ScriptDialogReply) return new ScriptDialogReplyPacket();
|
||||
if(type == PacketType.ForceScriptControlRelease) return new ForceScriptControlReleasePacket();
|
||||
if(type == PacketType.RevokePermissions) return new RevokePermissionsPacket();
|
||||
if(type == PacketType.LoadURL) return new LoadURLPacket();
|
||||
if(type == PacketType.ScriptTeleportRequest) return new ScriptTeleportRequestPacket();
|
||||
if(type == PacketType.ParcelOverlay) return new ParcelOverlayPacket();
|
||||
if(type == PacketType.ParcelPropertiesRequestByID) return new ParcelPropertiesRequestByIDPacket();
|
||||
if(type == PacketType.ParcelPropertiesUpdate) return new ParcelPropertiesUpdatePacket();
|
||||
if(type == PacketType.ParcelReturnObjects) return new ParcelReturnObjectsPacket();
|
||||
if(type == PacketType.ParcelSetOtherCleanTime) return new ParcelSetOtherCleanTimePacket();
|
||||
if(type == PacketType.ParcelDisableObjects) return new ParcelDisableObjectsPacket();
|
||||
if(type == PacketType.ParcelSelectObjects) return new ParcelSelectObjectsPacket();
|
||||
if(type == PacketType.EstateCovenantRequest) return new EstateCovenantRequestPacket();
|
||||
if(type == PacketType.EstateCovenantReply) return new EstateCovenantReplyPacket();
|
||||
if(type == PacketType.ForceObjectSelect) return new ForceObjectSelectPacket();
|
||||
if(type == PacketType.ParcelBuyPass) return new ParcelBuyPassPacket();
|
||||
if(type == PacketType.ParcelDeedToGroup) return new ParcelDeedToGroupPacket();
|
||||
if(type == PacketType.ParcelReclaim) return new ParcelReclaimPacket();
|
||||
if(type == PacketType.ParcelClaim) return new ParcelClaimPacket();
|
||||
if(type == PacketType.ParcelJoin) return new ParcelJoinPacket();
|
||||
if(type == PacketType.ParcelDivide) return new ParcelDividePacket();
|
||||
if(type == PacketType.ParcelRelease) return new ParcelReleasePacket();
|
||||
if(type == PacketType.ParcelBuy) return new ParcelBuyPacket();
|
||||
if(type == PacketType.ParcelGodForceOwner) return new ParcelGodForceOwnerPacket();
|
||||
if(type == PacketType.ParcelAccessListRequest) return new ParcelAccessListRequestPacket();
|
||||
if(type == PacketType.ParcelAccessListReply) return new ParcelAccessListReplyPacket();
|
||||
if(type == PacketType.ParcelAccessListUpdate) return new ParcelAccessListUpdatePacket();
|
||||
if(type == PacketType.ParcelDwellRequest) return new ParcelDwellRequestPacket();
|
||||
if(type == PacketType.ParcelDwellReply) return new ParcelDwellReplyPacket();
|
||||
if(type == PacketType.ParcelGodMarkAsContent) return new ParcelGodMarkAsContentPacket();
|
||||
if(type == PacketType.ViewerStartAuction) return new ViewerStartAuctionPacket();
|
||||
if(type == PacketType.UUIDNameRequest) return new UUIDNameRequestPacket();
|
||||
if(type == PacketType.UUIDNameReply) return new UUIDNameReplyPacket();
|
||||
if(type == PacketType.UUIDGroupNameRequest) return new UUIDGroupNameRequestPacket();
|
||||
if(type == PacketType.UUIDGroupNameReply) return new UUIDGroupNameReplyPacket();
|
||||
if(type == PacketType.ChildAgentDying) return new ChildAgentDyingPacket();
|
||||
if(type == PacketType.ChildAgentUnknown) return new ChildAgentUnknownPacket();
|
||||
if(type == PacketType.GetScriptRunning) return new GetScriptRunningPacket();
|
||||
if(type == PacketType.ScriptRunningReply) return new ScriptRunningReplyPacket();
|
||||
if(type == PacketType.SetScriptRunning) return new SetScriptRunningPacket();
|
||||
if(type == PacketType.ScriptReset) return new ScriptResetPacket();
|
||||
if(type == PacketType.ScriptSensorRequest) return new ScriptSensorRequestPacket();
|
||||
if(type == PacketType.ScriptSensorReply) return new ScriptSensorReplyPacket();
|
||||
if(type == PacketType.CompleteAgentMovement) return new CompleteAgentMovementPacket();
|
||||
if(type == PacketType.AgentMovementComplete) return new AgentMovementCompletePacket();
|
||||
if(type == PacketType.LogoutRequest) return new LogoutRequestPacket();
|
||||
if(type == PacketType.LogoutReply) return new LogoutReplyPacket();
|
||||
if(type == PacketType.ImprovedInstantMessage) return new ImprovedInstantMessagePacket();
|
||||
if(type == PacketType.RetrieveInstantMessages) return new RetrieveInstantMessagesPacket();
|
||||
if(type == PacketType.FindAgent) return new FindAgentPacket();
|
||||
if(type == PacketType.RequestGodlikePowers) return new RequestGodlikePowersPacket();
|
||||
if(type == PacketType.GrantGodlikePowers) return new GrantGodlikePowersPacket();
|
||||
if(type == PacketType.GodlikeMessage) return new GodlikeMessagePacket();
|
||||
if(type == PacketType.EstateOwnerMessage) return new EstateOwnerMessagePacket();
|
||||
if(type == PacketType.GenericMessage) return new GenericMessagePacket();
|
||||
if(type == PacketType.MuteListRequest) return new MuteListRequestPacket();
|
||||
if(type == PacketType.UpdateMuteListEntry) return new UpdateMuteListEntryPacket();
|
||||
if(type == PacketType.RemoveMuteListEntry) return new RemoveMuteListEntryPacket();
|
||||
if(type == PacketType.CopyInventoryFromNotecard) return new CopyInventoryFromNotecardPacket();
|
||||
if(type == PacketType.UpdateInventoryItem) return new UpdateInventoryItemPacket();
|
||||
if(type == PacketType.UpdateCreateInventoryItem) return new UpdateCreateInventoryItemPacket();
|
||||
if(type == PacketType.MoveInventoryItem) return new MoveInventoryItemPacket();
|
||||
if(type == PacketType.CopyInventoryItem) return new CopyInventoryItemPacket();
|
||||
if(type == PacketType.RemoveInventoryItem) return new RemoveInventoryItemPacket();
|
||||
if(type == PacketType.ChangeInventoryItemFlags) return new ChangeInventoryItemFlagsPacket();
|
||||
if(type == PacketType.SaveAssetIntoInventory) return new SaveAssetIntoInventoryPacket();
|
||||
if(type == PacketType.CreateInventoryFolder) return new CreateInventoryFolderPacket();
|
||||
if(type == PacketType.UpdateInventoryFolder) return new UpdateInventoryFolderPacket();
|
||||
if(type == PacketType.MoveInventoryFolder) return new MoveInventoryFolderPacket();
|
||||
if(type == PacketType.RemoveInventoryFolder) return new RemoveInventoryFolderPacket();
|
||||
if(type == PacketType.FetchInventoryDescendents) return new FetchInventoryDescendentsPacket();
|
||||
if(type == PacketType.InventoryDescendents) return new InventoryDescendentsPacket();
|
||||
if(type == PacketType.FetchInventory) return new FetchInventoryPacket();
|
||||
if(type == PacketType.FetchInventoryReply) return new FetchInventoryReplyPacket();
|
||||
if(type == PacketType.BulkUpdateInventory) return new BulkUpdateInventoryPacket();
|
||||
if(type == PacketType.RequestInventoryAsset) return new RequestInventoryAssetPacket();
|
||||
if(type == PacketType.InventoryAssetResponse) return new InventoryAssetResponsePacket();
|
||||
if(type == PacketType.RemoveInventoryObjects) return new RemoveInventoryObjectsPacket();
|
||||
if(type == PacketType.PurgeInventoryDescendents) return new PurgeInventoryDescendentsPacket();
|
||||
if(type == PacketType.UpdateTaskInventory) return new UpdateTaskInventoryPacket();
|
||||
if(type == PacketType.RemoveTaskInventory) return new RemoveTaskInventoryPacket();
|
||||
if(type == PacketType.MoveTaskInventory) return new MoveTaskInventoryPacket();
|
||||
if(type == PacketType.RequestTaskInventory) return new RequestTaskInventoryPacket();
|
||||
if(type == PacketType.ReplyTaskInventory) return new ReplyTaskInventoryPacket();
|
||||
if(type == PacketType.DeRezObject) return new DeRezObjectPacket();
|
||||
if(type == PacketType.DeRezAck) return new DeRezAckPacket();
|
||||
if(type == PacketType.RezObject) return new RezObjectPacket();
|
||||
if(type == PacketType.RezObjectFromNotecard) return new RezObjectFromNotecardPacket();
|
||||
if(type == PacketType.AcceptFriendship) return new AcceptFriendshipPacket();
|
||||
if(type == PacketType.DeclineFriendship) return new DeclineFriendshipPacket();
|
||||
if(type == PacketType.FormFriendship) return new FormFriendshipPacket();
|
||||
if(type == PacketType.TerminateFriendship) return new TerminateFriendshipPacket();
|
||||
if(type == PacketType.OfferCallingCard) return new OfferCallingCardPacket();
|
||||
if(type == PacketType.AcceptCallingCard) return new AcceptCallingCardPacket();
|
||||
if(type == PacketType.DeclineCallingCard) return new DeclineCallingCardPacket();
|
||||
if(type == PacketType.RezScript) return new RezScriptPacket();
|
||||
if(type == PacketType.CreateInventoryItem) return new CreateInventoryItemPacket();
|
||||
if(type == PacketType.CreateLandmarkForEvent) return new CreateLandmarkForEventPacket();
|
||||
if(type == PacketType.RegionHandleRequest) return new RegionHandleRequestPacket();
|
||||
if(type == PacketType.RegionIDAndHandleReply) return new RegionIDAndHandleReplyPacket();
|
||||
if(type == PacketType.MoneyTransferRequest) return new MoneyTransferRequestPacket();
|
||||
if(type == PacketType.MoneyBalanceRequest) return new MoneyBalanceRequestPacket();
|
||||
if(type == PacketType.MoneyBalanceReply) return new MoneyBalanceReplyPacket();
|
||||
if(type == PacketType.RoutedMoneyBalanceReply) return new RoutedMoneyBalanceReplyPacket();
|
||||
if(type == PacketType.ActivateGestures) return new ActivateGesturesPacket();
|
||||
if(type == PacketType.DeactivateGestures) return new DeactivateGesturesPacket();
|
||||
if(type == PacketType.MuteListUpdate) return new MuteListUpdatePacket();
|
||||
if(type == PacketType.UseCachedMuteList) return new UseCachedMuteListPacket();
|
||||
if(type == PacketType.GrantUserRights) return new GrantUserRightsPacket();
|
||||
if(type == PacketType.ChangeUserRights) return new ChangeUserRightsPacket();
|
||||
if(type == PacketType.OnlineNotification) return new OnlineNotificationPacket();
|
||||
if(type == PacketType.OfflineNotification) return new OfflineNotificationPacket();
|
||||
if(type == PacketType.SetStartLocationRequest) return new SetStartLocationRequestPacket();
|
||||
if(type == PacketType.AssetUploadRequest) return new AssetUploadRequestPacket();
|
||||
if(type == PacketType.AssetUploadComplete) return new AssetUploadCompletePacket();
|
||||
if(type == PacketType.CreateGroupRequest) return new CreateGroupRequestPacket();
|
||||
if(type == PacketType.CreateGroupReply) return new CreateGroupReplyPacket();
|
||||
if(type == PacketType.UpdateGroupInfo) return new UpdateGroupInfoPacket();
|
||||
if(type == PacketType.GroupRoleChanges) return new GroupRoleChangesPacket();
|
||||
if(type == PacketType.JoinGroupRequest) return new JoinGroupRequestPacket();
|
||||
if(type == PacketType.JoinGroupReply) return new JoinGroupReplyPacket();
|
||||
if(type == PacketType.EjectGroupMemberRequest) return new EjectGroupMemberRequestPacket();
|
||||
if(type == PacketType.EjectGroupMemberReply) return new EjectGroupMemberReplyPacket();
|
||||
if(type == PacketType.LeaveGroupRequest) return new LeaveGroupRequestPacket();
|
||||
if(type == PacketType.LeaveGroupReply) return new LeaveGroupReplyPacket();
|
||||
if(type == PacketType.InviteGroupRequest) return new InviteGroupRequestPacket();
|
||||
if(type == PacketType.GroupProfileRequest) return new GroupProfileRequestPacket();
|
||||
if(type == PacketType.GroupProfileReply) return new GroupProfileReplyPacket();
|
||||
if(type == PacketType.GroupAccountSummaryRequest) return new GroupAccountSummaryRequestPacket();
|
||||
if(type == PacketType.GroupAccountSummaryReply) return new GroupAccountSummaryReplyPacket();
|
||||
if(type == PacketType.GroupAccountDetailsRequest) return new GroupAccountDetailsRequestPacket();
|
||||
if(type == PacketType.GroupAccountDetailsReply) return new GroupAccountDetailsReplyPacket();
|
||||
if(type == PacketType.GroupAccountTransactionsRequest) return new GroupAccountTransactionsRequestPacket();
|
||||
if(type == PacketType.GroupAccountTransactionsReply) return new GroupAccountTransactionsReplyPacket();
|
||||
if(type == PacketType.GroupActiveProposalsRequest) return new GroupActiveProposalsRequestPacket();
|
||||
if(type == PacketType.GroupActiveProposalItemReply) return new GroupActiveProposalItemReplyPacket();
|
||||
if(type == PacketType.GroupVoteHistoryRequest) return new GroupVoteHistoryRequestPacket();
|
||||
if(type == PacketType.GroupVoteHistoryItemReply) return new GroupVoteHistoryItemReplyPacket();
|
||||
if(type == PacketType.StartGroupProposal) return new StartGroupProposalPacket();
|
||||
if(type == PacketType.GroupProposalBallot) return new GroupProposalBallotPacket();
|
||||
if(type == PacketType.GroupMembersRequest) return new GroupMembersRequestPacket();
|
||||
if(type == PacketType.GroupMembersReply) return new GroupMembersReplyPacket();
|
||||
if(type == PacketType.ActivateGroup) return new ActivateGroupPacket();
|
||||
if(type == PacketType.SetGroupContribution) return new SetGroupContributionPacket();
|
||||
if(type == PacketType.SetGroupAcceptNotices) return new SetGroupAcceptNoticesPacket();
|
||||
if(type == PacketType.GroupRoleDataRequest) return new GroupRoleDataRequestPacket();
|
||||
if(type == PacketType.GroupRoleDataReply) return new GroupRoleDataReplyPacket();
|
||||
if(type == PacketType.GroupRoleMembersRequest) return new GroupRoleMembersRequestPacket();
|
||||
if(type == PacketType.GroupRoleMembersReply) return new GroupRoleMembersReplyPacket();
|
||||
if(type == PacketType.GroupTitlesRequest) return new GroupTitlesRequestPacket();
|
||||
if(type == PacketType.GroupTitlesReply) return new GroupTitlesReplyPacket();
|
||||
if(type == PacketType.GroupTitleUpdate) return new GroupTitleUpdatePacket();
|
||||
if(type == PacketType.GroupRoleUpdate) return new GroupRoleUpdatePacket();
|
||||
if(type == PacketType.LiveHelpGroupRequest) return new LiveHelpGroupRequestPacket();
|
||||
if(type == PacketType.LiveHelpGroupReply) return new LiveHelpGroupReplyPacket();
|
||||
if(type == PacketType.AgentWearablesRequest) return new AgentWearablesRequestPacket();
|
||||
if(type == PacketType.AgentWearablesUpdate) return new AgentWearablesUpdatePacket();
|
||||
if(type == PacketType.AgentIsNowWearing) return new AgentIsNowWearingPacket();
|
||||
if(type == PacketType.AgentCachedTexture) return new AgentCachedTexturePacket();
|
||||
if(type == PacketType.AgentCachedTextureResponse) return new AgentCachedTextureResponsePacket();
|
||||
if(type == PacketType.AgentDataUpdateRequest) return new AgentDataUpdateRequestPacket();
|
||||
if(type == PacketType.AgentDataUpdate) return new AgentDataUpdatePacket();
|
||||
if(type == PacketType.GroupDataUpdate) return new GroupDataUpdatePacket();
|
||||
if(type == PacketType.AgentGroupDataUpdate) return new AgentGroupDataUpdatePacket();
|
||||
if(type == PacketType.AgentDropGroup) return new AgentDropGroupPacket();
|
||||
if(type == PacketType.CreateTrustedCircuit) return new CreateTrustedCircuitPacket();
|
||||
if(type == PacketType.DenyTrustedCircuit) return new DenyTrustedCircuitPacket();
|
||||
if(type == PacketType.RequestTrustedCircuit) return new RequestTrustedCircuitPacket();
|
||||
if(type == PacketType.RezSingleAttachmentFromInv) return new RezSingleAttachmentFromInvPacket();
|
||||
if(type == PacketType.RezMultipleAttachmentsFromInv) return new RezMultipleAttachmentsFromInvPacket();
|
||||
if(type == PacketType.DetachAttachmentIntoInv) return new DetachAttachmentIntoInvPacket();
|
||||
if(type == PacketType.CreateNewOutfitAttachments) return new CreateNewOutfitAttachmentsPacket();
|
||||
if(type == PacketType.UserInfoRequest) return new UserInfoRequestPacket();
|
||||
if(type == PacketType.UserInfoReply) return new UserInfoReplyPacket();
|
||||
if(type == PacketType.UpdateUserInfo) return new UpdateUserInfoPacket();
|
||||
if(type == PacketType.InitiateDownload) return new InitiateDownloadPacket();
|
||||
if(type == PacketType.SystemMessage) return new SystemMessagePacket();
|
||||
if(type == PacketType.MapLayerRequest) return new MapLayerRequestPacket();
|
||||
if(type == PacketType.MapLayerReply) return new MapLayerReplyPacket();
|
||||
if(type == PacketType.MapBlockRequest) return new MapBlockRequestPacket();
|
||||
if(type == PacketType.MapNameRequest) return new MapNameRequestPacket();
|
||||
if(type == PacketType.MapBlockReply) return new MapBlockReplyPacket();
|
||||
if(type == PacketType.MapItemRequest) return new MapItemRequestPacket();
|
||||
if(type == PacketType.MapItemReply) return new MapItemReplyPacket();
|
||||
if(type == PacketType.SendPostcard) return new SendPostcardPacket();
|
||||
if(type == PacketType.ParcelMediaCommandMessage) return new ParcelMediaCommandMessagePacket();
|
||||
if(type == PacketType.ParcelMediaUpdate) return new ParcelMediaUpdatePacket();
|
||||
if(type == PacketType.LandStatRequest) return new LandStatRequestPacket();
|
||||
if(type == PacketType.LandStatReply) return new LandStatReplyPacket();
|
||||
if(type == PacketType.Error) return new ErrorPacket();
|
||||
if(type == PacketType.ObjectIncludeInSearch) return new ObjectIncludeInSearchPacket();
|
||||
if(type == PacketType.PacketAck) return new PacketAckPacket();
|
||||
if(type == PacketType.OpenCircuit) return new OpenCircuitPacket();
|
||||
if(type == PacketType.CloseCircuit) return new CloseCircuitPacket();
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
public static Packet BuildPacket(byte[] packetBuffer, ref int packetEnd, byte[] zeroBuffer)
|
||||
{
|
||||
byte[] bytes; ushort id; PacketFrequency freq;
|
||||
|
||||
@@ -75,13 +75,13 @@ namespace mapgenerator
|
||||
writer.WriteLine(" public byte[] " + field.Name + Environment.NewLine + " {");
|
||||
writer.WriteLine(" get { return _" + field.Name.ToLower() + "; }");
|
||||
writer.WriteLine(" set" + Environment.NewLine + " {");
|
||||
writer.WriteLine(" if (value == null) { _" +
|
||||
writer.WriteLine(" if (value == null) { _" +
|
||||
field.Name.ToLower() + " = null; return; }");
|
||||
writer.WriteLine(" if (value.Length > " +
|
||||
((field.Count == 1) ? "255" : "1100") + ") { throw new OverflowException(" +
|
||||
writer.WriteLine(" if (value.Length > " +
|
||||
((field.Count == 1) ? "255" : "1100") + ") { throw new OverflowException(" +
|
||||
"\"Value exceeds " + ((field.Count == 1) ? "255" : "1100") + " characters\"); }");
|
||||
writer.WriteLine(" else { _" + field.Name.ToLower() +
|
||||
" = new byte[value.Length]; Buffer.BlockCopy(value, 0, _" +
|
||||
" = new byte[value.Length]; Buffer.BlockCopy(value, 0, _" +
|
||||
field.Name.ToLower() + ", 0, value.Length); }");
|
||||
writer.WriteLine(" }" + Environment.NewLine + " }");
|
||||
}
|
||||
@@ -110,7 +110,7 @@ namespace mapgenerator
|
||||
break;
|
||||
case FieldType.IPADDR:
|
||||
case FieldType.U32:
|
||||
writer.WriteLine(" " + field.Name +
|
||||
writer.WriteLine(" " + field.Name +
|
||||
" = (uint)(bytes[i++] + (bytes[i++] << 8) + (bytes[i++] << 16) + (bytes[i++] << 24));");
|
||||
break;
|
||||
case FieldType.IPPORT:
|
||||
@@ -119,7 +119,7 @@ namespace mapgenerator
|
||||
" = (ushort)((bytes[i++] << 8) + bytes[i++]);");
|
||||
break;
|
||||
case FieldType.U16:
|
||||
writer.WriteLine(" " + field.Name +
|
||||
writer.WriteLine(" " + field.Name +
|
||||
" = (ushort)(bytes[i++] + (bytes[i++] << 8));");
|
||||
break;
|
||||
case FieldType.LLQuaternion:
|
||||
@@ -195,7 +195,7 @@ namespace mapgenerator
|
||||
writer.WriteLine("Utils.DoubleToBytes(" + field.Name + ", bytes, i); i += 8;");
|
||||
break;
|
||||
case FieldType.Fixed:
|
||||
writer.WriteLine("Buffer.BlockCopy(" + field.Name + ", 0, bytes, i, " + field.Count + ");" +
|
||||
writer.WriteLine("Buffer.BlockCopy(" + field.Name + ", 0, bytes, i, " + field.Count + ");" +
|
||||
"i += " + field.Count + ";");
|
||||
break;
|
||||
case FieldType.IPPORT:
|
||||
@@ -247,10 +247,10 @@ namespace mapgenerator
|
||||
else
|
||||
{
|
||||
writer.WriteLine("bytes[i++] = (byte)(" + field.Name + ".Length % 256);");
|
||||
writer.WriteLine(" bytes[i++] = (byte)((" +
|
||||
writer.WriteLine(" bytes[i++] = (byte)((" +
|
||||
field.Name + ".Length >> 8) % 256);");
|
||||
}
|
||||
writer.WriteLine(" Buffer.BlockCopy(" + field.Name + ", 0, bytes, i, " +
|
||||
writer.WriteLine(" Buffer.BlockCopy(" + field.Name + ", 0, bytes, i, " +
|
||||
field.Name + ".Length); " + "i += " + field.Name + ".Length;");
|
||||
break;
|
||||
default:
|
||||
@@ -261,7 +261,7 @@ namespace mapgenerator
|
||||
|
||||
static int GetFieldLength(TextWriter writer, MapField field)
|
||||
{
|
||||
switch(field.Type)
|
||||
switch (field.Type)
|
||||
{
|
||||
case FieldType.BOOL:
|
||||
case FieldType.U8:
|
||||
@@ -315,7 +315,7 @@ namespace mapgenerator
|
||||
writer.WriteLine("");
|
||||
//writer.WriteLine(" /// <summary>Length of this block serialized in bytes</summary>");
|
||||
writer.WriteLine(" public override int Length" + Environment.NewLine +
|
||||
" {" + Environment.NewLine +
|
||||
" {" + Environment.NewLine +
|
||||
" get" + Environment.NewLine +
|
||||
" {");
|
||||
int length = 0;
|
||||
@@ -354,13 +354,13 @@ namespace mapgenerator
|
||||
|
||||
// Constructor for building the class from bytes
|
||||
//writer.WriteLine(" /// <summary>Constructor for building the block from a byte array</summary>");
|
||||
writer.WriteLine(" public " + block.Name + "Block(byte[] bytes, ref int i)" + Environment.NewLine +
|
||||
" {" + Environment.NewLine +
|
||||
" FromBytes(bytes, ref i);" + Environment.NewLine +
|
||||
writer.WriteLine(" public " + block.Name + "Block(byte[] bytes, ref int i)" + Environment.NewLine +
|
||||
" {" + Environment.NewLine +
|
||||
" FromBytes(bytes, ref i);" + Environment.NewLine +
|
||||
" }" + Environment.NewLine);
|
||||
|
||||
// Initiates instance variables from a byte message
|
||||
writer.WriteLine(" public override void FromBytes(byte[] bytes, ref int i)" + Environment.NewLine +
|
||||
writer.WriteLine(" public override void FromBytes(byte[] bytes, ref int i)" + Environment.NewLine +
|
||||
" {");
|
||||
|
||||
// Declare a length variable if we need it for variable fields in this constructor
|
||||
@@ -374,15 +374,15 @@ namespace mapgenerator
|
||||
WriteFieldFromBytes(writer, field);
|
||||
}
|
||||
|
||||
writer.WriteLine(" }" + Environment.NewLine +
|
||||
writer.WriteLine(" }" + Environment.NewLine +
|
||||
" catch (Exception)" + Environment.NewLine +
|
||||
" {" + Environment.NewLine +
|
||||
" {" + Environment.NewLine +
|
||||
" throw new MalformedDataException();" + Environment.NewLine +
|
||||
" }" + Environment.NewLine + " }" + Environment.NewLine);
|
||||
|
||||
// ToBytes() function
|
||||
//writer.WriteLine(" /// <summary>Serialize this block to a byte array</summary>");
|
||||
writer.WriteLine(" public override void ToBytes(byte[] bytes, ref int i)" + Environment.NewLine +
|
||||
writer.WriteLine(" public override void ToBytes(byte[] bytes, ref int i)" + Environment.NewLine +
|
||||
" {");
|
||||
|
||||
foreach (MapField field in block.Fields)
|
||||
@@ -438,7 +438,7 @@ namespace mapgenerator
|
||||
|
||||
// PacketType member
|
||||
//writer.WriteLine(" /// <summary>Will return PacketType." + packet.Name+ "</summary>");
|
||||
writer.WriteLine(" public override PacketType Type { get { return PacketType." +
|
||||
writer.WriteLine(" public override PacketType Type { get { return PacketType." +
|
||||
packet.Name + "; } }");
|
||||
|
||||
// Block members
|
||||
@@ -534,7 +534,7 @@ namespace mapgenerator
|
||||
else
|
||||
{
|
||||
// Multiple count block
|
||||
writer.WriteLine(" if(" + sanitizedName + ".Length < " + block.Count+") {");
|
||||
writer.WriteLine(" if(" + sanitizedName + ".Length < " + block.Count + ") {");
|
||||
writer.WriteLine(" " + sanitizedName + " = new " + block.Name + "Block[" + block.Count + "];");
|
||||
writer.WriteLine(" for(int j = 0; j < " + block.Count + "; j++) " + sanitizedName + "[j] = new " + block.Name + "Block();");
|
||||
writer.WriteLine(" }");
|
||||
@@ -593,7 +593,7 @@ namespace mapgenerator
|
||||
else
|
||||
{
|
||||
// Multiple count block
|
||||
writer.WriteLine(" if(" + sanitizedName + ".Length < " + block.Count+") {");
|
||||
writer.WriteLine(" if(" + sanitizedName + ".Length < " + block.Count + ") {");
|
||||
writer.WriteLine(" " + sanitizedName + " = new " + block.Name + "Block[" + block.Count + "];");
|
||||
writer.WriteLine(" for(int j = 0; j < " + block.Count + "; j++) " + sanitizedName + "[j] = new " + block.Name + "Block();");
|
||||
writer.WriteLine(" }");
|
||||
@@ -687,9 +687,9 @@ namespace mapgenerator
|
||||
if (block.Count == -1)
|
||||
{
|
||||
// Variable count block
|
||||
writer.WriteLine(" for (int j = 0; j < " +
|
||||
writer.WriteLine(" for (int j = 0; j < " +
|
||||
sanitizedName + ".Length; j++)" + Environment.NewLine + " {");
|
||||
writer.WriteLine(" output += " + sanitizedName +
|
||||
writer.WriteLine(" output += " + sanitizedName +
|
||||
"[j].ToString() + Environment.NewLine;" + Environment.NewLine + " }");
|
||||
}
|
||||
else if (block.Count == 1)
|
||||
@@ -699,9 +699,9 @@ namespace mapgenerator
|
||||
else
|
||||
{
|
||||
// Multiple count block
|
||||
writer.WriteLine(" for (int j = 0; j < " +
|
||||
writer.WriteLine(" for (int j = 0; j < " +
|
||||
block.Count + "; j++)" + Environment.NewLine + " {");
|
||||
writer.WriteLine(" output += " + sanitizedName +
|
||||
writer.WriteLine(" output += " + sanitizedName +
|
||||
"[j].ToString() + Environment.NewLine;" + Environment.NewLine + " }");
|
||||
}
|
||||
}
|
||||
@@ -730,9 +730,9 @@ namespace mapgenerator
|
||||
protocol = new ProtocolManager(args[0]);
|
||||
|
||||
// Build a list of unused packets
|
||||
using (StreamReader unusedReader = new StreamReader(args[2]))
|
||||
using (StreamReader unusedReader = new StreamReader(args[2]))
|
||||
{
|
||||
while (unusedReader.Peek() >= 0)
|
||||
while (unusedReader.Peek() >= 0)
|
||||
{
|
||||
unused.Add(unusedReader.ReadLine().Trim());
|
||||
}
|
||||
@@ -780,7 +780,7 @@ namespace mapgenerator
|
||||
" Default,");
|
||||
foreach (MapPacket packet in protocol.LowMaps)
|
||||
if (packet != null)
|
||||
writer.WriteLine(" " + packet.Name + " = " + (0x10000 | packet.ID) + ",");
|
||||
writer.WriteLine(" " + packet.Name + " = " + (0x10000 | packet.ID) + ",");
|
||||
foreach (MapPacket packet in protocol.MediumMaps)
|
||||
if (packet != null)
|
||||
writer.WriteLine(" " + packet.Name + " = " + (0x20000 | packet.ID) + ",");
|
||||
@@ -791,10 +791,10 @@ namespace mapgenerator
|
||||
|
||||
// Write the base Packet class
|
||||
writer.WriteLine(
|
||||
" public abstract partial class Packet" + Environment.NewLine + " {" + Environment.NewLine +
|
||||
" public abstract partial class Packet" + Environment.NewLine + " {" + Environment.NewLine +
|
||||
" public abstract Header Header { get; set; }" + Environment.NewLine +
|
||||
" public abstract PacketType Type { get; }" + Environment.NewLine +
|
||||
" public abstract void FromBytes(byte[] bytes, ref int i, ref int packetEnd, byte[] zeroBuffer);" + Environment.NewLine +
|
||||
" public abstract void FromBytes(byte[] bytes, ref int i, ref int packetEnd, byte[] zeroBuffer);" + Environment.NewLine +
|
||||
" public abstract void FromBytes(Header header, byte[] bytes, ref int i, ref int packetEnd, byte[] zeroBuffer);" + Environment.NewLine +
|
||||
" public abstract byte[] ToBytes();"
|
||||
);
|
||||
@@ -804,22 +804,22 @@ namespace mapgenerator
|
||||
writer.WriteLine(
|
||||
" public static PacketType GetType(ushort id, PacketFrequency frequency)" + Environment.NewLine +
|
||||
" {" + Environment.NewLine +
|
||||
" switch (frequency)" + Environment.NewLine +
|
||||
" {" + Environment.NewLine +
|
||||
" switch (frequency)" + Environment.NewLine +
|
||||
" {" + Environment.NewLine +
|
||||
" case PacketFrequency.Low:" + Environment.NewLine +
|
||||
" switch (id)" + Environment.NewLine +
|
||||
" switch (id)" + Environment.NewLine +
|
||||
" {");
|
||||
foreach (MapPacket packet in protocol.LowMaps)
|
||||
if (packet != null)
|
||||
writer.WriteLine(" case " + packet.ID + ": return PacketType." + packet.Name + ";");
|
||||
writer.WriteLine(" }" + Environment.NewLine +
|
||||
writer.WriteLine(" }" + Environment.NewLine +
|
||||
" break;" + Environment.NewLine +
|
||||
" case PacketFrequency.Medium:" + Environment.NewLine +
|
||||
" switch (id)" + Environment.NewLine + " {");
|
||||
foreach (MapPacket packet in protocol.MediumMaps)
|
||||
if (packet != null)
|
||||
writer.WriteLine(" case " + packet.ID + ": return PacketType." + packet.Name + ";");
|
||||
writer.WriteLine(" }" + Environment.NewLine +
|
||||
writer.WriteLine(" }" + Environment.NewLine +
|
||||
" break;" + Environment.NewLine +
|
||||
" case PacketFrequency.High:" + Environment.NewLine +
|
||||
" switch (id)" + Environment.NewLine + " {");
|
||||
@@ -830,11 +830,26 @@ namespace mapgenerator
|
||||
" break;" + Environment.NewLine + " }" + Environment.NewLine + Environment.NewLine +
|
||||
" return PacketType.Default;" + Environment.NewLine + " }" + Environment.NewLine);
|
||||
|
||||
// Write the Packet.BuildPacket(PacketType) function
|
||||
writer.WriteLine(" public static Packet BuildPacket(PacketType type)");
|
||||
writer.WriteLine(" {");
|
||||
foreach (MapPacket packet in protocol.HighMaps)
|
||||
if (packet != null)
|
||||
writer.WriteLine(" if(type == PacketType." + packet.Name + ") return new " + packet.Name + "Packet();");
|
||||
foreach (MapPacket packet in protocol.MediumMaps)
|
||||
if (packet != null)
|
||||
writer.WriteLine(" if(type == PacketType." + packet.Name + ") return new " + packet.Name + "Packet();");
|
||||
foreach (MapPacket packet in protocol.LowMaps)
|
||||
if (packet != null)
|
||||
writer.WriteLine(" if(type == PacketType." + packet.Name + ") return new " + packet.Name + "Packet();");
|
||||
writer.WriteLine(" return null;" + Environment.NewLine);
|
||||
writer.WriteLine(" }" + Environment.NewLine);
|
||||
|
||||
// Write the Packet.BuildPacket() function
|
||||
writer.WriteLine(
|
||||
" public static Packet BuildPacket(byte[] packetBuffer, ref int packetEnd, byte[] zeroBuffer)" + Environment.NewLine +
|
||||
" {" + Environment.NewLine +
|
||||
" byte[] bytes; ushort id; PacketFrequency freq;" + Environment.NewLine +
|
||||
" byte[] bytes; ushort id; PacketFrequency freq;" + Environment.NewLine +
|
||||
" int i = 0;" + Environment.NewLine +
|
||||
" Header header = Header.BuildHeader(packetBuffer, ref i, ref packetEnd);" + Environment.NewLine +
|
||||
" if (header.Zerocoded)" + Environment.NewLine +
|
||||
@@ -856,7 +871,7 @@ namespace mapgenerator
|
||||
foreach (MapPacket packet in protocol.LowMaps)
|
||||
if (packet != null)
|
||||
writer.WriteLine(" case " + packet.ID + ": return new " + packet.Name + "Packet(header, bytes, ref i);");
|
||||
writer.WriteLine(" }" + Environment.NewLine + " }" + Environment.NewLine +
|
||||
writer.WriteLine(" }" + Environment.NewLine + " }" + Environment.NewLine +
|
||||
" else" + Environment.NewLine +
|
||||
" {" + Environment.NewLine + " id = (ushort)bytes[7]; freq = PacketFrequency.Medium;" + Environment.NewLine +
|
||||
" switch (id)" + Environment.NewLine + " {");
|
||||
|
||||
Reference in New Issue
Block a user