├── LICENSE
├── docs
├── P2P Network.pptx
└── Rollback Design.pptx
├── src
├── Pixel3D
│ ├── Data2D.cs
│ ├── Sprite.cs
│ ├── Heightmap.cs
│ ├── ColorGradient.cs
│ ├── HeightmapView.cs
│ ├── ShadowReceiver.cs
│ ├── VoxelRenderer.cs
│ ├── CombinedHeightmap.cs
│ ├── CubeCornerColors.cs
│ ├── Animations
│ │ ├── Asserts.cs
│ │ ├── Animation.cs
│ │ ├── AnimationSet.cs
│ │ ├── AnimationFrame.cs
│ │ ├── AnimationPlayer.cs
│ │ ├── ICustomMaskDataReader.cs
│ │ ├── FrontBack.cs
│ │ ├── Serialization
│ │ │ ├── TextureData.cs
│ │ │ ├── ITextureLoadHelper.cs
│ │ │ ├── ImageKey.cs
│ │ │ └── SimpleTextureLoadHelper.cs
│ │ ├── ShadowLayer.cs
│ │ ├── DepthSlice.cs
│ │ └── OutgoingAttachmentView.cs
│ ├── IEditorNameProvider.cs
│ ├── Physics
│ │ ├── WorldPhysics.cs
│ │ └── CharacterPhysics.cs
│ ├── Sorting
│ │ └── DrawOrdering.cs
│ ├── Extensions
│ │ ├── PointExtensions.cs
│ │ ├── ColorDataExtensions.cs
│ │ ├── RectangleExtensions.cs
│ │ ├── WorldSpriteExtensions.cs
│ │ ├── DebugRenderingExtensions.cs
│ │ └── PositionExtensions.cs
│ ├── FrameworkExtensions
│ │ ├── ListExtensions.cs
│ │ └── RandomExtensions.cs
│ ├── Serialization
│ │ └── SerializationExtensions.cs
│ ├── IDrawObject.cs
│ ├── ISmoothProvider.cs
│ ├── HeightmapOpExtensions.cs
│ ├── DrawableFrame.cs
│ ├── FunctionalTweening
│ │ └── FloatMapXNAExtensions.cs
│ ├── IHasDrawableFrame.cs
│ ├── AnimationSetExtensions.cs
│ ├── HeightmapOp.cs
│ ├── HeightmapInstructionExtensions.cs
│ └── PanCamera.cs
├── Pixel3D.Audio
│ ├── Cue.cs
│ ├── Sound.cs
│ ├── AudioMath.cs
│ ├── ListExtensions.cs
│ ├── CueDeserializeContext.cs
│ ├── CueSerializeContext.cs
│ ├── BinaryReadWriteExtensions.cs
│ ├── GetMaxPlayers.cs
│ ├── AudioRectangle.cs
│ ├── IsAudioDeviceAvailable.cs
│ ├── GetSingle.cs
│ ├── CreateEmptyStreamingAudio.cs
│ ├── GetBoolean.cs
│ ├── GetString.cs
│ ├── ReportMissingCue.cs
│ ├── WorldToAudio.cs
│ ├── GetTimeSpan.cs
│ ├── CreateSoundEffectFromFile.cs
│ ├── ReportExpectedCue.cs
│ ├── SetBoolean.cs
│ ├── SetSingle.cs
│ ├── SetString.cs
│ ├── GetPlayerAudioPosition.cs
│ ├── SetTimeSpan.cs
│ ├── PauseSoundEffectInstance.cs
│ ├── PlaySoundEffectInstance.cs
│ ├── StopSoundEffectInstance.cs
│ ├── CreateSoundEffectInstance.cs
│ ├── SetFadePitchPan.cs
│ ├── CreateSoundEffectFromStream.cs
│ ├── PlaySoundEffect.cs
│ ├── GetSoundState.cs
│ ├── SetState.cs
│ ├── AudioSystem.cs
│ ├── IAudioDefinitions.cs
│ ├── CreateSoundEffectFromVorbisMemory.cs
│ ├── PitchPan.cs
│ ├── IStreamingAudio.cs
│ ├── IAmbientSoundSource.cs
│ ├── AmbientSound.cs
│ ├── CueType.cs
│ ├── IAudioPlayer.cs
│ ├── FloatMapExtensions.cs
│ ├── AudioDevice.cs
│ ├── PlayCueParameters.cs
│ └── FadePitchPan.cs
├── Pixel3D.Common
│ ├── AABB.cs
│ ├── Input.cs
│ ├── Log.cs
│ ├── TagSet.cs
│ ├── InputState.cs
│ ├── Position.cs
│ ├── TagLookup.cs
│ ├── MemoryLogger.cs
│ ├── TraceLogger.cs
│ ├── LogLineFormatter.cs
│ ├── ILogger.cs
│ ├── ReferenceEqualityComparer.cs
│ ├── BinaryReaderWriterExtensions.cs
│ └── MultiInputState.cs
├── Pixel3D.Levels
│ ├── Level.cs
│ ├── Shim.cs
│ ├── IIgnoreParallax.cs
│ ├── LevelSerializeContextExtensions.cs
│ ├── ISuppressThingWarning.cs
│ ├── ILevelEffect.cs
│ ├── Path.cs
│ ├── ILevelSubBehaviour.cs
│ ├── Teleporter.cs
│ ├── Region.cs
│ └── LevelSubBehaviour.cs
├── Pixel3D.P2P
│ ├── P2PServer.cs
│ ├── StringFilter.cs
│ ├── InputAssignment.cs
│ ├── UnconnectedMessage.cs
│ ├── IPeerManager.cs
│ ├── Pixel3D.P2P.csproj
│ ├── P2PClientMessageExtensions.cs
│ ├── InsufficientDataToContinueException.cs
│ ├── ReadOnlyList.cs
│ ├── NetworkDisconnectionException.cs
│ ├── NetworkDataException.cs
│ ├── P2PServerMessageExtensions.cs
│ ├── ProtocolException.cs
│ ├── ShutdownWaiter.cs
│ ├── P2PServerMessage.cs
│ ├── P2PClientMessage.cs
│ └── GameInfo.cs
├── CRTSim
│ ├── ScreenEffect.cs
│ ├── CRTSim.csproj
│ ├── IPostProcessor.cs
│ ├── IntegerExtensions.cs
│ ├── GraphicsDeviceExtensions.cs
│ └── Palette.cs
├── Pixel3D.Strings
│ ├── ILocalizationProvider.cs
│ └── Pixel3D.Strings.csproj
├── Pixel3D.LoopRecorder
│ ├── ByteArrayExtensions.cs
│ ├── Serialize.cs
│ ├── Deserialize.cs
│ ├── LoopSystem.cs
│ ├── LoopCommand.cs
│ └── NaturalStringComparer.cs
├── Pixel3D.Network.Rollback
│ ├── RollbackDriver.cs
│ ├── PacketTimeTracker.cs
│ ├── SynchronisedClock.cs
│ ├── InputBuffer.cs
│ ├── IAcceptsDesyncDumps.cs
│ ├── RollbackNative.cs
│ ├── InputStateExtensions.cs
│ └── Pixel3D.Network.Rollback.csproj
├── Pixel3D.ActorManagement
│ ├── IGameObjectDefinition.cs
│ ├── IGameState.cs
│ ├── DeferredAttachment.cs
│ ├── SmoothingIdentifiers.cs
│ ├── Symbols.cs
│ ├── AttachmentTracking.cs
│ ├── TagSetExtensions.cs
│ ├── GameState.cs
│ └── Pixel3D.ActorManagement.csproj
├── Pixel3D.Serialization
│ ├── BuiltIn
│ │ ├── SerializeList.cs
│ │ ├── DelegateHandling
│ │ │ ├── InvocationList.cs
│ │ │ ├── DelegateSerialization.cs
│ │ │ ├── DelegateMethodInfo.cs
│ │ │ ├── DelegateTypeInfo.cs
│ │ │ └── InvocationListEnumerator.cs
│ │ ├── SerializeString.cs
│ │ ├── SerializeStack.cs
│ │ ├── SerializeQueue.cs
│ │ └── SerializeStringBuilder.cs
│ ├── ReferenceTypeInitializeMethod.cs
│ ├── Generator
│ │ ├── Direction.cs
│ │ ├── MethodCreatorCreator.cs
│ │ ├── DeserializeDispatchDelegate.cs
│ │ ├── SerializeDispatchDelegate.cs
│ │ ├── MethodCreator.cs
│ │ ├── DynamicMethodCreatorCreator.cs
│ │ ├── DirectionExtensionMethods.cs
│ │ ├── DynamicMethodCreator.cs
│ │ ├── MethodInfoExtensions.cs
│ │ ├── ILWriting
│ │ │ └── ILGenContext.cs
│ │ ├── MethodBuilderCreatorCreator.cs
│ │ └── GeneratorResult.cs
│ ├── FieldDeserializeMethod.cs
│ ├── CustomSerializerAttribute.cs
│ ├── CustomInitializerAttribute.cs
│ ├── CustomFieldSerializerAttribute.cs
│ ├── ValueTypeSerializeMethod.cs
│ ├── ReferenceFieldSerializeMethod.cs
│ ├── ReferenceTypeSerializeMethod.cs
│ ├── ReferenceTypeDeserializeMethod.cs
│ ├── ValueTypeDeserializeMethod.cs
│ ├── ReferenceFieldDeserializeMethod.cs
│ ├── Static
│ │ ├── FieldDeserializerCache.cs
│ │ ├── ReferenceTypeSerializerCache.cs
│ │ ├── ReferenceTypeDeserializerCache.cs
│ │ ├── StaticDelegateTable.cs
│ │ ├── FieldSerializerCache.cs
│ │ └── StaticModuleTable.cs
│ ├── SerializationIgnoreAttribute.cs
│ ├── MethodProviders
│ │ ├── EmptyMethodProvider.cs
│ │ ├── MethodProvider.cs
│ │ └── LookupMethodProvider.cs
│ ├── SerializableDelegateAttribute.cs
│ ├── FieldSerializeMethod.cs
│ ├── Discovery
│ │ ├── DelegateUsage.cs
│ │ ├── ReadIL
│ │ │ ├── OpCodeExtensions.cs
│ │ │ └── OpCodeValues.cs
│ │ └── DelegateUsageInternal.cs
│ ├── SerializationIgnoreDelegatesAttribute.cs
│ ├── Field.cs
│ ├── Context
│ │ ├── Constants.cs
│ │ └── DefinitionObjectTable.cs
│ ├── EnumerableExtensions.cs
│ └── SerializationRootAttribute.cs
├── Pixel3D.Serialization.Support
│ ├── CustomSerialization.cs
│ ├── CustomFieldSerialization.cs
│ └── BuiltIn
│ │ ├── SerializeIgnoreStateManagement.cs
│ │ └── SerializeIgnoreAudio.cs
├── Lidgren.Network
│ ├── Documentation
│ │ ├── ChangedFromV2.txt
│ │ ├── TODO.txt
│ │ ├── PacketLayout.txt
│ │ └── Improvements.txt
│ ├── NetFragmentationInfo.cs
│ ├── NamespaceDoc.cs
│ ├── SenderChannelBase.cs
│ ├── Lidgren.Network.csproj
│ ├── NetTuple.cs
│ ├── NetStoredReliableMessage.cs
│ ├── NetReceiverChannelBase.cs
│ ├── Encryption
│ │ └── INetEncryption.cs
│ ├── NetUnreliableUnorderedReceiver.cs
│ ├── NetSenderChannelBase.cs
│ ├── NetSendResult.cs
│ ├── NetUnreliableSequencedReceiver.cs
│ └── NetDeliveryMethod.cs
├── Pixel3D.UI
│ ├── TransitionDirection.cs
│ ├── ISubMenu.cs
│ ├── IAbandonChanges.cs
│ ├── IResetToDefaults.cs
│ ├── IDrawableGameMenuHost.cs
│ └── INetworkSafeContext.cs
├── Pixel3D.Navigation
│ ├── NavRegionProjection.cs
│ ├── IExcludeInDefaultNav.cs
│ ├── PathEdge.cs
│ ├── DirectionFlags.cs
│ ├── DriveDirection.cs
│ ├── MinMax.cs
│ └── Pixel3D.Navigation.csproj
├── Pixel3D.Editing
│ ├── IntrospectLevelBehaviours.cs
│ ├── IntrospectAnimationSetBehaviours.cs
│ └── Pixel3D.Editing.csproj
├── Pixel3D.StateManagement
│ ├── AlwaysNullCheckedAttribute.cs
│ ├── EnumerableExtensions.cs
│ └── ReadOnlyList.cs
├── Pixel3D.AssetManagement
│ ├── IAssetProvider.cs
│ ├── IAssetPathProvider.cs
│ ├── AssetDetails.cs
│ ├── IHasReferencedAssets.cs
│ ├── AssetClassification.cs
│ ├── MissingAssetFactory.cs
│ └── Pixel3D.AssetManagement.csproj
├── Pixel3D.Network
│ ├── FilterName.cs
│ ├── SimpleConsoleWriter.cs
│ └── NetworkInput.cs
├── Pixel3D.All.XNA
│ ├── Engine
│ │ └── PlatformSettings.cs
│ └── Properties
│ │ └── AssemblyInfo.cs
└── Pixel3D.Pipeline
│ ├── ByteArrayDeduplicator.cs
│ ├── MaskDataReferenceResolver.cs
│ ├── Pixel3D.Pipeline.csproj
│ ├── MaskReadAndDeduplicate.cs
│ └── PathGatheringAssetProvider.cs
├── test
├── build
│ ├── tools
│ │ └── fxc.exe
│ └── CopyFNALibs.targets
├── Pixel3D.Network.Demo
│ ├── Content
│ │ ├── hit.wav
│ │ ├── Sprite.png
│ │ ├── ready.wav
│ │ ├── score.wav
│ │ ├── Open_Sans
│ │ │ └── OpenSans-Regular.ttf
│ │ └── Content.mgcb
│ ├── Common
│ │ ├── _README.txt
│ │ └── BinaryReadWriteXNA.cs
│ ├── Effects
│ │ └── TestEffect.fx
│ ├── Readme.txt
│ ├── Program.cs
│ └── Pixel3D.Network.Demo.csproj
├── Pixel3D.Serialization.Demo
│ ├── app.config
│ ├── TestTypes
│ │ ├── InheritanceTest.cs
│ │ ├── PrimitiveTypes.cs
│ │ └── ContainerTypes.cs
│ └── Properties
│ │ └── AssemblyInfo.cs
└── Pixel3D.Network.Test
│ ├── Pixel3D.Network.Test.csproj
│ └── ConsoleLogHandler.cs
├── .vs
└── Pixel3D
│ └── v15
│ └── sqlite3
│ └── storage.ide
├── .gitconfig
├── .gitmodules
├── update.cmd
├── Pixel3D.sln.DotSettings
└── README.md
/LICENSE:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/LICENSE
--------------------------------------------------------------------------------
/docs/P2P Network.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/docs/P2P Network.pptx
--------------------------------------------------------------------------------
/src/Pixel3D/Data2D.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/Data2D.cs
--------------------------------------------------------------------------------
/src/Pixel3D/Sprite.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/Sprite.cs
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/Cue.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Audio/Cue.cs
--------------------------------------------------------------------------------
/src/Pixel3D/Heightmap.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/Heightmap.cs
--------------------------------------------------------------------------------
/test/build/tools/fxc.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/test/build/tools/fxc.exe
--------------------------------------------------------------------------------
/docs/Rollback Design.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/docs/Rollback Design.pptx
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/Sound.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Audio/Sound.cs
--------------------------------------------------------------------------------
/src/Pixel3D.Common/AABB.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Common/AABB.cs
--------------------------------------------------------------------------------
/src/Pixel3D.Common/Input.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Common/Input.cs
--------------------------------------------------------------------------------
/src/Pixel3D.Common/Log.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Common/Log.cs
--------------------------------------------------------------------------------
/src/Pixel3D.Levels/Level.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Levels/Level.cs
--------------------------------------------------------------------------------
/src/Pixel3D.Levels/Shim.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Levels/Shim.cs
--------------------------------------------------------------------------------
/src/Pixel3D.Common/TagSet.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Common/TagSet.cs
--------------------------------------------------------------------------------
/src/Pixel3D.P2P/P2PServer.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.P2P/P2PServer.cs
--------------------------------------------------------------------------------
/src/Pixel3D/ColorGradient.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/ColorGradient.cs
--------------------------------------------------------------------------------
/src/Pixel3D/HeightmapView.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/HeightmapView.cs
--------------------------------------------------------------------------------
/src/Pixel3D/ShadowReceiver.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/ShadowReceiver.cs
--------------------------------------------------------------------------------
/src/Pixel3D/VoxelRenderer.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/VoxelRenderer.cs
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/AudioMath.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Audio/AudioMath.cs
--------------------------------------------------------------------------------
/src/Pixel3D.Common/InputState.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Common/InputState.cs
--------------------------------------------------------------------------------
/src/Pixel3D.Common/Position.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Common/Position.cs
--------------------------------------------------------------------------------
/src/Pixel3D.Common/TagLookup.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Common/TagLookup.cs
--------------------------------------------------------------------------------
/src/Pixel3D.P2P/StringFilter.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.P2P/StringFilter.cs
--------------------------------------------------------------------------------
/src/Pixel3D/CombinedHeightmap.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/CombinedHeightmap.cs
--------------------------------------------------------------------------------
/src/Pixel3D/CubeCornerColors.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/CubeCornerColors.cs
--------------------------------------------------------------------------------
/src/Pixel3D.Common/MemoryLogger.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Common/MemoryLogger.cs
--------------------------------------------------------------------------------
/src/Pixel3D.Common/TraceLogger.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Common/TraceLogger.cs
--------------------------------------------------------------------------------
/src/Pixel3D/Animations/Asserts.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/Animations/Asserts.cs
--------------------------------------------------------------------------------
/src/Pixel3D/IEditorNameProvider.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/IEditorNameProvider.cs
--------------------------------------------------------------------------------
/.vs/Pixel3D/v15/sqlite3/storage.ide:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/.vs/Pixel3D/v15/sqlite3/storage.ide
--------------------------------------------------------------------------------
/src/CRTSim/ScreenEffect.cs:
--------------------------------------------------------------------------------
1 | namespace CRTSim
2 | {
3 | public enum ScreenEffect
4 | {
5 | None,
6 | CRT,
7 | LCD
8 | }
9 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/ListExtensions.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Audio/ListExtensions.cs
--------------------------------------------------------------------------------
/src/Pixel3D/Animations/Animation.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/Animations/Animation.cs
--------------------------------------------------------------------------------
/src/Pixel3D/Physics/WorldPhysics.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/Physics/WorldPhysics.cs
--------------------------------------------------------------------------------
/src/Pixel3D/Sorting/DrawOrdering.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/Sorting/DrawOrdering.cs
--------------------------------------------------------------------------------
/src/Pixel3D.Common/LogLineFormatter.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Common/LogLineFormatter.cs
--------------------------------------------------------------------------------
/src/Pixel3D/Animations/AnimationSet.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/Animations/AnimationSet.cs
--------------------------------------------------------------------------------
/src/Pixel3D/Physics/CharacterPhysics.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/Physics/CharacterPhysics.cs
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/CueDeserializeContext.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Audio/CueDeserializeContext.cs
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/CueSerializeContext.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Audio/CueSerializeContext.cs
--------------------------------------------------------------------------------
/src/Pixel3D/Animations/AnimationFrame.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/Animations/AnimationFrame.cs
--------------------------------------------------------------------------------
/src/Pixel3D/Animations/AnimationPlayer.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/Animations/AnimationPlayer.cs
--------------------------------------------------------------------------------
/src/Pixel3D/Extensions/PointExtensions.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/Extensions/PointExtensions.cs
--------------------------------------------------------------------------------
/test/Pixel3D.Network.Demo/Content/hit.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/test/Pixel3D.Network.Demo/Content/hit.wav
--------------------------------------------------------------------------------
/src/Pixel3D.Strings/ILocalizationProvider.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Strings/ILocalizationProvider.cs
--------------------------------------------------------------------------------
/test/Pixel3D.Network.Demo/Content/Sprite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/test/Pixel3D.Network.Demo/Content/Sprite.png
--------------------------------------------------------------------------------
/test/Pixel3D.Network.Demo/Content/ready.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/test/Pixel3D.Network.Demo/Content/ready.wav
--------------------------------------------------------------------------------
/test/Pixel3D.Network.Demo/Content/score.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/test/Pixel3D.Network.Demo/Content/score.wav
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/BinaryReadWriteExtensions.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Audio/BinaryReadWriteExtensions.cs
--------------------------------------------------------------------------------
/src/Pixel3D.LoopRecorder/ByteArrayExtensions.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.LoopRecorder/ByteArrayExtensions.cs
--------------------------------------------------------------------------------
/src/Pixel3D.Network.Rollback/RollbackDriver.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Network.Rollback/RollbackDriver.cs
--------------------------------------------------------------------------------
/src/Pixel3D/Extensions/ColorDataExtensions.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/Extensions/ColorDataExtensions.cs
--------------------------------------------------------------------------------
/src/Pixel3D/Extensions/RectangleExtensions.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/Extensions/RectangleExtensions.cs
--------------------------------------------------------------------------------
/src/Pixel3D/Extensions/WorldSpriteExtensions.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/Extensions/WorldSpriteExtensions.cs
--------------------------------------------------------------------------------
/src/Pixel3D.Network.Rollback/PacketTimeTracker.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Network.Rollback/PacketTimeTracker.cs
--------------------------------------------------------------------------------
/src/Pixel3D.Network.Rollback/SynchronisedClock.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Network.Rollback/SynchronisedClock.cs
--------------------------------------------------------------------------------
/src/Pixel3D/FrameworkExtensions/ListExtensions.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/FrameworkExtensions/ListExtensions.cs
--------------------------------------------------------------------------------
/src/Pixel3D.ActorManagement/IGameObjectDefinition.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.ActorManagement/IGameObjectDefinition.cs
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/BuiltIn/SerializeList.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Serialization/BuiltIn/SerializeList.cs
--------------------------------------------------------------------------------
/src/Pixel3D/Extensions/DebugRenderingExtensions.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/Extensions/DebugRenderingExtensions.cs
--------------------------------------------------------------------------------
/src/Pixel3D/Serialization/SerializationExtensions.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D/Serialization/SerializationExtensions.cs
--------------------------------------------------------------------------------
/.gitconfig:
--------------------------------------------------------------------------------
1 | # git config --local include.path ../.gitconfig
2 | [filter "tabspace"]
3 | smudge = unexpand --tabs=4 --first-only
4 | clean = expand --tabs=4 --initial
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization.Support/CustomSerialization.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Serialization.Support/CustomSerialization.cs
--------------------------------------------------------------------------------
/test/Pixel3D.Network.Demo/Common/_README.txt:
--------------------------------------------------------------------------------
1 | These files are copied from `Pixel3D/Common`, to avoid requiring taking a dependency on `Pixel3D` just for the networking layer.
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization.Support/CustomFieldSerialization.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Serialization.Support/CustomFieldSerialization.cs
--------------------------------------------------------------------------------
/test/Pixel3D.Network.Demo/Content/Open_Sans/OpenSans-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/test/Pixel3D.Network.Demo/Content/Open_Sans/OpenSans-Regular.ttf
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/BuiltIn/DelegateHandling/InvocationList.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Serialization/BuiltIn/DelegateHandling/InvocationList.cs
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/BuiltIn/DelegateHandling/DelegateSerialization.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/conatuscreative/Pixel3D/HEAD/src/Pixel3D.Serialization/BuiltIn/DelegateHandling/DelegateSerialization.cs
--------------------------------------------------------------------------------
/test/Pixel3D.Serialization.Demo/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "ThirdParty/FNA"]
2 | path = ThirdParty/FNA
3 | url = git@github.com:FNA-XNA/FNA.git
4 | [submodule "ThirdParty/fnalibs"]
5 | path = ThirdParty/fnalibs
6 | url = git@github.com:conatuscreative/fnalibs.git
7 |
--------------------------------------------------------------------------------
/src/Lidgren.Network/Documentation/ChangedFromV2.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 | * The NetBuffer object is gone; instead there are NetOutgoingMessage and NetIncomingMessage objects
4 |
5 | * No need to allocate a read buffer before calling ReadMessage
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/GetMaxPlayers.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Audio
4 | {
5 | public delegate int GetMaxPlayers();
6 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/AudioRectangle.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Audio
4 | {
5 | public struct AudioRectangle
6 | {
7 | }
8 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/IsAudioDeviceAvailable.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Audio
4 | {
5 | public delegate bool IsAudioDeviceAvailable();
6 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Levels/IIgnoreParallax.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 |
4 | namespace Pixel3D.Levels
5 | {
6 | public interface IIgnoreParallax
7 | {
8 | }
9 | }
--------------------------------------------------------------------------------
/src/Pixel3D.UI/TransitionDirection.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.UI
4 | {
5 | public enum TransitionDirection { RightToLeft, LeftToRight }
6 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/GetSingle.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.Audio
6 | {
7 | public delegate float GetSingle(IDisposable owner);
8 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/CreateEmptyStreamingAudio.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Audio
4 | {
5 | public delegate IStreamingAudio CreateEmptyStreamingAudio();
6 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/GetBoolean.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.Audio
6 | {
7 | public delegate bool GetBoolean(IDisposable owner);
8 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/GetString.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.Audio
6 | {
7 | public delegate string GetString(IDisposable owner);
8 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/ReportMissingCue.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Audio
4 | {
5 | public delegate void ReportMissingCue(string name, object debugContext);
6 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/WorldToAudio.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Audio
4 | {
5 | public delegate PitchPan WorldToAudio(object owner, int x, int y, int z);
6 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/GetTimeSpan.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.Audio
6 | {
7 | public delegate TimeSpan GetTimeSpan(IDisposable owner);
8 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/CreateSoundEffectFromFile.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Audio
4 | {
5 | public delegate SafeSoundEffect CreateSoundEffectFromFile(string path);
6 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/ReportExpectedCue.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Audio
4 | {
5 | public delegate void ReportExpectedCue(string context, params object[] args);
6 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/SetBoolean.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.Audio
6 | {
7 | public delegate void SetBoolean(IDisposable owner, bool value);
8 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/SetSingle.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.Audio
6 | {
7 | public delegate void SetSingle(IDisposable owner, float value);
8 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/SetString.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.Audio
6 | {
7 | public delegate void SetString(IDisposable owner, string value);
8 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Levels/LevelSerializeContextExtensions.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Levels
4 | {
5 | public static class LevelSerializeContextExtensions
6 | {
7 | }
8 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/GetPlayerAudioPosition.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Audio
4 | {
5 | public delegate Position? GetPlayerAudioPosition(object owner, int playerIndex);
6 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/SetTimeSpan.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.Audio
6 | {
7 | public delegate void SetTimeSpan(IDisposable owner, TimeSpan value);
8 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/PauseSoundEffectInstance.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.Audio
6 | {
7 | public delegate void PauseSoundEffectInstance(IDisposable owner);
8 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/PlaySoundEffectInstance.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.Audio
6 | {
7 | public delegate void PlaySoundEffectInstance(IDisposable owner);
8 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/StopSoundEffectInstance.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.Audio
6 | {
7 | public delegate void StopSoundEffectInstance(IDisposable owner);
8 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/CreateSoundEffectInstance.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.Audio
6 | {
7 | public delegate IDisposable CreateSoundEffectInstance(object owner);
8 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/ReferenceTypeInitializeMethod.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Serialization
4 | {
5 | public delegate T ReferenceTypeInitializeMethod() where T : class;
6 | }
--------------------------------------------------------------------------------
/src/Lidgren.Network/NetFragmentationInfo.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Lidgren.Network
4 | {
5 | public sealed class NetFragmentationInfo
6 | {
7 | public int TotalFragmentCount;
8 | public bool[] Received;
9 | public int TotalReceived;
10 | public int FragmentSize;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/SetFadePitchPan.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Audio
4 | {
5 | public delegate void SetFadePitchPan(SafeSoundEffectInstance owner, float volume, float pitch, float pan);
6 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Navigation/NavRegionProjection.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Navigation
4 | {
5 | public struct NavRegionProjection
6 | {
7 | public MinMax positive, negative, x, z;
8 | }
9 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/CreateSoundEffectFromStream.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System.IO;
4 |
5 | namespace Pixel3D.Audio
6 | {
7 | public delegate SafeSoundEffect CreateSoundEffectFromStream(Stream stream);
8 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/PlaySoundEffect.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.Audio
6 | {
7 | public delegate bool PlaySoundEffect(IDisposable owner, float volume, float pitch, float pan);
8 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Network.Rollback/InputBuffer.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 |
4 | namespace Pixel3D.Network.Rollback
5 | {
6 | internal class InputBuffer : FrameDataBuffer
7 | {
8 | // Hi :)
9 | }
10 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/GetSoundState.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 | using Microsoft.Xna.Framework.Audio;
5 |
6 | namespace Pixel3D.Audio
7 | {
8 | public delegate SoundState GetSoundState(IDisposable owner);
9 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/Generator/Direction.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Serialization.Generator
4 | {
5 | internal enum Direction
6 | {
7 | Serialize = 0,
8 | Deserialize = 1
9 | }
10 | }
--------------------------------------------------------------------------------
/src/CRTSim/CRTSim.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 | AnyCPU;x64
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/SetState.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 | using Microsoft.Xna.Framework.Audio;
5 |
6 | namespace Pixel3D.Audio
7 | {
8 | public delegate void SetState(IDisposable owner, SoundState value);
9 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Editing/IntrospectLevelBehaviours.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using Pixel3D.Levels;
4 |
5 | namespace Pixel3D.Editing
6 | {
7 | public class IntrospectLevelBehaviours : IntrospectBehaviours { }
8 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Levels/ISuppressThingWarning.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Levels
4 | {
5 | public interface ISuppressThingWarning
6 | {
7 | /* Suppress warnings for missing constructors for this type */
8 | }
9 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Navigation/IExcludeInDefaultNav.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Navigation
4 | {
5 | public interface IExcludeInDefaultNav { /* marks objects that should not be included in default navigation data */ }
6 | }
--------------------------------------------------------------------------------
/src/Pixel3D.UI/ISubMenu.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.UI
4 | {
5 | public interface ISubMenu
6 | {
7 | bool IsActive { get; }
8 | void ExitToParentMenu(INetworkSafeContext updateContext);
9 | }
10 | }
--------------------------------------------------------------------------------
/src/Pixel3D/Animations/ICustomMaskDataReader.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Animations
4 | {
5 | public interface ICustomMaskDataReader
6 | {
7 | uint[] Read(int length);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/Pixel3D.LoopRecorder/Serialize.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System.IO;
4 |
5 | namespace Pixel3D.LoopRecorder
6 | {
7 | public delegate void Serialize(BinaryWriter bw, ref TGameState gameState, object userData);
8 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Editing/IntrospectAnimationSetBehaviours.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using Pixel3D.ActorManagement;
4 |
5 | namespace Pixel3D.Editing
6 | {
7 | public class IntrospectAnimationSetBehaviours : IntrospectBehaviours { }
8 | }
--------------------------------------------------------------------------------
/src/Pixel3D.LoopRecorder/Deserialize.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System.IO;
4 |
5 | namespace Pixel3D.LoopRecorder
6 | {
7 | public delegate void Deserialize(BinaryReader br, ref TGameState gameState, object userData);
8 | }
--------------------------------------------------------------------------------
/src/Lidgren.Network/NamespaceDoc.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 |
5 | namespace Lidgren.Network
6 | {
7 | ///
8 | /// Lidgren Network Library
9 | ///
10 | internal class NamespaceDoc
11 | {
12 | //
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Lidgren.Network/SenderChannelBase.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Lidgren.Network
4 | {
5 | internal abstract class SenderChannelBase
6 | {
7 | internal abstract NetSendResult Send(float now, NetOutgoingMessage message);
8 | internal abstract void SendQueuedMessages(float now);
9 | internal abstract void Reset();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/Pixel3D.ActorManagement/IGameState.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.ActorManagement
4 | {
5 | public interface IGameState
6 | {
7 | int MaxPlayers { get; }
8 | Position? GetPlayerPosition(int playerIndex);
9 | }
10 | }
--------------------------------------------------------------------------------
/src/Pixel3D.UI/IAbandonChanges.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.UI
4 | {
5 | public interface IAbandonChanges
6 | {
7 | bool IsDirty { get; }
8 | void AbandonChanges();
9 | void PreserveChanges();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/Pixel3D.UI/IResetToDefaults.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.UI
4 | {
5 | public interface IResetToDefaults
6 | {
7 | bool IsWaitingToReset { get; set; }
8 | void ResetToDefaults(INetworkSafeContext context);
9 | }
10 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/AudioSystem.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Audio
4 | {
5 | public static class AudioSystem
6 | {
7 | public static GetMaxPlayers getMaxPlayers;
8 | public static GetPlayerAudioPosition getPlayerAudioPosition;
9 | }
10 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/IAudioDefinitions.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Audio
4 | {
5 | public interface IAudioDefinitions
6 | {
7 | Cue GetCue(string name, object debugContext);
8 | SafeSoundEffect GetSound(Cue cue, int index);
9 | }
10 | }
--------------------------------------------------------------------------------
/src/Pixel3D/IDrawObject.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using Pixel3D.Animations;
4 |
5 | namespace Pixel3D
6 | {
7 | public interface IDrawObject
8 | {
9 | void Draw(DrawContext drawContext, int tag, IDrawSmoothProvider sp);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/update.cmd:
--------------------------------------------------------------------------------
1 | @ECHO OFF
2 |
3 | REM use .gitconfig for this repository
4 | git config --local include.path /.gitconfig
5 |
6 | REM first time use
7 | git submodule update --init --recursive
8 |
9 | REM switch all submodules to master
10 | git submodule foreach git checkout master
11 |
12 | REM update all submodules to use tips of master branches
13 | git submodule foreach git pull origin master
--------------------------------------------------------------------------------
/src/Lidgren.Network/Lidgren.Network.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 | AnyCPU;x64
6 |
7 |
8 |
9 | DEBUG;TRACE
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/CRTSim/IPostProcessor.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Xna.Framework.Content;
2 | using Microsoft.Xna.Framework.Graphics;
3 |
4 | namespace CRTSim
5 | {
6 | public interface IPostProcessor
7 | {
8 | GraphicsDevice GraphicsDevice { get; }
9 | ContentManager Content { get; }
10 | void UpdateCameraWindows();
11 |
12 | int PostProcessingCount { get; }
13 | void SetPostProcessTo(sbyte index);
14 | }
15 | }
--------------------------------------------------------------------------------
/src/Pixel3D.LoopRecorder/LoopSystem.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.LoopRecorder
4 | {
5 | public class LoopSystem
6 | {
7 | public static Serialize serialize;
8 | public static Deserialize deserialize;
9 | }
10 | }
--------------------------------------------------------------------------------
/test/Pixel3D.Serialization.Demo/TestTypes/InheritanceTest.cs:
--------------------------------------------------------------------------------
1 | namespace Pixel3D.Serialization.Demo.TestTypes
2 | {
3 | [SerializationRoot]
4 | class BaseClass
5 | {
6 | }
7 |
8 | class DerivedClassA : BaseClass
9 | {
10 | }
11 |
12 | class DerivedClassB : BaseClass
13 | {
14 | }
15 |
16 | class DerivedClassC : DerivedClassA
17 | {
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/CRTSim/IntegerExtensions.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Diagnostics;
3 |
4 | namespace CRTSim
5 | {
6 | internal static class IntegerExtensions
7 | {
8 | /// Clamp a value between min and max, NOTE: Inclusive!
9 | public static int Clamp(this int v, int min, int max)
10 | {
11 | Debug.Assert(min <= max);
12 | return Math.Max(min, Math.Min(max, v));
13 | }
14 | }
15 | }
--------------------------------------------------------------------------------
/src/Pixel3D.StateManagement/AlwaysNullCheckedAttribute.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.StateManagement
6 | {
7 | [AttributeUsage(AttributeTargets.Field)]
8 | public sealed class AlwaysNullCheckedAttribute : Attribute
9 | {
10 | }
11 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/CreateSoundEffectFromVorbisMemory.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.Audio
6 | {
7 | public unsafe delegate IDisposable CreateSoundEffectFromVorbisMemory(byte* start, byte* end, int expectedSampleCount, int loopStart, int loopLength);
8 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/FieldDeserializeMethod.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System.IO;
4 | using Pixel3D.Serialization.Context;
5 |
6 | namespace Pixel3D.Serialization
7 | {
8 | public delegate void FieldDeserializeMethod(DeserializeContext context, BinaryReader br, ref T obj);
9 | }
--------------------------------------------------------------------------------
/src/Pixel3D/ISmoothProvider.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D
4 | {
5 | public interface IDrawSmoothProvider
6 | {
7 | Position GetOffset(object owner);
8 | }
9 |
10 | public interface ISortSmoothProvider
11 | {
12 | Position GetOffset(object owner);
13 | }
14 | }
--------------------------------------------------------------------------------
/test/Pixel3D.Network.Test/Pixel3D.Network.Test.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp2.2
6 | AnyCPU;x64
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/Pixel3D.ActorManagement/DeferredAttachment.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using Pixel3D.Animations;
4 |
5 | namespace Pixel3D.ActorManagement
6 | {
7 | public struct DeferredAttachment
8 | {
9 | public Actor owner;
10 | public OutgoingAttachment outgoingAttachment;
11 | }
12 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/CustomSerializerAttribute.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.Serialization
6 | {
7 | [AttributeUsage(AttributeTargets.Method, Inherited = false)]
8 | public sealed class CustomSerializerAttribute : Attribute
9 | {
10 | }
11 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/Generator/MethodCreatorCreator.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Serialization.Generator
4 | {
5 | internal abstract class MethodCreatorCreator // <- yes, I went there.
6 | {
7 | public abstract MethodCreator Create(string containingTypeName);
8 | }
9 | }
--------------------------------------------------------------------------------
/src/Pixel3D.UI/IDrawableGameMenuHost.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.UI
4 | {
5 | public interface IDrawableGameMenuHost : IGameMenuHost
6 | {
7 | Position Position { get; }
8 | int Width { get; }
9 | int Height { get; }
10 | bool DeferLayout { get; }
11 | }
12 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/CustomInitializerAttribute.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.Serialization
6 | {
7 | [AttributeUsage(AttributeTargets.Method, Inherited = false)]
8 | public sealed class CustomInitializerAttribute : Attribute
9 | {
10 | }
11 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/CustomFieldSerializerAttribute.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.Serialization
6 | {
7 | [AttributeUsage(AttributeTargets.Method, Inherited = false)]
8 | public sealed class CustomFieldSerializerAttribute : Attribute
9 | {
10 | }
11 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/PitchPan.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Audio
4 | {
5 | public struct PitchPan
6 | {
7 | public float pitch;
8 | public float pan;
9 |
10 | public PitchPan(float pitch, float pan)
11 | {
12 | this.pitch = pitch;
13 | this.pan = pan;
14 | }
15 | }
16 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/Generator/DeserializeDispatchDelegate.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System.IO;
4 | using Pixel3D.Serialization.Context;
5 |
6 | namespace Pixel3D.Serialization.Generator
7 | {
8 | internal delegate object DeserializeDispatchDelegate(DeserializeContext context, BinaryReader br);
9 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/Generator/SerializeDispatchDelegate.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System.IO;
4 | using Pixel3D.Serialization.Context;
5 |
6 | namespace Pixel3D.Serialization.Generator
7 | {
8 | internal delegate void SerializeDispatchDelegate(SerializeContext context, BinaryWriter bw, object obj);
9 | }
--------------------------------------------------------------------------------
/src/Pixel3D.AssetManagement/IAssetProvider.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System.Collections.Generic;
4 |
5 | namespace Pixel3D.AssetManagement
6 | {
7 | public interface IAssetProvider
8 | {
9 | T Load(string assetPath) where T : class;
10 | ICollection LoadAll() where T : class;
11 | }
12 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Navigation/PathEdge.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Navigation
4 | {
5 | public struct PathEdge
6 | {
7 | public int navEdgeIndex;
8 | //public NavRegion region; // <- Commented out: Final path shouldn't need to store this (but we might want to see it for FindPath debug)
9 | }
10 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/ValueTypeSerializeMethod.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System.IO;
4 | using Pixel3D.Serialization.Context;
5 |
6 | namespace Pixel3D.Serialization
7 | {
8 | public delegate void ValueTypeSerializeMethod(SerializeContext context, BinaryWriter bw, ref T obj)
9 | where T : struct;
10 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/ReferenceFieldSerializeMethod.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System.IO;
4 | using Pixel3D.Serialization.Context;
5 |
6 | namespace Pixel3D.Serialization
7 | {
8 | public delegate void ReferenceFieldSerializeMethod(SerializeContext context, BinaryWriter bw, T obj)
9 | where T : class;
10 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/ReferenceTypeSerializeMethod.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System.IO;
4 | using Pixel3D.Serialization.Context;
5 |
6 | namespace Pixel3D.Serialization
7 | {
8 | public delegate void ReferenceTypeSerializeMethod(SerializeContext context, BinaryWriter bw, T obj)
9 | where T : class;
10 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/ReferenceTypeDeserializeMethod.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System.IO;
4 | using Pixel3D.Serialization.Context;
5 |
6 | namespace Pixel3D.Serialization
7 | {
8 | public delegate void ReferenceTypeDeserializeMethod(DeserializeContext context, BinaryReader br, T obj)
9 | where T : class;
10 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/ValueTypeDeserializeMethod.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System.IO;
4 | using Pixel3D.Serialization.Context;
5 |
6 | namespace Pixel3D.Serialization
7 | {
8 | public delegate void ValueTypeDeserializeMethod(DeserializeContext context, BinaryReader br, ref T obj)
9 | where T : struct;
10 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/ReferenceFieldDeserializeMethod.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System.IO;
4 | using Pixel3D.Serialization.Context;
5 |
6 | namespace Pixel3D.Serialization
7 | {
8 | public delegate void ReferenceFieldDeserializeMethod(DeserializeContext context, BinaryReader br, ref T obj)
9 | where T : class;
10 | }
--------------------------------------------------------------------------------
/src/Pixel3D.AssetManagement/IAssetPathProvider.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.AssetManagement
4 | {
5 | public interface IAssetPathProvider
6 | {
7 | /// Get the path for an asset, or null if the asset is not managed by this provider
8 | string GetAssetPath(T asset) where T : class;
9 | }
10 | }
--------------------------------------------------------------------------------
/src/Pixel3D.P2P/InputAssignment.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 |
4 | using System;
5 |
6 | namespace Pixel3D.P2P
7 | {
8 | [Flags]
9 | public enum InputAssignment
10 | {
11 | None = 0x0,
12 |
13 | Player1 = 0x1,
14 | Player2 = 0x2,
15 | Player3 = 0x4,
16 | Player4 = 0x8,
17 |
18 | All = 0xF,
19 | Full = All
20 | }
21 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/Static/FieldDeserializerCache.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Serialization.Static
4 | {
5 | public static class FieldDeserializerCache
6 | {
7 | public static readonly FieldDeserializeMethod Deserialize =
8 | Serializer.StaticMethodLookup.GetFieldDeserializeDelegate();
9 | }
10 | }
--------------------------------------------------------------------------------
/test/Pixel3D.Network.Demo/Effects/TestEffect.fx:
--------------------------------------------------------------------------------
1 | sampler TextureSampler : register(s0);
2 |
3 |
4 | float4 PixelShaderFunction(float4 color : COLOR0, float2 texCoord : TEXCOORD0) : COLOR0
5 | {
6 | float4 tex = tex2D(TextureSampler, texCoord);
7 |
8 | return tex * float4(texCoord.x, texCoord.y, 1, 1);
9 | }
10 |
11 | technique Technique1
12 | {
13 | pass Pass1
14 | {
15 | PixelShader = compile ps_2_0 PixelShaderFunction();
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/Lidgren.Network/NetTuple.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 |
5 | namespace Lidgren.Network
6 | {
7 | // replace with BCL 4.0 Tuple<> when appropriate
8 | internal struct NetTuple
9 | {
10 | public A Item1;
11 | public B Item2;
12 |
13 | public NetTuple(A item1, B item2)
14 | {
15 | Item1 = item1;
16 | Item2 = item2;
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/SerializationIgnoreAttribute.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.Serialization
6 | {
7 | /// The serializer should ignore the field
8 | [AttributeUsage(AttributeTargets.Field)]
9 | public sealed class SerializationIgnoreAttribute : Attribute
10 | {
11 | }
12 | }
--------------------------------------------------------------------------------
/src/Pixel3D.AssetManagement/AssetDetails.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.AssetManagement
4 | {
5 | public class AssetDetails
6 | {
7 | public string FriendlyName { get; set; }
8 | public AssetClassification Classification { get; set; }
9 | public string Path { get; set; }
10 | public object Asset { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/Generator/MethodCreator.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 | using System.Reflection;
5 |
6 | namespace Pixel3D.Serialization.Generator
7 | {
8 | internal abstract class MethodCreator
9 | {
10 | public abstract MethodInfo CreateMethod(Type owner, string name, Type returnType, Type[] parameterTypes);
11 | }
12 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Network.Rollback/IAcceptsDesyncDumps.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 |
4 | namespace Pixel3D.Network.Rollback
5 | {
6 | public interface IAcceptsDesyncDumps
7 | {
8 | void ExportComparativeDesyncDump(byte[] lastGoodSnapshot, byte[] localSnapshot, byte[] remoteSnapshot);
9 |
10 | void ExportSimpleDesyncFrame(byte[] localSnapshot);
11 | }
12 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/Generator/DynamicMethodCreatorCreator.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Serialization.Generator
4 | {
5 | internal class DynamicMethodCreatorCreator : MethodCreatorCreator
6 | {
7 | public override MethodCreator Create(string containingTypeName)
8 | {
9 | return new DynamicMethodCreator();
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/src/Pixel3D/FrameworkExtensions/RandomExtensions.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.FrameworkExtensions
6 | {
7 | public static class RandomExtensions
8 | {
9 | public static bool NextBoolean(this Random random)
10 | {
11 | return random.Next(1) != 0;
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Lidgren.Network/NetStoredReliableMessage.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Lidgren.Network
4 | {
5 | internal struct NetStoredReliableMessage
6 | {
7 | public int NumSent;
8 | public float LastSent;
9 | public NetOutgoingMessage Message;
10 | public int SequenceNumber;
11 |
12 | public void Reset()
13 | {
14 | NumSent = 0;
15 | LastSent = 0;
16 | Message = null;
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/Pixel3D.ActorManagement/SmoothingIdentifiers.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.ActorManagement
6 | {
7 | public struct SmoothingIdentifiers
8 | {
9 | // Don't need equality check methods because SmoothingManager does the right thing. (And no one will break it, right?)
10 | public Type type;
11 | public int id;
12 | }
13 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/MethodProviders/EmptyMethodProvider.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 | using System.Reflection;
5 |
6 | namespace Pixel3D.Serialization.MethodProviders
7 | {
8 | internal class EmptyMethodProvider : MethodProvider
9 | {
10 | public override MethodInfo GetMethodForType(Type type)
11 | {
12 | return null;
13 | }
14 | }
15 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/Static/ReferenceTypeSerializerCache.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Serialization.Static
4 | {
5 | public static class ReferenceTypeSerializerCache where T : class
6 | {
7 | public static readonly ReferenceTypeSerializeMethod Serialize =
8 | Serializer.StaticMethodLookup.GetReferenceTypeSerializeDelegate();
9 | }
10 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/IStreamingAudio.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 |
4 | namespace Pixel3D.Audio
5 | {
6 | public interface IStreamingAudio
7 | {
8 | float Volume { get; set; }
9 | bool IsLooped { get; set; }
10 |
11 | unsafe void Open(byte* vorbisStart, byte* vorbisEnd, int loopStart = 0);
12 | void Close();
13 |
14 | void Play();
15 | void Pause();
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/Pixel3D.Audio/IAmbientSoundSource.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Audio
4 | {
5 | ///
6 | /// Objects that can play back ambient audio
7 | ///
8 | public interface IAmbientSoundSource
9 | {
10 | AmbientSound AmbientSound { get; }
11 | Position Position { get; }
12 | bool FacingLeft { get; }
13 | AABB? Bounds { get; }
14 | }
15 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/SerializableDelegateAttribute.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.Serialization
6 | {
7 | /// All delegate types that can be serialized must be tagged with this attribute.
8 | [AttributeUsage(AttributeTargets.Delegate)]
9 | public sealed class SerializableDelegateAttribute : Attribute
10 | {
11 | }
12 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/Static/ReferenceTypeDeserializerCache.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Serialization.Static
4 | {
5 | public static class ReferenceTypeDeserializerCache where T : class
6 | {
7 | public static readonly ReferenceTypeDeserializeMethod Deserialize =
8 | Serializer.StaticMethodLookup.GetReferenceTypeDeserializeDelegate();
9 | }
10 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/Static/StaticDelegateTable.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 | using System.Collections.Generic;
5 | using Pixel3D.Serialization.BuiltIn.DelegateHandling;
6 |
7 | namespace Pixel3D.Serialization.Static
8 | {
9 | internal static class StaticDelegateTable
10 | {
11 | internal static Dictionary delegateTypeTable;
12 | }
13 | }
--------------------------------------------------------------------------------
/src/Lidgren.Network/Documentation/TODO.txt:
--------------------------------------------------------------------------------
1 |
2 | Completed features:
3 | * Message coalescing
4 | * Peer, connection statistics
5 | * Lag, loss and duplication simulation for testing
6 | * Connection approval
7 | * Throttling
8 | * Clock synchronization to detect jitter per packet (NetTime.RemoteNow)
9 | * Peer discovery
10 | * Message fragmentation
11 |
12 | Missing features:
13 | * Receipts 25% done, need design
14 | * More realistic lag/loss (lumpy)
15 | * Detect estimated packet loss
16 | * More advanced ack packet
17 |
18 |
--------------------------------------------------------------------------------
/src/Lidgren.Network/Documentation/PacketLayout.txt:
--------------------------------------------------------------------------------
1 |
2 | PER MESSAGE:
3 | 7 bits - NetMessageType
4 | 1 bit - Is a message fragment?
5 |
6 | [8 bits NetMessageLibraryType, if NetMessageType == Library]
7 |
8 | [16 bits sequence number, if NetMessageType >= UserSequenced]
9 |
10 | 8/16 bits - Payload length in bits (variable size ushort)
11 |
12 | [16 bits fragments group id, if fragmented]
13 | [16 bits fragments total count, if fragmented]
14 | [16 bits fragment number, if fragmented]
15 |
16 | [x - Payload] if length > 0
17 |
18 |
--------------------------------------------------------------------------------
/src/Pixel3D.LoopRecorder/LoopCommand.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.LoopRecorder
6 | {
7 | [Flags]
8 | public enum LoopCommand : byte
9 | {
10 | None = 0x0,
11 | StartPlaying = 1 << 0,
12 | Stop = 1 << 1,
13 | NextLoop = 1 << 2,
14 | PreviousLoop = 1 << 3,
15 | Record = 1 << 4,
16 | SnapshotOnly = 1 << 5,
17 | RecordHasFocus = 1 << 6
18 | }
19 | }
--------------------------------------------------------------------------------
/src/Lidgren.Network/NetReceiverChannelBase.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Lidgren.Network
4 | {
5 | internal abstract class NetReceiverChannelBase
6 | {
7 | internal NetPeer m_peer;
8 | internal NetConnection m_connection;
9 |
10 | public NetReceiverChannelBase(NetConnection connection)
11 | {
12 | m_connection = connection;
13 | m_peer = connection.m_peer;
14 | }
15 |
16 | internal abstract void ReceiveMessage(NetIncomingMessage msg);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/Generator/DirectionExtensionMethods.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Serialization.Generator
4 | {
5 | internal static class DirectionExtensionMethods
6 | {
7 | private static readonly string[] names = {"Serialize", "Deserialize"};
8 |
9 | public static string Name(this Direction direction)
10 | {
11 | return names[(int) direction];
12 | }
13 | }
14 | }
--------------------------------------------------------------------------------
/src/Pixel3D/Animations/FrontBack.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Animations
4 | {
5 | public struct FrontBack
6 | {
7 | public byte front, back;
8 |
9 | // NOTE: Hacky mechanisim for storing "on top" status without requiring more data (we're nicely 16-bits)
10 | // If we are "on top", then only the back bounds contains usable data
11 | bool IsOnTop { get { return front > back; } }
12 | }
13 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Levels/ILevelEffect.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 |
4 | using CRTSim;
5 | using Microsoft.Xna.Framework.Graphics;
6 | using Pixel3D.ActorManagement;
7 |
8 | namespace Pixel3D.Levels
9 | {
10 | public interface ILevelEffect
11 | {
12 | void LevelEffect(GameState gameState, RenderTarget2D inputRenderTarget, SpriteBatch sb, FadeEffect fadeEffect,
13 | int fadeLevel, bool disabled);
14 | }
15 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/MethodProviders/MethodProvider.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 | using System.Reflection;
5 |
6 | namespace Pixel3D.Serialization.MethodProviders
7 | {
8 | internal abstract class MethodProvider
9 | {
10 | public MethodInfo this[Type type]
11 | {
12 | get { return GetMethodForType(type); }
13 | }
14 |
15 | public abstract MethodInfo GetMethodForType(Type type);
16 | }
17 | }
--------------------------------------------------------------------------------
/src/Pixel3D/Animations/Serialization/TextureData.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D.Animations.Serialization
4 | {
5 | public struct TextureData
6 | {
7 | public int width, height;
8 | public byte[] data;
9 |
10 | public TextureData(int width, int height, byte[] data)
11 | {
12 | this.width = width;
13 | this.height = height;
14 | this.data = data;
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/Pixel3D.P2P/UnconnectedMessage.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 |
4 | namespace Pixel3D.P2P
5 | {
6 | ///
7 | /// NOTE: a zero-length unconnected message is used for non-responsive NAT punches
8 | ///
9 | internal enum UnconnectedMessage : byte
10 | {
11 | /// This one is used for forming connections between P2P clients.
12 | NATPunchThrough,
13 |
14 | SideChannelVerify,
15 |
16 | SideChannelVerifyResponse
17 | }
18 | }
--------------------------------------------------------------------------------
/src/Pixel3D.P2P/IPeerManager.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 |
4 | using Lidgren.Network;
5 |
6 | namespace Pixel3D.P2P
7 | {
8 | internal interface IPeerManager
9 | {
10 | /// Handle a network message (it will be recycled externally).
11 | void HandleMessage(NetIncomingMessage message, ref bool recycle);
12 |
13 | void Update();
14 |
15 | void HandleLocalDisconnection();
16 |
17 | void KickDueToNetworkDataError(RemotePeer remotePeer);
18 | }
19 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/FieldSerializeMethod.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System.IO;
4 | using Pixel3D.Serialization.Context;
5 |
6 | namespace Pixel3D.Serialization
7 | {
8 | // Field methods that work for both value and reference types (so they can be used successfully in generics)
9 |
10 | public delegate void FieldSerializeMethod(SerializeContext context, BinaryWriter bw, ref T obj);
11 |
12 | // These are the actual method signatures used by the serializer:
13 | }
--------------------------------------------------------------------------------
/src/Lidgren.Network/Encryption/INetEncryption.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace Lidgren.Network
5 | {
6 | ///
7 | /// Interface for an encryption algorithm
8 | ///
9 | public interface INetEncryption
10 | {
11 | ///
12 | /// Encrypt an outgoing message in place
13 | ///
14 | bool Encrypt(NetOutgoingMessage msg);
15 |
16 | ///
17 | /// Decrypt an incoming message in place
18 | ///
19 | bool Decrypt(NetIncomingMessage msg);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/Pixel3D/Animations/Serialization/ITextureLoadHelper.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using Microsoft.Xna.Framework.Graphics;
4 |
5 | namespace Pixel3D.Animations.Serialization
6 | {
7 | public interface ITextureLoadHelper
8 | {
9 | /// Returns a shared load buffer that is big enough to load any texture we might load
10 | byte[] GetSharedLoadBuffer();
11 |
12 | Texture2D LoadTexture(int width, int height, byte[] buffer);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/BuiltIn/DelegateHandling/DelegateMethodInfo.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System.Reflection;
4 |
5 | namespace Pixel3D.Serialization.BuiltIn.DelegateHandling
6 | {
7 | internal struct DelegateMethodInfo
8 | {
9 | public DelegateMethodInfo(MethodInfo method, bool canHaveTarget)
10 | {
11 | this.method = method;
12 | this.canHaveTarget = canHaveTarget;
13 | }
14 |
15 | public readonly MethodInfo method;
16 | public readonly bool canHaveTarget;
17 | }
18 | }
--------------------------------------------------------------------------------
/src/Lidgren.Network/NetUnreliableUnorderedReceiver.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Lidgren.Network
4 | {
5 | internal sealed class NetUnreliableUnorderedReceiver : NetReceiverChannelBase
6 | {
7 | public NetUnreliableUnorderedReceiver(NetConnection connection)
8 | : base(connection)
9 | {
10 | }
11 |
12 | internal override void ReceiveMessage(NetIncomingMessage msg)
13 | {
14 | // ack no matter what
15 | m_connection.QueueAck(msg.m_receivedMessageType, msg.m_sequenceNumber);
16 |
17 | m_peer.ReleaseMessage(msg);
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/Discovery/DelegateUsage.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 | using System.Reflection;
5 |
6 | namespace Pixel3D.Serialization.Discovery
7 | {
8 | /// Represents the instantiation of a delegate.
9 | internal struct DelegateUsage
10 | {
11 | /// The static field type of the delegate Target at the instantiation site, or null for no target
12 | public Type targetType;
13 |
14 | public MethodInfo delegateMethod;
15 | public Type delegateType;
16 | }
17 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Serialization/SerializationIgnoreDelegatesAttribute.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.Serialization
6 | {
7 | ///
8 | /// The serializer should ignore any delegates instantiated by this method (the delegates created should never be
9 | /// stored in a serialized field).
10 | ///
11 | [AttributeUsage(AttributeTargets.Method | AttributeTargets.Constructor, Inherited = false)]
12 | public sealed class SerializationIgnoreDelegatesAttribute : Attribute
13 | {
14 | }
15 | }
--------------------------------------------------------------------------------
/src/Pixel3D.UI/INetworkSafeContext.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 |
4 | using Pixel3D.Audio;
5 |
6 | namespace Pixel3D.UI
7 | {
8 | ///
9 | /// Defines context methods that are safe to call from a networked game.
10 | /// This typically means read-only access, or write operations do not touch the simulation.
11 | /// If the implementation cannot satisfy these requirements, then it should throw.
12 | ///
13 | public interface INetworkSafeContext
14 | {
15 | bool TryGetAudioPlayer(out IAudioPlayer audioPlayer);
16 | }
17 | }
--------------------------------------------------------------------------------
/src/Pixel3D/HeightmapOpExtensions.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | namespace Pixel3D
4 | {
5 | public static class HeightmapOpExtensions
6 | {
7 | public static bool IsShadowReceiverOperation(this HeightmapOp op)
8 | {
9 | return op == HeightmapOp.CreateExtendedObliqueFromBase ||
10 | op == HeightmapOp.ExtendOblique ||
11 | op == HeightmapOp.FillLeft ||
12 | op == HeightmapOp.FillLeftFixedHeight ||
13 | op == HeightmapOp.FillRight ||
14 | op == HeightmapOp.FillRightFixedHeight;
15 | }
16 | }
17 | }
--------------------------------------------------------------------------------
/src/Pixel3D.Navigation/DirectionFlags.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System;
4 |
5 | namespace Pixel3D.Navigation
6 | {
7 | /// Flags for eight possible directions
8 | [Flags]
9 | public enum DirectionFlags : byte
10 | {
11 | East = (byte) 1u << 0,
12 | NorthEast = (byte) 1u << 1,
13 | North = (byte) 1u << 2,
14 | NorthWest = (byte) 1u << 3,
15 | West = (byte) 1u << 4,
16 | SouthWest = (byte) 1u << 5,
17 | South = (byte) 1u << 6,
18 | SouthEast = (byte) 1u << 7,
19 |
20 | None = 0,
21 | All = 0xFF
22 | }
23 | }
--------------------------------------------------------------------------------
/src/Lidgren.Network/NetSenderChannelBase.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Lidgren.Network
4 | {
5 | internal abstract class NetSenderChannelBase
6 | {
7 | // access this directly to queue things in this channel
8 | internal NetQueue m_queuedSends;
9 |
10 | internal abstract int WindowSize { get; }
11 |
12 | internal abstract int GetAllowedSends();
13 |
14 | internal abstract NetSendResult Enqueue(NetOutgoingMessage message);
15 | internal abstract void SendQueuedMessages(float now);
16 | internal abstract void Reset();
17 | internal abstract void ReceiveAcknowledge(float now, int sequenceNumber);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/Pixel3D.AssetManagement/IHasReferencedAssets.cs:
--------------------------------------------------------------------------------
1 | // Copyright © Conatus Creative, Inc. All rights reserved.
2 | // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license terms.
3 | using System.Collections.Generic;
4 |
5 | namespace Pixel3D.AssetManagement
6 | {
7 | /// Allows management of assets that reference other assets
8 | public interface IHasReferencedAssets
9 | {
10 | /// Get a list of all assets referenced by this asset
11 | IEnumerable