├── .gitignore
├── Plugins
└── wideXeen
│ ├── assets
│ └── BACK.RAW.wideXeen.png
│ └── src
│ └── Rendering
│ └── GraphicsRenderer.java
├── README.md
├── doco
├── Readme.txt
├── dev_history
│ ├── 000_MON.png
│ ├── historical_csharp.png
│ ├── loc_chart_v0_1.png
│ ├── loc_chart_v0_1_small.png
│ ├── openXeen.png
│ ├── openXeen10.png
│ ├── openXeen11.png
│ ├── openXeen12.png
│ ├── openXeen13.png
│ ├── openXeen14.png
│ ├── openXeen15.png
│ ├── openXeen16.png
│ ├── openXeen2.png
│ ├── openXeen3.png
│ ├── openXeen4.png
│ ├── openXeen5.png
│ ├── openXeen6.png
│ ├── openXeen7.png
│ ├── openXeen8.png
│ └── openXeen9.png
└── doxygen
│ └── doxyfile
├── lib
├── Catalano
│ ├── Copyright.txt
│ ├── Documentation
│ │ └── javadoc
│ │ │ ├── Catalano
│ │ │ ├── Core
│ │ │ │ ├── ArraysUtil.html
│ │ │ │ ├── Concurrent
│ │ │ │ │ ├── MulticoreExecutor.html
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ └── MulticoreExecutor.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── DoublePoint.html
│ │ │ │ ├── DoubleRange.html
│ │ │ │ ├── FloatPoint.html
│ │ │ │ ├── FloatRange.html
│ │ │ │ ├── IntPoint.html
│ │ │ │ ├── IntRange.html
│ │ │ │ ├── Stopwatch.html
│ │ │ │ ├── Structs
│ │ │ │ │ ├── BinaryHeap.html
│ │ │ │ │ ├── DoubleArrayList.html
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ ├── BinaryHeap.html
│ │ │ │ │ │ └── DoubleArrayList.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── class-use
│ │ │ │ │ ├── ArraysUtil.html
│ │ │ │ │ ├── DoublePoint.html
│ │ │ │ │ ├── DoubleRange.html
│ │ │ │ │ ├── FloatPoint.html
│ │ │ │ │ ├── FloatRange.html
│ │ │ │ │ ├── IntPoint.html
│ │ │ │ │ ├── IntRange.html
│ │ │ │ │ └── Stopwatch.html
│ │ │ │ ├── package-frame.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ ├── Fuzzy
│ │ │ │ ├── CentroidDefuzzifier.html
│ │ │ │ ├── Clause.html
│ │ │ │ ├── Database.html
│ │ │ │ ├── FuzzyOutput.OutputConstraint.html
│ │ │ │ ├── FuzzyOutput.html
│ │ │ │ ├── FuzzySet.html
│ │ │ │ ├── ICoNorm.html
│ │ │ │ ├── IDefuzzifier.html
│ │ │ │ ├── IMembershipFunction.html
│ │ │ │ ├── INorm.html
│ │ │ │ ├── IUnaryOperator.html
│ │ │ │ ├── InferenceSystem.html
│ │ │ │ ├── LinguisticVariable.html
│ │ │ │ ├── MaximumCoNorm.html
│ │ │ │ ├── MinimumNorm.html
│ │ │ │ ├── NotOperator.html
│ │ │ │ ├── PiecewiseLinearFunction.html
│ │ │ │ ├── ProductNorm.html
│ │ │ │ ├── Rule.html
│ │ │ │ ├── Rulebase.html
│ │ │ │ ├── SingletonFunction.html
│ │ │ │ ├── TrapezoidalFunction.EdgeType.html
│ │ │ │ ├── TrapezoidalFunction.html
│ │ │ │ ├── class-use
│ │ │ │ │ ├── CentroidDefuzzifier.html
│ │ │ │ │ ├── Clause.html
│ │ │ │ │ ├── Database.html
│ │ │ │ │ ├── FuzzyOutput.OutputConstraint.html
│ │ │ │ │ ├── FuzzyOutput.html
│ │ │ │ │ ├── FuzzySet.html
│ │ │ │ │ ├── ICoNorm.html
│ │ │ │ │ ├── IDefuzzifier.html
│ │ │ │ │ ├── IMembershipFunction.html
│ │ │ │ │ ├── INorm.html
│ │ │ │ │ ├── IUnaryOperator.html
│ │ │ │ │ ├── InferenceSystem.html
│ │ │ │ │ ├── LinguisticVariable.html
│ │ │ │ │ ├── MaximumCoNorm.html
│ │ │ │ │ ├── MinimumNorm.html
│ │ │ │ │ ├── NotOperator.html
│ │ │ │ │ ├── PiecewiseLinearFunction.html
│ │ │ │ │ ├── ProductNorm.html
│ │ │ │ │ ├── Rule.html
│ │ │ │ │ ├── Rulebase.html
│ │ │ │ │ ├── SingletonFunction.html
│ │ │ │ │ ├── TrapezoidalFunction.EdgeType.html
│ │ │ │ │ └── TrapezoidalFunction.html
│ │ │ │ ├── package-frame.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ ├── Graph
│ │ │ │ ├── AdjacencyMatrix.html
│ │ │ │ ├── Network
│ │ │ │ │ ├── ClosenessCentrality.html
│ │ │ │ │ ├── DegreeCentrality.html
│ │ │ │ │ ├── EigenvectorCentrality.html
│ │ │ │ │ ├── Hits.html
│ │ │ │ │ ├── PageRank.html
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ ├── ClosenessCentrality.html
│ │ │ │ │ │ ├── DegreeCentrality.html
│ │ │ │ │ │ ├── EigenvectorCentrality.html
│ │ │ │ │ │ ├── Hits.html
│ │ │ │ │ │ └── PageRank.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── Pathfinding
│ │ │ │ │ ├── AStar
│ │ │ │ │ │ ├── ANode.html
│ │ │ │ │ │ ├── AStar.Heuristic.html
│ │ │ │ │ │ ├── AStar.Neighbor.html
│ │ │ │ │ │ ├── AStar.html
│ │ │ │ │ │ ├── NodeMap.html
│ │ │ │ │ │ ├── class-use
│ │ │ │ │ │ │ ├── ANode.html
│ │ │ │ │ │ │ ├── AStar.Heuristic.html
│ │ │ │ │ │ │ ├── AStar.Neighbor.html
│ │ │ │ │ │ │ ├── AStar.html
│ │ │ │ │ │ │ └── NodeMap.html
│ │ │ │ │ │ ├── package-frame.html
│ │ │ │ │ │ ├── package-summary.html
│ │ │ │ │ │ ├── package-tree.html
│ │ │ │ │ │ └── package-use.html
│ │ │ │ │ ├── ISearch.html
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ └── ISearch.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── class-use
│ │ │ │ │ └── AdjacencyMatrix.html
│ │ │ │ ├── package-frame.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ ├── IO
│ │ │ │ ├── ArffParser.html
│ │ │ │ ├── CSVParser.html
│ │ │ │ ├── DataParser.html
│ │ │ │ ├── Serialization.html
│ │ │ │ ├── class-use
│ │ │ │ │ ├── ArffParser.html
│ │ │ │ │ ├── CSVParser.html
│ │ │ │ │ ├── DataParser.html
│ │ │ │ │ └── Serialization.html
│ │ │ │ ├── package-frame.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ ├── Imaging
│ │ │ │ ├── ActiveContour
│ │ │ │ │ └── Ovuscule
│ │ │ │ │ │ ├── IOvusculeSnake2D.html
│ │ │ │ │ │ ├── Ovuscule.html
│ │ │ │ │ │ ├── OvusculeSnake2DKeeper.html
│ │ │ │ │ │ ├── OvusculeSnake2DNode.html
│ │ │ │ │ │ ├── OvusculeSnake2DScale.html
│ │ │ │ │ │ ├── class-use
│ │ │ │ │ │ ├── IOvusculeSnake2D.html
│ │ │ │ │ │ ├── Ovuscule.html
│ │ │ │ │ │ ├── OvusculeSnake2DKeeper.html
│ │ │ │ │ │ ├── OvusculeSnake2DNode.html
│ │ │ │ │ │ └── OvusculeSnake2DScale.html
│ │ │ │ │ │ ├── package-frame.html
│ │ │ │ │ │ ├── package-summary.html
│ │ │ │ │ │ ├── package-tree.html
│ │ │ │ │ │ └── package-use.html
│ │ │ │ ├── Color.html
│ │ │ │ ├── Concurrent
│ │ │ │ │ ├── Filters
│ │ │ │ │ │ ├── AlphaTrimmedMean.html
│ │ │ │ │ │ ├── BernsenThreshold.html
│ │ │ │ │ │ ├── Blur.html
│ │ │ │ │ │ ├── BradleyLocalThreshold.html
│ │ │ │ │ │ ├── Closing.html
│ │ │ │ │ │ ├── ColorFiltering.html
│ │ │ │ │ │ ├── ConservativeSmoothing.html
│ │ │ │ │ │ ├── Convolution.html
│ │ │ │ │ │ ├── Desaturation.html
│ │ │ │ │ │ ├── DifferenceEdgeDetector.html
│ │ │ │ │ │ ├── Dilatation.html
│ │ │ │ │ │ ├── Emboss.html
│ │ │ │ │ │ ├── Erosion.html
│ │ │ │ │ │ ├── Exp.html
│ │ │ │ │ │ ├── FastVariance.html
│ │ │ │ │ │ ├── Grayscale.Algorithm.html
│ │ │ │ │ │ ├── Grayscale.html
│ │ │ │ │ │ ├── HSLFiltering.html
│ │ │ │ │ │ ├── HysteresisThreshold.html
│ │ │ │ │ │ ├── ImageNormalization.html
│ │ │ │ │ │ ├── Invert.html
│ │ │ │ │ │ ├── Log.html
│ │ │ │ │ │ ├── Maximum.html
│ │ │ │ │ │ ├── MaximumEntropyThreshold.html
│ │ │ │ │ │ ├── Mean.Arithmetic.html
│ │ │ │ │ │ ├── Mean.html
│ │ │ │ │ │ ├── Median.html
│ │ │ │ │ │ ├── Minimum.html
│ │ │ │ │ │ ├── MorphologicGradientImage.html
│ │ │ │ │ │ ├── NiblackThreshold.html
│ │ │ │ │ │ ├── Opening.html
│ │ │ │ │ │ ├── OtsuThreshold.html
│ │ │ │ │ │ ├── RosinThreshold.html
│ │ │ │ │ │ ├── SISThreshold.html
│ │ │ │ │ │ ├── SauvolaThreshold.html
│ │ │ │ │ │ ├── Sharpen.html
│ │ │ │ │ │ ├── SobelEdgeDetector.html
│ │ │ │ │ │ ├── Threshold.html
│ │ │ │ │ │ ├── Variance.html
│ │ │ │ │ │ ├── YCbCrFiltering.html
│ │ │ │ │ │ ├── class-use
│ │ │ │ │ │ │ ├── AlphaTrimmedMean.html
│ │ │ │ │ │ │ ├── BernsenThreshold.html
│ │ │ │ │ │ │ ├── Blur.html
│ │ │ │ │ │ │ ├── BradleyLocalThreshold.html
│ │ │ │ │ │ │ ├── Closing.html
│ │ │ │ │ │ │ ├── ColorFiltering.html
│ │ │ │ │ │ │ ├── ConservativeSmoothing.html
│ │ │ │ │ │ │ ├── Convolution.html
│ │ │ │ │ │ │ ├── Desaturation.html
│ │ │ │ │ │ │ ├── DifferenceEdgeDetector.html
│ │ │ │ │ │ │ ├── Dilatation.html
│ │ │ │ │ │ │ ├── Emboss.html
│ │ │ │ │ │ │ ├── Erosion.html
│ │ │ │ │ │ │ ├── Exp.html
│ │ │ │ │ │ │ ├── FastVariance.html
│ │ │ │ │ │ │ ├── Grayscale.Algorithm.html
│ │ │ │ │ │ │ ├── Grayscale.html
│ │ │ │ │ │ │ ├── HSLFiltering.html
│ │ │ │ │ │ │ ├── HysteresisThreshold.html
│ │ │ │ │ │ │ ├── ImageNormalization.html
│ │ │ │ │ │ │ ├── Invert.html
│ │ │ │ │ │ │ ├── Log.html
│ │ │ │ │ │ │ ├── Maximum.html
│ │ │ │ │ │ │ ├── MaximumEntropyThreshold.html
│ │ │ │ │ │ │ ├── Mean.Arithmetic.html
│ │ │ │ │ │ │ ├── Mean.html
│ │ │ │ │ │ │ ├── Median.html
│ │ │ │ │ │ │ ├── Minimum.html
│ │ │ │ │ │ │ ├── MorphologicGradientImage.html
│ │ │ │ │ │ │ ├── NiblackThreshold.html
│ │ │ │ │ │ │ ├── Opening.html
│ │ │ │ │ │ │ ├── OtsuThreshold.html
│ │ │ │ │ │ │ ├── RosinThreshold.html
│ │ │ │ │ │ │ ├── SISThreshold.html
│ │ │ │ │ │ │ ├── SauvolaThreshold.html
│ │ │ │ │ │ │ ├── Sharpen.html
│ │ │ │ │ │ │ ├── SobelEdgeDetector.html
│ │ │ │ │ │ │ ├── Threshold.html
│ │ │ │ │ │ │ ├── Variance.html
│ │ │ │ │ │ │ └── YCbCrFiltering.html
│ │ │ │ │ │ ├── package-frame.html
│ │ │ │ │ │ ├── package-summary.html
│ │ │ │ │ │ ├── package-tree.html
│ │ │ │ │ │ └── package-use.html
│ │ │ │ │ ├── Share.html
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ └── Share.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── Corners
│ │ │ │ │ ├── FREAK
│ │ │ │ │ │ ├── FastRetinaKeypoint.html
│ │ │ │ │ │ ├── FastRetinaKeypointDescriptor.html
│ │ │ │ │ │ ├── FastRetinaKeypointDetector.FastRetinaKeypointDescriptorType.html
│ │ │ │ │ │ ├── FastRetinaKeypointDetector.html
│ │ │ │ │ │ ├── FastRetinaKeypointPattern.html
│ │ │ │ │ │ ├── class-use
│ │ │ │ │ │ │ ├── FastRetinaKeypoint.html
│ │ │ │ │ │ │ ├── FastRetinaKeypointDescriptor.html
│ │ │ │ │ │ │ ├── FastRetinaKeypointDetector.FastRetinaKeypointDescriptorType.html
│ │ │ │ │ │ │ ├── FastRetinaKeypointDetector.html
│ │ │ │ │ │ │ └── FastRetinaKeypointPattern.html
│ │ │ │ │ │ ├── package-frame.html
│ │ │ │ │ │ ├── package-summary.html
│ │ │ │ │ │ ├── package-tree.html
│ │ │ │ │ │ └── package-use.html
│ │ │ │ │ ├── Fast12.html
│ │ │ │ │ ├── Fast9.html
│ │ │ │ │ ├── FastCornersDetector.Algorithm.html
│ │ │ │ │ ├── FastCornersDetector.html
│ │ │ │ │ ├── FeaturePoint.html
│ │ │ │ │ ├── HarrisCornersDetector.HarrisCornerMeasure.html
│ │ │ │ │ ├── HarrisCornersDetector.html
│ │ │ │ │ ├── ICornersDetector.html
│ │ │ │ │ ├── ICornersFeatureDetector.html
│ │ │ │ │ ├── SusanCornersDetector.html
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ ├── Fast12.html
│ │ │ │ │ │ ├── Fast9.html
│ │ │ │ │ │ ├── FastCornersDetector.Algorithm.html
│ │ │ │ │ │ ├── FastCornersDetector.html
│ │ │ │ │ │ ├── FeaturePoint.html
│ │ │ │ │ │ ├── HarrisCornersDetector.HarrisCornerMeasure.html
│ │ │ │ │ │ ├── HarrisCornersDetector.html
│ │ │ │ │ │ ├── ICornersDetector.html
│ │ │ │ │ │ ├── ICornersFeatureDetector.html
│ │ │ │ │ │ └── SusanCornersDetector.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── FastBitmap.ColorSpace.html
│ │ │ │ ├── FastBitmap.CoordinateSystem.html
│ │ │ │ ├── FastBitmap.html
│ │ │ │ ├── FastGraphics.html
│ │ │ │ ├── Filters
│ │ │ │ │ ├── AdaptiveContrastEnhancement.html
│ │ │ │ │ ├── Add.html
│ │ │ │ │ ├── AdditiveNoise.html
│ │ │ │ │ ├── AlphaTrimmedMean.html
│ │ │ │ │ ├── And.html
│ │ │ │ │ ├── ArtifactsRemoval.html
│ │ │ │ │ ├── Artistic
│ │ │ │ │ │ ├── Blend.Algorithm.html
│ │ │ │ │ │ ├── Blend.html
│ │ │ │ │ │ ├── FakeHDR.html
│ │ │ │ │ │ ├── FilmGrain.html
│ │ │ │ │ │ ├── HeatMap.html
│ │ │ │ │ │ ├── OilPainting.html
│ │ │ │ │ │ ├── Opacity.html
│ │ │ │ │ │ ├── PencilSketch.html
│ │ │ │ │ │ ├── Solarize.html
│ │ │ │ │ │ ├── SpecularBloom.AdaptiveThreshold.html
│ │ │ │ │ │ ├── SpecularBloom.html
│ │ │ │ │ │ ├── class-use
│ │ │ │ │ │ │ ├── Blend.Algorithm.html
│ │ │ │ │ │ │ ├── Blend.html
│ │ │ │ │ │ │ ├── FakeHDR.html
│ │ │ │ │ │ │ ├── FilmGrain.html
│ │ │ │ │ │ │ ├── HeatMap.html
│ │ │ │ │ │ │ ├── OilPainting.html
│ │ │ │ │ │ │ ├── Opacity.html
│ │ │ │ │ │ │ ├── PencilSketch.html
│ │ │ │ │ │ │ ├── Solarize.html
│ │ │ │ │ │ │ ├── SpecularBloom.AdaptiveThreshold.html
│ │ │ │ │ │ │ └── SpecularBloom.html
│ │ │ │ │ │ ├── package-frame.html
│ │ │ │ │ │ ├── package-summary.html
│ │ │ │ │ │ ├── package-tree.html
│ │ │ │ │ │ └── package-use.html
│ │ │ │ │ ├── BernsenThreshold.html
│ │ │ │ │ ├── BinaryClosing.html
│ │ │ │ │ ├── BinaryDilatation.html
│ │ │ │ │ ├── BinaryErosion.html
│ │ │ │ │ ├── BinaryOpening.html
│ │ │ │ │ ├── BlobsFiltering.Filter.html
│ │ │ │ │ ├── BlobsFiltering.html
│ │ │ │ │ ├── Blur.html
│ │ │ │ │ ├── BottomHat.html
│ │ │ │ │ ├── BradleyLocalThreshold.html
│ │ │ │ │ ├── BrightnessCorrection.html
│ │ │ │ │ ├── CannyEdgeDetector.html
│ │ │ │ │ ├── Clahe.html
│ │ │ │ │ ├── Closing.html
│ │ │ │ │ ├── ColorFiltering.html
│ │ │ │ │ ├── ConservativeSmoothing.html
│ │ │ │ │ ├── ContrastCorrection.html
│ │ │ │ │ ├── Convolution.html
│ │ │ │ │ ├── CosineTransform.html
│ │ │ │ │ ├── Crop.html
│ │ │ │ │ ├── Desaturation.html
│ │ │ │ │ ├── Difference.html
│ │ │ │ │ ├── DifferenceEdgeDetector.html
│ │ │ │ │ ├── DifferenceOfGaussian.html
│ │ │ │ │ ├── Dilatation.html
│ │ │ │ │ ├── DistanceTransform.Distance.html
│ │ │ │ │ ├── DistanceTransform.html
│ │ │ │ │ ├── Division.html
│ │ │ │ │ ├── Emboss.html
│ │ │ │ │ ├── Erosion.html
│ │ │ │ │ ├── Exp.html
│ │ │ │ │ ├── ExtractBiggestBlob.html
│ │ │ │ │ ├── ExtractBoundary.Algorithm.html
│ │ │ │ │ ├── ExtractBoundary.html
│ │ │ │ │ ├── ExtractNormalizedRGBChannel.Channel.html
│ │ │ │ │ ├── ExtractNormalizedRGBChannel.html
│ │ │ │ │ ├── ExtractRGBChannel.Channel.html
│ │ │ │ │ ├── ExtractRGBChannel.html
│ │ │ │ │ ├── ExtractYCbCrChannel.Channel.html
│ │ │ │ │ ├── ExtractYCbCrChannel.html
│ │ │ │ │ ├── FastVariance.html
│ │ │ │ │ ├── FillHoles.html
│ │ │ │ │ ├── FloodFill.Algorithm.html
│ │ │ │ │ ├── FloodFill.html
│ │ │ │ │ ├── FourierTransform.html
│ │ │ │ │ ├── FrequencyFilter.html
│ │ │ │ │ ├── GaborFilter.html
│ │ │ │ │ ├── GammaCorrection.html
│ │ │ │ │ ├── GaussianBlur.html
│ │ │ │ │ ├── GaussianBoxBlur.html
│ │ │ │ │ ├── GaussianNoise.html
│ │ │ │ │ ├── GradientMap.html
│ │ │ │ │ ├── GrayWorld.html
│ │ │ │ │ ├── Grayscale.Algorithm.html
│ │ │ │ │ ├── Grayscale.html
│ │ │ │ │ ├── HSLFiltering.html
│ │ │ │ │ ├── HSLLinear.html
│ │ │ │ │ ├── HighBoost.html
│ │ │ │ │ ├── HistogramEqualization.html
│ │ │ │ │ ├── HistogramMatching.html
│ │ │ │ │ ├── HistogramShrink.html
│ │ │ │ │ ├── HistogramStretch.html
│ │ │ │ │ ├── HomogenityEdgeDetector.html
│ │ │ │ │ ├── HomomorphicFilter.html
│ │ │ │ │ ├── HorizontalIntensityStatistics.html
│ │ │ │ │ ├── HorizontalRunLengthSmoothing.html
│ │ │ │ │ ├── HysteresisThreshold.html
│ │ │ │ │ ├── ImageNormalization.html
│ │ │ │ │ ├── ImagePyramids.html
│ │ │ │ │ ├── ImageQuantization.html
│ │ │ │ │ ├── Intersect.html
│ │ │ │ │ ├── Invert.html
│ │ │ │ │ ├── IsoDataClassifier.html
│ │ │ │ │ ├── IsotropicCompassEdgeDetector.html
│ │ │ │ │ ├── KirschCompassEdgeDetector.html
│ │ │ │ │ ├── Kuwahara.html
│ │ │ │ │ ├── LevelsCurve.html
│ │ │ │ │ ├── LevelsLinear.html
│ │ │ │ │ ├── Log.html
│ │ │ │ │ ├── Maximum.html
│ │ │ │ │ ├── MaximumEntropyThreshold.html
│ │ │ │ │ ├── Mean.Arithmetic.html
│ │ │ │ │ ├── Mean.html
│ │ │ │ │ ├── MeanShift.html
│ │ │ │ │ ├── Median.html
│ │ │ │ │ ├── MedianCut.html
│ │ │ │ │ ├── Merge.html
│ │ │ │ │ ├── MidPoint.html
│ │ │ │ │ ├── Minimum.html
│ │ │ │ │ ├── Mirror.html
│ │ │ │ │ ├── Mode.html
│ │ │ │ │ ├── ModifiedWhitePatch.html
│ │ │ │ │ ├── Morph.html
│ │ │ │ │ ├── MorphologicGradientImage.html
│ │ │ │ │ ├── MoveTowards.html
│ │ │ │ │ ├── Multiply.html
│ │ │ │ │ ├── Nand.html
│ │ │ │ │ ├── NiblackThreshold.html
│ │ │ │ │ ├── NickThreshold.html
│ │ │ │ │ ├── Nor.html
│ │ │ │ │ ├── Opening.html
│ │ │ │ │ ├── Or.html
│ │ │ │ │ ├── OtsuThreshold.html
│ │ │ │ │ ├── Outline.html
│ │ │ │ │ ├── PoissonNoise.html
│ │ │ │ │ ├── PrewittCompassEdgeDetector.html
│ │ │ │ │ ├── RGChromaticity.html
│ │ │ │ │ ├── ReplaceColor.html
│ │ │ │ │ ├── ReplaceRGBChannel.RGB.html
│ │ │ │ │ ├── ReplaceRGBChannel.html
│ │ │ │ │ ├── Resize.Algorithm.html
│ │ │ │ │ ├── Resize.html
│ │ │ │ │ ├── ResizeBicubic.html
│ │ │ │ │ ├── ResizeBilinear.html
│ │ │ │ │ ├── ResizeNearestNeighbor.html
│ │ │ │ │ ├── RobertsCrossEdgeDetector.html
│ │ │ │ │ ├── RobinsonCompassEdgeDetector.html
│ │ │ │ │ ├── RosinThreshold.html
│ │ │ │ │ ├── Rotate.Algorithm.html
│ │ │ │ │ ├── Rotate.html
│ │ │ │ │ ├── RotateBicubic.html
│ │ │ │ │ ├── RotateBilinear.html
│ │ │ │ │ ├── RotateChannels.html
│ │ │ │ │ ├── RotateNearestNeighbor.html
│ │ │ │ │ ├── SISThreshold.html
│ │ │ │ │ ├── SaltAndPepperNoise.html
│ │ │ │ │ ├── SaturationCorrection.html
│ │ │ │ │ ├── SauvolaThreshold.html
│ │ │ │ │ ├── ScharrCompassEdgeDetector.html
│ │ │ │ │ ├── SeparableConvolution.html
│ │ │ │ │ ├── Sepia.html
│ │ │ │ │ ├── Sharpen.html
│ │ │ │ │ ├── SobelCompassEdgeDetector.html
│ │ │ │ │ ├── SobelEdgeDetector.html
│ │ │ │ │ ├── StereoAnaglyph.Algorithm.html
│ │ │ │ │ ├── StereoAnaglyph.html
│ │ │ │ │ ├── Subtract.html
│ │ │ │ │ ├── Threshold.html
│ │ │ │ │ ├── TopHat.html
│ │ │ │ │ ├── UnsharpMasking.html
│ │ │ │ │ ├── Variance.html
│ │ │ │ │ ├── VerticalIntensityStatistics.html
│ │ │ │ │ ├── VerticalRunLengthSmoothing.html
│ │ │ │ │ ├── Watershed.html
│ │ │ │ │ ├── WaveletTransform.html
│ │ │ │ │ ├── WeightedMedian.html
│ │ │ │ │ ├── WhitePatch.html
│ │ │ │ │ ├── WolfJolionThreshold.html
│ │ │ │ │ ├── Xor.html
│ │ │ │ │ ├── YCbCrFiltering.html
│ │ │ │ │ ├── ZhangSuenThinning.html
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ ├── AdaptiveContrastEnhancement.html
│ │ │ │ │ │ ├── Add.html
│ │ │ │ │ │ ├── AdditiveNoise.html
│ │ │ │ │ │ ├── AlphaTrimmedMean.html
│ │ │ │ │ │ ├── And.html
│ │ │ │ │ │ ├── ArtifactsRemoval.html
│ │ │ │ │ │ ├── BernsenThreshold.html
│ │ │ │ │ │ ├── BinaryClosing.html
│ │ │ │ │ │ ├── BinaryDilatation.html
│ │ │ │ │ │ ├── BinaryErosion.html
│ │ │ │ │ │ ├── BinaryOpening.html
│ │ │ │ │ │ ├── BlobsFiltering.Filter.html
│ │ │ │ │ │ ├── BlobsFiltering.html
│ │ │ │ │ │ ├── Blur.html
│ │ │ │ │ │ ├── BottomHat.html
│ │ │ │ │ │ ├── BradleyLocalThreshold.html
│ │ │ │ │ │ ├── BrightnessCorrection.html
│ │ │ │ │ │ ├── CannyEdgeDetector.html
│ │ │ │ │ │ ├── Clahe.html
│ │ │ │ │ │ ├── Closing.html
│ │ │ │ │ │ ├── ColorFiltering.html
│ │ │ │ │ │ ├── ConservativeSmoothing.html
│ │ │ │ │ │ ├── ContrastCorrection.html
│ │ │ │ │ │ ├── Convolution.html
│ │ │ │ │ │ ├── CosineTransform.html
│ │ │ │ │ │ ├── Crop.html
│ │ │ │ │ │ ├── Desaturation.html
│ │ │ │ │ │ ├── Difference.html
│ │ │ │ │ │ ├── DifferenceEdgeDetector.html
│ │ │ │ │ │ ├── DifferenceOfGaussian.html
│ │ │ │ │ │ ├── Dilatation.html
│ │ │ │ │ │ ├── DistanceTransform.Distance.html
│ │ │ │ │ │ ├── DistanceTransform.html
│ │ │ │ │ │ ├── Division.html
│ │ │ │ │ │ ├── Emboss.html
│ │ │ │ │ │ ├── Erosion.html
│ │ │ │ │ │ ├── Exp.html
│ │ │ │ │ │ ├── ExtractBiggestBlob.html
│ │ │ │ │ │ ├── ExtractBoundary.Algorithm.html
│ │ │ │ │ │ ├── ExtractBoundary.html
│ │ │ │ │ │ ├── ExtractNormalizedRGBChannel.Channel.html
│ │ │ │ │ │ ├── ExtractNormalizedRGBChannel.html
│ │ │ │ │ │ ├── ExtractRGBChannel.Channel.html
│ │ │ │ │ │ ├── ExtractRGBChannel.html
│ │ │ │ │ │ ├── ExtractYCbCrChannel.Channel.html
│ │ │ │ │ │ ├── ExtractYCbCrChannel.html
│ │ │ │ │ │ ├── FastVariance.html
│ │ │ │ │ │ ├── FillHoles.html
│ │ │ │ │ │ ├── FloodFill.Algorithm.html
│ │ │ │ │ │ ├── FloodFill.html
│ │ │ │ │ │ ├── FourierTransform.html
│ │ │ │ │ │ ├── FrequencyFilter.html
│ │ │ │ │ │ ├── GaborFilter.html
│ │ │ │ │ │ ├── GammaCorrection.html
│ │ │ │ │ │ ├── GaussianBlur.html
│ │ │ │ │ │ ├── GaussianBoxBlur.html
│ │ │ │ │ │ ├── GaussianNoise.html
│ │ │ │ │ │ ├── GradientMap.html
│ │ │ │ │ │ ├── GrayWorld.html
│ │ │ │ │ │ ├── Grayscale.Algorithm.html
│ │ │ │ │ │ ├── Grayscale.html
│ │ │ │ │ │ ├── HSLFiltering.html
│ │ │ │ │ │ ├── HSLLinear.html
│ │ │ │ │ │ ├── HighBoost.html
│ │ │ │ │ │ ├── HistogramEqualization.html
│ │ │ │ │ │ ├── HistogramMatching.html
│ │ │ │ │ │ ├── HistogramShrink.html
│ │ │ │ │ │ ├── HistogramStretch.html
│ │ │ │ │ │ ├── HomogenityEdgeDetector.html
│ │ │ │ │ │ ├── HomomorphicFilter.html
│ │ │ │ │ │ ├── HorizontalIntensityStatistics.html
│ │ │ │ │ │ ├── HorizontalRunLengthSmoothing.html
│ │ │ │ │ │ ├── HysteresisThreshold.html
│ │ │ │ │ │ ├── ImageNormalization.html
│ │ │ │ │ │ ├── ImagePyramids.html
│ │ │ │ │ │ ├── ImageQuantization.html
│ │ │ │ │ │ ├── Intersect.html
│ │ │ │ │ │ ├── Invert.html
│ │ │ │ │ │ ├── IsoDataClassifier.html
│ │ │ │ │ │ ├── IsotropicCompassEdgeDetector.html
│ │ │ │ │ │ ├── KirschCompassEdgeDetector.html
│ │ │ │ │ │ ├── Kuwahara.html
│ │ │ │ │ │ ├── LevelsCurve.html
│ │ │ │ │ │ ├── LevelsLinear.html
│ │ │ │ │ │ ├── Log.html
│ │ │ │ │ │ ├── Maximum.html
│ │ │ │ │ │ ├── MaximumEntropyThreshold.html
│ │ │ │ │ │ ├── Mean.Arithmetic.html
│ │ │ │ │ │ ├── Mean.html
│ │ │ │ │ │ ├── MeanShift.html
│ │ │ │ │ │ ├── Median.html
│ │ │ │ │ │ ├── MedianCut.html
│ │ │ │ │ │ ├── Merge.html
│ │ │ │ │ │ ├── MidPoint.html
│ │ │ │ │ │ ├── Minimum.html
│ │ │ │ │ │ ├── Mirror.html
│ │ │ │ │ │ ├── Mode.html
│ │ │ │ │ │ ├── ModifiedWhitePatch.html
│ │ │ │ │ │ ├── Morph.html
│ │ │ │ │ │ ├── MorphologicGradientImage.html
│ │ │ │ │ │ ├── MoveTowards.html
│ │ │ │ │ │ ├── Multiply.html
│ │ │ │ │ │ ├── Nand.html
│ │ │ │ │ │ ├── NiblackThreshold.html
│ │ │ │ │ │ ├── NickThreshold.html
│ │ │ │ │ │ ├── Nor.html
│ │ │ │ │ │ ├── Opening.html
│ │ │ │ │ │ ├── Or.html
│ │ │ │ │ │ ├── OtsuThreshold.html
│ │ │ │ │ │ ├── Outline.html
│ │ │ │ │ │ ├── PoissonNoise.html
│ │ │ │ │ │ ├── PrewittCompassEdgeDetector.html
│ │ │ │ │ │ ├── RGChromaticity.html
│ │ │ │ │ │ ├── ReplaceColor.html
│ │ │ │ │ │ ├── ReplaceRGBChannel.RGB.html
│ │ │ │ │ │ ├── ReplaceRGBChannel.html
│ │ │ │ │ │ ├── Resize.Algorithm.html
│ │ │ │ │ │ ├── Resize.html
│ │ │ │ │ │ ├── ResizeBicubic.html
│ │ │ │ │ │ ├── ResizeBilinear.html
│ │ │ │ │ │ ├── ResizeNearestNeighbor.html
│ │ │ │ │ │ ├── RobertsCrossEdgeDetector.html
│ │ │ │ │ │ ├── RobinsonCompassEdgeDetector.html
│ │ │ │ │ │ ├── RosinThreshold.html
│ │ │ │ │ │ ├── Rotate.Algorithm.html
│ │ │ │ │ │ ├── Rotate.html
│ │ │ │ │ │ ├── RotateBicubic.html
│ │ │ │ │ │ ├── RotateBilinear.html
│ │ │ │ │ │ ├── RotateChannels.html
│ │ │ │ │ │ ├── RotateNearestNeighbor.html
│ │ │ │ │ │ ├── SISThreshold.html
│ │ │ │ │ │ ├── SaltAndPepperNoise.html
│ │ │ │ │ │ ├── SaturationCorrection.html
│ │ │ │ │ │ ├── SauvolaThreshold.html
│ │ │ │ │ │ ├── ScharrCompassEdgeDetector.html
│ │ │ │ │ │ ├── SeparableConvolution.html
│ │ │ │ │ │ ├── Sepia.html
│ │ │ │ │ │ ├── Sharpen.html
│ │ │ │ │ │ ├── SobelCompassEdgeDetector.html
│ │ │ │ │ │ ├── SobelEdgeDetector.html
│ │ │ │ │ │ ├── StereoAnaglyph.Algorithm.html
│ │ │ │ │ │ ├── StereoAnaglyph.html
│ │ │ │ │ │ ├── Subtract.html
│ │ │ │ │ │ ├── Threshold.html
│ │ │ │ │ │ ├── TopHat.html
│ │ │ │ │ │ ├── UnsharpMasking.html
│ │ │ │ │ │ ├── Variance.html
│ │ │ │ │ │ ├── VerticalIntensityStatistics.html
│ │ │ │ │ │ ├── VerticalRunLengthSmoothing.html
│ │ │ │ │ │ ├── Watershed.html
│ │ │ │ │ │ ├── WaveletTransform.html
│ │ │ │ │ │ ├── WeightedMedian.html
│ │ │ │ │ │ ├── WhitePatch.html
│ │ │ │ │ │ ├── WolfJolionThreshold.html
│ │ │ │ │ │ ├── Xor.html
│ │ │ │ │ │ ├── YCbCrFiltering.html
│ │ │ │ │ │ └── ZhangSuenThinning.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── IBaseInPlace.html
│ │ │ │ ├── IExtract.html
│ │ │ │ ├── IProcessImage.html
│ │ │ │ ├── Shapes
│ │ │ │ │ ├── IntPolygon.html
│ │ │ │ │ ├── IntRectangle.html
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ ├── IntPolygon.html
│ │ │ │ │ │ └── IntRectangle.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── Tools
│ │ │ │ │ ├── Blob.html
│ │ │ │ │ ├── BlobDetection.Algorithm.html
│ │ │ │ │ ├── BlobDetection.html
│ │ │ │ │ ├── ColorConverter.YCbCrColorSpace.html
│ │ │ │ │ ├── ColorConverter.html
│ │ │ │ │ ├── ColorDifference.html
│ │ │ │ │ ├── ColorMoments.html
│ │ │ │ │ ├── CompassConvolutionKernel.html
│ │ │ │ │ ├── ConvolutionKernel.html
│ │ │ │ │ ├── Curve.html
│ │ │ │ │ ├── DocumentSkewChecker.html
│ │ │ │ │ ├── ExtractBlob.html
│ │ │ │ │ ├── FastRadialSymmetryTransform.html
│ │ │ │ │ ├── FiltersSequence.html
│ │ │ │ │ ├── FlusserSukMoments.html
│ │ │ │ │ ├── GradientImage.html
│ │ │ │ │ ├── Granulometry.html
│ │ │ │ │ ├── GrayLevelCooccurrenceMatrix.Degree.html
│ │ │ │ │ ├── GrayLevelCooccurrenceMatrix.html
│ │ │ │ │ ├── GrayLevelDifferenceMethod.Degree.html
│ │ │ │ │ ├── GrayLevelDifferenceMethod.html
│ │ │ │ │ ├── GrayLevelRunLengthMatrix.Degree.html
│ │ │ │ │ ├── GrayLevelRunLengthMatrix.html
│ │ │ │ │ ├── HaralickDescriptors.html
│ │ │ │ │ ├── HistogramOfOrientedGradients.html
│ │ │ │ │ ├── HoughLine.html
│ │ │ │ │ ├── HoughLineTransformation.html
│ │ │ │ │ ├── HuMoments.html
│ │ │ │ │ ├── ImageHistogram.html
│ │ │ │ │ ├── ImageMoments.html
│ │ │ │ │ ├── ImagePadding.html
│ │ │ │ │ ├── ImageStatistics.html
│ │ │ │ │ ├── IntegralImage.html
│ │ │ │ │ ├── Interpolation.html
│ │ │ │ │ ├── Kernel.html
│ │ │ │ │ ├── LawsTextureEnergy.html
│ │ │ │ │ ├── LocalBinaryPattern.html
│ │ │ │ │ ├── LocalTernaryPattern.html
│ │ │ │ │ ├── MaitraMoments.html
│ │ │ │ │ ├── NearestNeighborMatrix.Direction.html
│ │ │ │ │ ├── NearestNeighborMatrix.html
│ │ │ │ │ ├── ObjectiveFidelity.html
│ │ │ │ │ ├── OrthogonalVariantMoments.html
│ │ │ │ │ ├── QuadrilateralTransformation.html
│ │ │ │ │ ├── RunLengthFeatures.html
│ │ │ │ │ ├── ShapeDescriptors.html
│ │ │ │ │ ├── VariationLaplacian.html
│ │ │ │ │ ├── WeberLocalDescriptor.html
│ │ │ │ │ ├── ZernikeMoments.html
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ ├── Blob.html
│ │ │ │ │ │ ├── BlobDetection.Algorithm.html
│ │ │ │ │ │ ├── BlobDetection.html
│ │ │ │ │ │ ├── ColorConverter.YCbCrColorSpace.html
│ │ │ │ │ │ ├── ColorConverter.html
│ │ │ │ │ │ ├── ColorDifference.html
│ │ │ │ │ │ ├── ColorMoments.html
│ │ │ │ │ │ ├── CompassConvolutionKernel.html
│ │ │ │ │ │ ├── ConvolutionKernel.html
│ │ │ │ │ │ ├── Curve.html
│ │ │ │ │ │ ├── DocumentSkewChecker.html
│ │ │ │ │ │ ├── ExtractBlob.html
│ │ │ │ │ │ ├── FastRadialSymmetryTransform.html
│ │ │ │ │ │ ├── FiltersSequence.html
│ │ │ │ │ │ ├── FlusserSukMoments.html
│ │ │ │ │ │ ├── GradientImage.html
│ │ │ │ │ │ ├── Granulometry.html
│ │ │ │ │ │ ├── GrayLevelCooccurrenceMatrix.Degree.html
│ │ │ │ │ │ ├── GrayLevelCooccurrenceMatrix.html
│ │ │ │ │ │ ├── GrayLevelDifferenceMethod.Degree.html
│ │ │ │ │ │ ├── GrayLevelDifferenceMethod.html
│ │ │ │ │ │ ├── GrayLevelRunLengthMatrix.Degree.html
│ │ │ │ │ │ ├── GrayLevelRunLengthMatrix.html
│ │ │ │ │ │ ├── HaralickDescriptors.html
│ │ │ │ │ │ ├── HistogramOfOrientedGradients.html
│ │ │ │ │ │ ├── HoughLine.html
│ │ │ │ │ │ ├── HoughLineTransformation.html
│ │ │ │ │ │ ├── HuMoments.html
│ │ │ │ │ │ ├── ImageHistogram.html
│ │ │ │ │ │ ├── ImageMoments.html
│ │ │ │ │ │ ├── ImagePadding.html
│ │ │ │ │ │ ├── ImageStatistics.html
│ │ │ │ │ │ ├── IntegralImage.html
│ │ │ │ │ │ ├── Interpolation.html
│ │ │ │ │ │ ├── Kernel.html
│ │ │ │ │ │ ├── LawsTextureEnergy.html
│ │ │ │ │ │ ├── LocalBinaryPattern.html
│ │ │ │ │ │ ├── LocalTernaryPattern.html
│ │ │ │ │ │ ├── MaitraMoments.html
│ │ │ │ │ │ ├── NearestNeighborMatrix.Direction.html
│ │ │ │ │ │ ├── NearestNeighborMatrix.html
│ │ │ │ │ │ ├── ObjectiveFidelity.html
│ │ │ │ │ │ ├── OrthogonalVariantMoments.html
│ │ │ │ │ │ ├── QuadrilateralTransformation.html
│ │ │ │ │ │ ├── RunLengthFeatures.html
│ │ │ │ │ │ ├── ShapeDescriptors.html
│ │ │ │ │ │ ├── VariationLaplacian.html
│ │ │ │ │ │ ├── WeberLocalDescriptor.html
│ │ │ │ │ │ └── ZernikeMoments.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── class-use
│ │ │ │ │ ├── Color.html
│ │ │ │ │ ├── FastBitmap.ColorSpace.html
│ │ │ │ │ ├── FastBitmap.CoordinateSystem.html
│ │ │ │ │ ├── FastBitmap.html
│ │ │ │ │ ├── FastGraphics.html
│ │ │ │ │ ├── IBaseInPlace.html
│ │ │ │ │ ├── IExtract.html
│ │ │ │ │ └── IProcessImage.html
│ │ │ │ ├── package-frame.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ ├── MachineLearning
│ │ │ │ ├── BenchmarkClassifier.html
│ │ │ │ ├── Classification
│ │ │ │ │ ├── DecisionTrees
│ │ │ │ │ │ ├── DecisionTree.SplitRule.html
│ │ │ │ │ │ ├── DecisionTree.html
│ │ │ │ │ │ ├── Learning
│ │ │ │ │ │ │ ├── AdaBoost.html
│ │ │ │ │ │ │ ├── GradientBoostingTree.html
│ │ │ │ │ │ │ ├── RandomForest.RandomSelection.html
│ │ │ │ │ │ │ ├── RandomForest.html
│ │ │ │ │ │ │ ├── class-use
│ │ │ │ │ │ │ │ ├── AdaBoost.html
│ │ │ │ │ │ │ │ ├── GradientBoostingTree.html
│ │ │ │ │ │ │ │ ├── RandomForest.RandomSelection.html
│ │ │ │ │ │ │ │ └── RandomForest.html
│ │ │ │ │ │ │ ├── package-frame.html
│ │ │ │ │ │ │ ├── package-summary.html
│ │ │ │ │ │ │ ├── package-tree.html
│ │ │ │ │ │ │ └── package-use.html
│ │ │ │ │ │ ├── class-use
│ │ │ │ │ │ │ ├── DecisionTree.SplitRule.html
│ │ │ │ │ │ │ └── DecisionTree.html
│ │ │ │ │ │ ├── package-frame.html
│ │ │ │ │ │ ├── package-summary.html
│ │ │ │ │ │ ├── package-tree.html
│ │ │ │ │ │ └── package-use.html
│ │ │ │ │ ├── IClassifier.html
│ │ │ │ │ ├── KNearestNeighbors.html
│ │ │ │ │ ├── MulticlassSupportVectorMachine.html
│ │ │ │ │ ├── SVM.Strategy.html
│ │ │ │ │ ├── SVM.html
│ │ │ │ │ ├── SparseMulticlassSupportVectorMachine.html
│ │ │ │ │ ├── SparseSupportVectorMachine.html
│ │ │ │ │ ├── SupportVectorMachine.html
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ ├── IClassifier.html
│ │ │ │ │ │ ├── KNearestNeighbors.html
│ │ │ │ │ │ ├── MulticlassSupportVectorMachine.html
│ │ │ │ │ │ ├── SVM.Strategy.html
│ │ │ │ │ │ ├── SVM.html
│ │ │ │ │ │ ├── SparseMulticlassSupportVectorMachine.html
│ │ │ │ │ │ ├── SparseSupportVectorMachine.html
│ │ │ │ │ │ └── SupportVectorMachine.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── Codification.html
│ │ │ │ ├── ConfusionMatrix.html
│ │ │ │ ├── DatasetClassification.html
│ │ │ │ ├── DatasetStatistics.html
│ │ │ │ ├── DecisionVariable.Type.html
│ │ │ │ ├── DecisionVariable.html
│ │ │ │ ├── Exploration
│ │ │ │ │ ├── BoltzmannExploration.html
│ │ │ │ │ ├── EpsilonGreedyExploration.html
│ │ │ │ │ ├── IExplorationPolicy.html
│ │ │ │ │ ├── QLearning.html
│ │ │ │ │ ├── RouletteWheelExploration.html
│ │ │ │ │ ├── Sarsa.html
│ │ │ │ │ ├── TabuSearchExploration.html
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ ├── BoltzmannExploration.html
│ │ │ │ │ │ ├── EpsilonGreedyExploration.html
│ │ │ │ │ │ ├── IExplorationPolicy.html
│ │ │ │ │ │ ├── QLearning.html
│ │ │ │ │ │ ├── RouletteWheelExploration.html
│ │ │ │ │ │ ├── Sarsa.html
│ │ │ │ │ │ └── TabuSearchExploration.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── Normalization.html
│ │ │ │ ├── Performance
│ │ │ │ │ ├── HoldoutValidation.html
│ │ │ │ │ ├── IValidation.html
│ │ │ │ │ ├── LeaveOneOutCrossValidation.html
│ │ │ │ │ ├── SuppliedValidation.html
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ ├── HoldoutValidation.html
│ │ │ │ │ │ ├── IValidation.html
│ │ │ │ │ │ ├── LeaveOneOutCrossValidation.html
│ │ │ │ │ │ └── SuppliedValidation.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── Regression
│ │ │ │ │ ├── IRegression.html
│ │ │ │ │ ├── KNearestNeighbors.html
│ │ │ │ │ ├── RegressionTrees
│ │ │ │ │ │ ├── Learning
│ │ │ │ │ │ │ ├── GradientBoostingTree.Loss.html
│ │ │ │ │ │ │ ├── GradientBoostingTree.html
│ │ │ │ │ │ │ ├── RandomForest.html
│ │ │ │ │ │ │ ├── class-use
│ │ │ │ │ │ │ │ ├── GradientBoostingTree.Loss.html
│ │ │ │ │ │ │ │ ├── GradientBoostingTree.html
│ │ │ │ │ │ │ │ └── RandomForest.html
│ │ │ │ │ │ │ ├── package-frame.html
│ │ │ │ │ │ │ ├── package-summary.html
│ │ │ │ │ │ │ ├── package-tree.html
│ │ │ │ │ │ │ └── package-use.html
│ │ │ │ │ │ ├── RegressionTree.NodeOutput.html
│ │ │ │ │ │ ├── RegressionTree.html
│ │ │ │ │ │ ├── class-use
│ │ │ │ │ │ │ ├── RegressionTree.NodeOutput.html
│ │ │ │ │ │ │ └── RegressionTree.html
│ │ │ │ │ │ ├── package-frame.html
│ │ │ │ │ │ ├── package-summary.html
│ │ │ │ │ │ ├── package-tree.html
│ │ │ │ │ │ └── package-use.html
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ ├── IRegression.html
│ │ │ │ │ │ └── KNearestNeighbors.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── Standartization.html
│ │ │ │ ├── class-use
│ │ │ │ │ ├── BenchmarkClassifier.html
│ │ │ │ │ ├── Codification.html
│ │ │ │ │ ├── ConfusionMatrix.html
│ │ │ │ │ ├── DatasetClassification.html
│ │ │ │ │ ├── DatasetStatistics.html
│ │ │ │ │ ├── DecisionVariable.Type.html
│ │ │ │ │ ├── DecisionVariable.html
│ │ │ │ │ ├── Normalization.html
│ │ │ │ │ └── Standartization.html
│ │ │ │ ├── package-frame.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ ├── Math
│ │ │ │ ├── Approximation.html
│ │ │ │ ├── ComplexNumber.html
│ │ │ │ ├── Constants.html
│ │ │ │ ├── Decompositions
│ │ │ │ │ ├── CholeskyDecomposition.html
│ │ │ │ │ ├── EigenvalueDecomposition.html
│ │ │ │ │ ├── LUDecomposition.html
│ │ │ │ │ ├── QRDecomposition.html
│ │ │ │ │ ├── SingularValueDecomposition.html
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ ├── CholeskyDecomposition.html
│ │ │ │ │ │ ├── EigenvalueDecomposition.html
│ │ │ │ │ │ ├── LUDecomposition.html
│ │ │ │ │ │ ├── QRDecomposition.html
│ │ │ │ │ │ └── SingularValueDecomposition.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── Dissimilarities
│ │ │ │ │ ├── DiceDissimilarity.html
│ │ │ │ │ ├── Dissimilarity.html
│ │ │ │ │ ├── IDissimilarity.html
│ │ │ │ │ ├── JaccardDissimilarity.html
│ │ │ │ │ ├── KulsinskDissimilarity.html
│ │ │ │ │ ├── MatchingDissimilarity.html
│ │ │ │ │ ├── RogersTanimotoDissimilarity.html
│ │ │ │ │ ├── RusselRaoDissimilarity.html
│ │ │ │ │ ├── SokalMichenerDissimilarity.html
│ │ │ │ │ ├── SokalSneathDissimilarity.html
│ │ │ │ │ ├── YuleDissimilarity.html
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ ├── DiceDissimilarity.html
│ │ │ │ │ │ ├── Dissimilarity.html
│ │ │ │ │ │ ├── IDissimilarity.html
│ │ │ │ │ │ ├── JaccardDissimilarity.html
│ │ │ │ │ │ ├── KulsinskDissimilarity.html
│ │ │ │ │ │ ├── MatchingDissimilarity.html
│ │ │ │ │ │ ├── RogersTanimotoDissimilarity.html
│ │ │ │ │ │ ├── RusselRaoDissimilarity.html
│ │ │ │ │ │ ├── SokalMichenerDissimilarity.html
│ │ │ │ │ │ ├── SokalSneathDissimilarity.html
│ │ │ │ │ │ └── YuleDissimilarity.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── Distances
│ │ │ │ │ ├── ArithmeticGeometricDivergence.html
│ │ │ │ │ ├── BhattacharyyaDistance.html
│ │ │ │ │ ├── BrayCurtisDistance.html
│ │ │ │ │ ├── CanberraDistance.html
│ │ │ │ │ ├── ChebyshevDistance.html
│ │ │ │ │ ├── ChiSquareDistance.html
│ │ │ │ │ ├── CorrelationDistance.html
│ │ │ │ │ ├── CosineDistance.html
│ │ │ │ │ ├── Distance.html
│ │ │ │ │ ├── EuclideanDistance.html
│ │ │ │ │ ├── HammingDistance.html
│ │ │ │ │ ├── IDistance.html
│ │ │ │ │ ├── IDivergence.html
│ │ │ │ │ ├── IntersectionDistance.html
│ │ │ │ │ ├── JDivergence.html
│ │ │ │ │ ├── JaccardDistance.html
│ │ │ │ │ ├── JensenDifferenceDivergence.html
│ │ │ │ │ ├── JensenShannonDivergence.html
│ │ │ │ │ ├── KDivergence.html
│ │ │ │ │ ├── KullbackLeiblerDivergence.html
│ │ │ │ │ ├── KumarJohnsonDivergence.html
│ │ │ │ │ ├── ManhattanDistance.html
│ │ │ │ │ ├── MinkowskiDistance.html
│ │ │ │ │ ├── SquaredEuclideanDistance.html
│ │ │ │ │ ├── SymmetricChiSquareDivergence.html
│ │ │ │ │ ├── TanejaDivergence.html
│ │ │ │ │ ├── TopsoeDivergence.html
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ ├── ArithmeticGeometricDivergence.html
│ │ │ │ │ │ ├── BhattacharyyaDistance.html
│ │ │ │ │ │ ├── BrayCurtisDistance.html
│ │ │ │ │ │ ├── CanberraDistance.html
│ │ │ │ │ │ ├── ChebyshevDistance.html
│ │ │ │ │ │ ├── ChiSquareDistance.html
│ │ │ │ │ │ ├── CorrelationDistance.html
│ │ │ │ │ │ ├── CosineDistance.html
│ │ │ │ │ │ ├── Distance.html
│ │ │ │ │ │ ├── EuclideanDistance.html
│ │ │ │ │ │ ├── HammingDistance.html
│ │ │ │ │ │ ├── IDistance.html
│ │ │ │ │ │ ├── IDivergence.html
│ │ │ │ │ │ ├── IntersectionDistance.html
│ │ │ │ │ │ ├── JDivergence.html
│ │ │ │ │ │ ├── JaccardDistance.html
│ │ │ │ │ │ ├── JensenDifferenceDivergence.html
│ │ │ │ │ │ ├── JensenShannonDivergence.html
│ │ │ │ │ │ ├── KDivergence.html
│ │ │ │ │ │ ├── KullbackLeiblerDivergence.html
│ │ │ │ │ │ ├── KumarJohnsonDivergence.html
│ │ │ │ │ │ ├── ManhattanDistance.html
│ │ │ │ │ │ ├── MinkowskiDistance.html
│ │ │ │ │ │ ├── SquaredEuclideanDistance.html
│ │ │ │ │ │ ├── SymmetricChiSquareDivergence.html
│ │ │ │ │ │ ├── TanejaDivergence.html
│ │ │ │ │ │ └── TopsoeDivergence.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── Functions
│ │ │ │ │ ├── Bessel.html
│ │ │ │ │ ├── Beta.html
│ │ │ │ │ ├── Gabor.Config.html
│ │ │ │ │ ├── Gabor.html
│ │ │ │ │ ├── Gamma.html
│ │ │ │ │ ├── Gaussian.html
│ │ │ │ │ ├── Normal.html
│ │ │ │ │ ├── PerlinNoise.html
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ ├── Bessel.html
│ │ │ │ │ │ ├── Beta.html
│ │ │ │ │ │ ├── Gabor.Config.html
│ │ │ │ │ │ ├── Gabor.html
│ │ │ │ │ │ ├── Gamma.html
│ │ │ │ │ │ ├── Gaussian.html
│ │ │ │ │ │ ├── Normal.html
│ │ │ │ │ │ └── PerlinNoise.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── Geometry
│ │ │ │ │ ├── ConvexHullDefects.html
│ │ │ │ │ ├── ConvexityDefect.html
│ │ │ │ │ ├── FlatAnglesOptimizer.html
│ │ │ │ │ ├── GeometryTools.html
│ │ │ │ │ ├── GrahamConvexHull.html
│ │ │ │ │ ├── IShapeOptimizer.html
│ │ │ │ │ ├── KCurvature.html
│ │ │ │ │ ├── Line.html
│ │ │ │ │ ├── PointsCloud.FurthestPoint.html
│ │ │ │ │ ├── PointsCloud.html
│ │ │ │ │ ├── QuadrilateralTransformationCalc.html
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ ├── ConvexHullDefects.html
│ │ │ │ │ │ ├── ConvexityDefect.html
│ │ │ │ │ │ ├── FlatAnglesOptimizer.html
│ │ │ │ │ │ ├── GeometryTools.html
│ │ │ │ │ │ ├── GrahamConvexHull.html
│ │ │ │ │ │ ├── IShapeOptimizer.html
│ │ │ │ │ │ ├── KCurvature.html
│ │ │ │ │ │ ├── Line.html
│ │ │ │ │ │ ├── PointsCloud.FurthestPoint.html
│ │ │ │ │ │ ├── PointsCloud.html
│ │ │ │ │ │ └── QuadrilateralTransformationCalc.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── Matrix.html
│ │ │ │ ├── Matrix3x3.html
│ │ │ │ ├── Random.html
│ │ │ │ ├── RandomNumberGenerator.html
│ │ │ │ ├── RationalNumber.html
│ │ │ │ ├── SparseArray.Entry.html
│ │ │ │ ├── SparseArray.html
│ │ │ │ ├── Special.html
│ │ │ │ ├── TaylorSeries.html
│ │ │ │ ├── Tools.html
│ │ │ │ ├── Transforms
│ │ │ │ │ ├── DiscreteCosineTransform.html
│ │ │ │ │ ├── DiscreteHartleyTransform.html
│ │ │ │ │ ├── DiscreteSineTransform.html
│ │ │ │ │ ├── FourierTransform.Direction.html
│ │ │ │ │ ├── FourierTransform.html
│ │ │ │ │ ├── HilbertTransform.html
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ ├── DiscreteCosineTransform.html
│ │ │ │ │ │ ├── DiscreteHartleyTransform.html
│ │ │ │ │ │ ├── DiscreteSineTransform.html
│ │ │ │ │ │ ├── FourierTransform.Direction.html
│ │ │ │ │ │ ├── FourierTransform.html
│ │ │ │ │ │ └── HilbertTransform.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── UniversalGenerator.html
│ │ │ │ ├── Vector3.html
│ │ │ │ ├── Vector4.html
│ │ │ │ ├── Wavelets
│ │ │ │ │ ├── Haar.html
│ │ │ │ │ ├── IWavelet.html
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ ├── Haar.html
│ │ │ │ │ │ └── IWavelet.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── class-use
│ │ │ │ │ ├── Approximation.html
│ │ │ │ │ ├── ComplexNumber.html
│ │ │ │ │ ├── Constants.html
│ │ │ │ │ ├── Matrix.html
│ │ │ │ │ ├── Matrix3x3.html
│ │ │ │ │ ├── Random.html
│ │ │ │ │ ├── RandomNumberGenerator.html
│ │ │ │ │ ├── RationalNumber.html
│ │ │ │ │ ├── SparseArray.Entry.html
│ │ │ │ │ ├── SparseArray.html
│ │ │ │ │ ├── Special.html
│ │ │ │ │ ├── TaylorSeries.html
│ │ │ │ │ ├── Tools.html
│ │ │ │ │ ├── UniversalGenerator.html
│ │ │ │ │ ├── Vector3.html
│ │ │ │ │ └── Vector4.html
│ │ │ │ ├── package-frame.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ ├── Neuro
│ │ │ │ ├── ActivationLayer.html
│ │ │ │ ├── ActivationNetwork.html
│ │ │ │ ├── ActivationNeuron.html
│ │ │ │ ├── BipolarSigmoidFunction.html
│ │ │ │ ├── DistanceLayer.html
│ │ │ │ ├── DistanceNetwork.html
│ │ │ │ ├── DistanceNeuron.html
│ │ │ │ ├── IActivationFunction.html
│ │ │ │ ├── Layer.html
│ │ │ │ ├── Learning
│ │ │ │ │ ├── ISupervisedLearning.html
│ │ │ │ │ ├── IUnsupervisedLearning.html
│ │ │ │ │ ├── PerceptronLearning.html
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ ├── ISupervisedLearning.html
│ │ │ │ │ │ ├── IUnsupervisedLearning.html
│ │ │ │ │ │ └── PerceptronLearning.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── Network.html
│ │ │ │ ├── Neuron.html
│ │ │ │ ├── SigmoidFunction.html
│ │ │ │ ├── ThresholdFunction.html
│ │ │ │ ├── class-use
│ │ │ │ │ ├── ActivationLayer.html
│ │ │ │ │ ├── ActivationNetwork.html
│ │ │ │ │ ├── ActivationNeuron.html
│ │ │ │ │ ├── BipolarSigmoidFunction.html
│ │ │ │ │ ├── DistanceLayer.html
│ │ │ │ │ ├── DistanceNetwork.html
│ │ │ │ │ ├── DistanceNeuron.html
│ │ │ │ │ ├── IActivationFunction.html
│ │ │ │ │ ├── Layer.html
│ │ │ │ │ ├── Network.html
│ │ │ │ │ ├── Neuron.html
│ │ │ │ │ ├── SigmoidFunction.html
│ │ │ │ │ └── ThresholdFunction.html
│ │ │ │ ├── package-frame.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ ├── Signal
│ │ │ │ ├── Convolution.Mode.html
│ │ │ │ ├── Convolution.html
│ │ │ │ ├── class-use
│ │ │ │ │ ├── Convolution.Mode.html
│ │ │ │ │ └── Convolution.html
│ │ │ │ ├── package-frame.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ ├── Statistics
│ │ │ │ ├── ContinuousHistogram.html
│ │ │ │ ├── Correlations.html
│ │ │ │ ├── DescriptiveStatistics.html
│ │ │ │ ├── Distributions
│ │ │ │ │ ├── BernoulliDistribution.html
│ │ │ │ │ ├── BinomialDistribution.html
│ │ │ │ │ ├── CauchyDistribution.html
│ │ │ │ │ ├── ChiSquareDistribution.html
│ │ │ │ │ ├── ContinuousUniformDistribution.html
│ │ │ │ │ ├── DiscreteUniformDistribution.html
│ │ │ │ │ ├── EmpiricalDistribution.html
│ │ │ │ │ ├── ExponentialDistribution.html
│ │ │ │ │ ├── FisherDistribution.html
│ │ │ │ │ ├── GammaDistribution.html
│ │ │ │ │ ├── IDiscreteDistribution.html
│ │ │ │ │ ├── IDistribution.html
│ │ │ │ │ ├── InverseGammaDistribution.html
│ │ │ │ │ ├── KolmogorovSmirnovDistribution.html
│ │ │ │ │ ├── LaplaceDistribution.html
│ │ │ │ │ ├── LognormalDistribution.html
│ │ │ │ │ ├── NakagamiDistribution.html
│ │ │ │ │ ├── NormalDistribution.html
│ │ │ │ │ ├── ParetoDistribution.html
│ │ │ │ │ ├── RayleighDistribution.html
│ │ │ │ │ ├── TStudentDistribution.html
│ │ │ │ │ ├── WeibullDistribution.html
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ ├── BernoulliDistribution.html
│ │ │ │ │ │ ├── BinomialDistribution.html
│ │ │ │ │ │ ├── CauchyDistribution.html
│ │ │ │ │ │ ├── ChiSquareDistribution.html
│ │ │ │ │ │ ├── ContinuousUniformDistribution.html
│ │ │ │ │ │ ├── DiscreteUniformDistribution.html
│ │ │ │ │ │ ├── EmpiricalDistribution.html
│ │ │ │ │ │ ├── ExponentialDistribution.html
│ │ │ │ │ │ ├── FisherDistribution.html
│ │ │ │ │ │ ├── GammaDistribution.html
│ │ │ │ │ │ ├── IDiscreteDistribution.html
│ │ │ │ │ │ ├── IDistribution.html
│ │ │ │ │ │ ├── InverseGammaDistribution.html
│ │ │ │ │ │ ├── KolmogorovSmirnovDistribution.html
│ │ │ │ │ │ ├── LaplaceDistribution.html
│ │ │ │ │ │ ├── LognormalDistribution.html
│ │ │ │ │ │ ├── NakagamiDistribution.html
│ │ │ │ │ │ ├── NormalDistribution.html
│ │ │ │ │ │ ├── ParetoDistribution.html
│ │ │ │ │ │ ├── RayleighDistribution.html
│ │ │ │ │ │ ├── TStudentDistribution.html
│ │ │ │ │ │ └── WeibullDistribution.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── Histogram.html
│ │ │ │ ├── HistogramStatistics.html
│ │ │ │ ├── Kernels
│ │ │ │ │ ├── Anova.html
│ │ │ │ │ ├── BSpline.html
│ │ │ │ │ ├── Bessel.html
│ │ │ │ │ ├── Cauchy.html
│ │ │ │ │ ├── ChiSquare.html
│ │ │ │ │ ├── Circular.html
│ │ │ │ │ ├── Dirichlet.html
│ │ │ │ │ ├── Gaussian.html
│ │ │ │ │ ├── Hellinger.html
│ │ │ │ │ ├── HistogramIntersection.html
│ │ │ │ │ ├── Hypersecant.html
│ │ │ │ │ ├── IMercerKernel.html
│ │ │ │ │ ├── InverseMultiquadric.html
│ │ │ │ │ ├── Linear.html
│ │ │ │ │ ├── Log.html
│ │ │ │ │ ├── Multiquadric.html
│ │ │ │ │ ├── NormalizedPolynomial.html
│ │ │ │ │ ├── Pearson.html
│ │ │ │ │ ├── Polynomial.html
│ │ │ │ │ ├── RationalQuadratic.html
│ │ │ │ │ ├── Spherical.html
│ │ │ │ │ ├── Spline.html
│ │ │ │ │ ├── SquaredSinc.html
│ │ │ │ │ ├── SymmetricTriangle.html
│ │ │ │ │ ├── TStudent.html
│ │ │ │ │ ├── Tensor.html
│ │ │ │ │ ├── ThinPlateSpline.html
│ │ │ │ │ ├── Wave.html
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ ├── Anova.html
│ │ │ │ │ │ ├── BSpline.html
│ │ │ │ │ │ ├── Bessel.html
│ │ │ │ │ │ ├── Cauchy.html
│ │ │ │ │ │ ├── ChiSquare.html
│ │ │ │ │ │ ├── Circular.html
│ │ │ │ │ │ ├── Dirichlet.html
│ │ │ │ │ │ ├── Gaussian.html
│ │ │ │ │ │ ├── Hellinger.html
│ │ │ │ │ │ ├── HistogramIntersection.html
│ │ │ │ │ │ ├── Hypersecant.html
│ │ │ │ │ │ ├── IMercerKernel.html
│ │ │ │ │ │ ├── InverseMultiquadric.html
│ │ │ │ │ │ ├── Linear.html
│ │ │ │ │ │ ├── Log.html
│ │ │ │ │ │ ├── Multiquadric.html
│ │ │ │ │ │ ├── NormalizedPolynomial.html
│ │ │ │ │ │ ├── Pearson.html
│ │ │ │ │ │ ├── Polynomial.html
│ │ │ │ │ │ ├── RationalQuadratic.html
│ │ │ │ │ │ ├── Spherical.html
│ │ │ │ │ │ ├── Spline.html
│ │ │ │ │ │ ├── SquaredSinc.html
│ │ │ │ │ │ ├── SymmetricTriangle.html
│ │ │ │ │ │ ├── TStudent.html
│ │ │ │ │ │ ├── Tensor.html
│ │ │ │ │ │ ├── ThinPlateSpline.html
│ │ │ │ │ │ └── Wave.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── LinearRegression.html
│ │ │ │ ├── Normalizations.html
│ │ │ │ ├── Regression
│ │ │ │ │ ├── ExponentialRegression.html
│ │ │ │ │ ├── ILinear.html
│ │ │ │ │ ├── ISimpleRegression.html
│ │ │ │ │ ├── LinearRegression.html
│ │ │ │ │ ├── LogarithmicRegression.html
│ │ │ │ │ ├── PolynomialRegression.html
│ │ │ │ │ ├── PowerRegression.html
│ │ │ │ │ ├── RegressionAnalysis.html
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ ├── ExponentialRegression.html
│ │ │ │ │ │ ├── ILinear.html
│ │ │ │ │ │ ├── ISimpleRegression.html
│ │ │ │ │ │ ├── LinearRegression.html
│ │ │ │ │ │ ├── LogarithmicRegression.html
│ │ │ │ │ │ ├── PolynomialRegression.html
│ │ │ │ │ │ ├── PowerRegression.html
│ │ │ │ │ │ └── RegressionAnalysis.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── Tools.html
│ │ │ │ ├── class-use
│ │ │ │ │ ├── ContinuousHistogram.html
│ │ │ │ │ ├── Correlations.html
│ │ │ │ │ ├── DescriptiveStatistics.html
│ │ │ │ │ ├── Histogram.html
│ │ │ │ │ ├── HistogramStatistics.html
│ │ │ │ │ ├── LinearRegression.html
│ │ │ │ │ ├── Normalizations.html
│ │ │ │ │ └── Tools.html
│ │ │ │ ├── package-frame.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ └── Vision
│ │ │ │ ├── Detection
│ │ │ │ ├── IObjectDetector.html
│ │ │ │ ├── class-use
│ │ │ │ │ └── IObjectDetector.html
│ │ │ │ ├── package-frame.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ │ ├── ITemporal.html
│ │ │ │ ├── SpatioTemporal
│ │ │ │ ├── MeanBackgroundDetector.html
│ │ │ │ ├── class-use
│ │ │ │ │ └── MeanBackgroundDetector.html
│ │ │ │ ├── package-frame.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ │ ├── Temporal
│ │ │ │ ├── MeanBackgroundDetector.html
│ │ │ │ ├── MedianBackgroundDetector.html
│ │ │ │ ├── class-use
│ │ │ │ │ ├── MeanBackgroundDetector.html
│ │ │ │ │ └── MedianBackgroundDetector.html
│ │ │ │ ├── package-frame.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ │ ├── Tools
│ │ │ │ ├── MotionEnergyImage.html
│ │ │ │ ├── class-use
│ │ │ │ │ └── MotionEnergyImage.html
│ │ │ │ ├── package-frame.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ │ ├── class-use
│ │ │ │ └── ITemporal.html
│ │ │ │ ├── package-frame.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ ├── allclasses-frame.html
│ │ │ ├── allclasses-noframe.html
│ │ │ ├── constant-values.html
│ │ │ ├── deprecated-list.html
│ │ │ ├── help-doc.html
│ │ │ ├── index-files
│ │ │ ├── index-1.html
│ │ │ ├── index-10.html
│ │ │ ├── index-11.html
│ │ │ ├── index-12.html
│ │ │ ├── index-13.html
│ │ │ ├── index-14.html
│ │ │ ├── index-15.html
│ │ │ ├── index-16.html
│ │ │ ├── index-17.html
│ │ │ ├── index-18.html
│ │ │ ├── index-19.html
│ │ │ ├── index-2.html
│ │ │ ├── index-20.html
│ │ │ ├── index-21.html
│ │ │ ├── index-22.html
│ │ │ ├── index-23.html
│ │ │ ├── index-24.html
│ │ │ ├── index-25.html
│ │ │ ├── index-26.html
│ │ │ ├── index-3.html
│ │ │ ├── index-4.html
│ │ │ ├── index-5.html
│ │ │ ├── index-6.html
│ │ │ ├── index-7.html
│ │ │ ├── index-8.html
│ │ │ └── index-9.html
│ │ │ ├── index.html
│ │ │ ├── overview-frame.html
│ │ │ ├── overview-summary.html
│ │ │ ├── overview-tree.html
│ │ │ ├── package-list
│ │ │ ├── script.js
│ │ │ ├── serialized-form.html
│ │ │ └── stylesheet.css
│ ├── Libs
│ │ ├── Catalano.Android.Image.jar
│ │ ├── Catalano.Core.jar
│ │ ├── Catalano.Fuzzy.jar
│ │ ├── Catalano.Graph.jar
│ │ ├── Catalano.IO.jar
│ │ ├── Catalano.Image.jar
│ │ ├── Catalano.MachineLearning.jar
│ │ ├── Catalano.Math.jar
│ │ ├── Catalano.Neuro.jar
│ │ ├── Catalano.Signal.jar
│ │ ├── Catalano.Statistics.jar
│ │ └── Catalano.Vision.jar
│ ├── Release notes.txt
│ ├── Resources
│ │ └── lut
│ │ │ ├── Fire.lut
│ │ │ ├── RedHot.lut
│ │ │ ├── Spectrum.lut
│ │ │ └── Thermal.lut
│ └── lgpl-3.0.txt
├── hamcrest-core-1.3.jar
├── joda-time-2.9.3.jar
├── junit-4.12.jar
├── miglayout-core-5.0.jar
└── miglayout-swing-5.0.jar
├── license.txt
├── pom.xml
└── src
├── main
├── java
│ ├── CMDOptions.java
│ ├── Game
│ │ ├── EntityScript.java
│ │ ├── GameEntityBase.java
│ │ ├── GlobalSettings.java
│ │ ├── IAttackable.java
│ │ ├── IGameEntity.java
│ │ ├── IMaMGame.java
│ │ ├── IScript.java
│ │ ├── IUpdateable.java
│ │ ├── MaMActions.java
│ │ ├── MaMGame.java
│ │ ├── Map
│ │ │ ├── IoTWorld.java
│ │ │ ├── MaMMap.java
│ │ │ ├── MaMMazeView.java
│ │ │ ├── MaMTile.java
│ │ │ ├── MaMWorld.java
│ │ │ └── WoXWorld.java
│ │ ├── Monsters
│ │ │ ├── MaMMonster.java
│ │ │ ├── MaMSpawnPoint.java
│ │ │ ├── MonsterFactory.java
│ │ │ └── MonsterType.java
│ │ └── WoxOpcode.java
│ ├── GameMechanics
│ │ ├── Adventurers
│ │ │ ├── Adventurer.java
│ │ │ ├── Award.java
│ │ │ ├── CharClass.java
│ │ │ ├── CharGender.java
│ │ │ ├── CharRace.java
│ │ │ ├── CharSkill.java
│ │ │ ├── ICharCondition.java
│ │ │ └── IStatModifier.java
│ │ ├── Attacks
│ │ │ ├── AttackType.java
│ │ │ └── IAttack.java
│ │ ├── Combatant.java
│ │ ├── Dice.java
│ │ ├── Equipment
│ │ │ ├── Accessory.java
│ │ │ ├── Armour.java
│ │ │ ├── IInventoryItem.java
│ │ │ ├── InventoryItem.java
│ │ │ ├── MiscItem.java
│ │ │ └── Weapon.java
│ │ ├── Inventory.java
│ │ ├── Magic
│ │ │ ├── ISpell.java
│ │ │ ├── PartyEnchantments
│ │ │ │ └── IPartyEnchantment.java
│ │ │ ├── Spell.java
│ │ │ ├── SpellManager.java
│ │ │ └── WoXSpells
│ │ │ │ └── SpellAcidSpray.java
│ │ ├── Stat.java
│ │ └── Stats.java
│ ├── META-INF
│ │ └── MANIFEST.MF
│ ├── Main.java
│ ├── Rendering
│ │ ├── AnimationSettings.java
│ │ ├── GUI
│ │ │ ├── GUIGraphicsSet.java
│ │ │ ├── PapyrusDialogBase.java
│ │ │ └── PapyrusMessageBox.java
│ │ ├── IMaMRenderer.java
│ │ ├── IMaMSprite.java
│ │ ├── IRelativeToLocationOverlay.java
│ │ ├── IRelativeToLocationSprite.java
│ │ ├── IRenderableGameObject.java
│ │ ├── ISScalableGUI.java
│ │ ├── ISceneComposition.java
│ │ ├── MaM2DInsertionOrderComposition.java
│ │ ├── MaM2DMapComposition.java
│ │ ├── MaM3DSceneComposition.java
│ │ ├── MaM3dScenePos.java
│ │ ├── RenderablePos.java
│ │ └── SimpleCanvas
│ │ │ ├── GraphicsRenderer.java
│ │ │ ├── MaMButton.java
│ │ │ ├── MaMPanel.java
│ │ │ └── OpenXeenFrame.java
│ ├── Toolbox
│ │ ├── ArrayHelpers.java
│ │ ├── BinaryHelpers.java
│ │ ├── BlindIndexMaper.java
│ │ ├── ColourHelpers.java
│ │ ├── Direction.java
│ │ ├── FileHelpers.java
│ │ ├── GifSequenceWriter.java
│ │ ├── Grid.java
│ │ ├── HProperties.java
│ │ ├── HackMe.java
│ │ ├── HumanOrder.java
│ │ ├── IHasProperties.java
│ │ ├── IImageWorker.java
│ │ ├── IReadonlyGrid.java
│ │ ├── IValidatable.java
│ │ ├── ImageHelpers.java
│ │ ├── ImageTransform.java
│ │ ├── IntegerImage.java
│ │ ├── LRUCache.java
│ │ ├── MaMGameException.java
│ │ ├── Misc.java
│ │ ├── NaturalOrderComparator.java
│ │ ├── ParseHelpers.java
│ │ ├── PointHelper.java
│ │ ├── SwingHelpers.java
│ │ ├── Tag.java
│ │ └── xBR
│ │ │ └── ResizeXBR.java
│ └── mamFiles
│ │ ├── CCFileCache.java
│ │ ├── CCFileFormatException.java
│ │ ├── IHasProxy.java
│ │ ├── IOT
│ │ ├── CompressionLZHuf.java
│ │ ├── IoTSpriteFile.java
│ │ └── IoTccFileReader.java
│ │ ├── MAMFile.java
│ │ ├── MAMVocFile.java
│ │ ├── MaMBinaryFile.java
│ │ ├── MaMCCFileReader.java
│ │ ├── MaMMazeFile.java
│ │ ├── MaMPallet.java
│ │ ├── MaMRawImage.java
│ │ ├── MaMScript.java
│ │ ├── MaMSprite.java
│ │ ├── MaMSurface.java
│ │ ├── MaMTextFile.java
│ │ ├── MaMThing.java
│ │ ├── SpriteHelpers
│ │ ├── EnvironmentSet
│ │ │ ├── IMaMEnvironmentSet.java
│ │ │ ├── IMaMIndoorEnvironmentSet.java
│ │ │ ├── IMaMOutdoorEnvironmentSet.java
│ │ │ ├── IOT
│ │ │ │ ├── IoTEnvironmentSet.java
│ │ │ │ ├── IoTIndoorEnvironmentSet.java
│ │ │ │ └── IoTOutdoorEnvironmentSet.java
│ │ │ └── WOX
│ │ │ │ ├── WoXEnvironmentSet.java
│ │ │ │ ├── WoXIndoorEnvironmentSet.java
│ │ │ │ └── WoXOutdoorEnvironmentSet.java
│ │ ├── MaMHudElements.java
│ │ ├── RenderPosHelper.java
│ │ └── WOX
│ │ │ └── WoXHudElements.java
│ │ └── WOX
│ │ ├── WOXMazeFile.java
│ │ ├── WOXPallet.java
│ │ ├── WOXSpriteFile.java
│ │ ├── WOXSurface.java
│ │ ├── WOXccFileReader.java
│ │ ├── WoXThing.java
│ │ └── WoxScript.java
└── resources
│ ├── CLOUDS.DAT.BIN
│ ├── dark.cc.csv
│ ├── dark.cur.csv
│ ├── files.wiki
│ ├── intro.cc.csv
│ ├── mam_papyrus.png
│ ├── mm3.cc.csv
│ ├── openXeen_de.properties
│ ├── openXeen_en.properties
│ ├── openXeen_es.properties
│ ├── openXeen_fr.properties
│ ├── openXeen_ja.properties
│ └── xeen.cc.csv
└── test
├── AAAAAAA
└── CommonTest.java
├── Game
└── Map
│ └── WoXWorldTest.java
├── Toolbox
├── BinaryHelpersTest.java
├── FileHelpersTest.java
├── HumanOrderTest.java
└── TagTest.java
├── java
├── AAAAAAA
│ └── CommonTest.java
├── Game
│ └── Map
│ │ └── WoXWorldTest.java
├── Toolbox
│ ├── BinaryHelpersTest.java
│ ├── FileHelpersTest.java
│ ├── HumanOrderTest.java
│ └── TagTest.java
└── mamFiles
│ └── WOX
│ └── WOXccFileReaderTest.java
└── mamFiles
└── WOX
└── WOXccFileReaderTest.java
/.gitignore:
--------------------------------------------------------------------------------
1 | # maven
2 | target/
3 | pom.xml.tag
4 | pom.xml.releaseBackup
5 | pom.xml.versionsBackup
6 | pom.xml.next
7 | release.properties
8 | dependency-reduced-pom.xml
9 | buildNumber.properties
10 | .mvn/timing.properties
11 |
12 | # xeen resource files
13 | *.cc
14 | *.CC
15 | *.cur
16 | *.CUR
17 |
18 | # ide
19 | .idea/
20 | *.iml
21 |
22 | #xeen cc files in here so they dont commit
23 | game_data/
24 |
25 | # doxygen
26 | doco/doxygen/html/
--------------------------------------------------------------------------------
/Plugins/wideXeen/assets/BACK.RAW.wideXeen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/Plugins/wideXeen/assets/BACK.RAW.wideXeen.png
--------------------------------------------------------------------------------
/Plugins/wideXeen/src/Rendering/GraphicsRenderer.java:
--------------------------------------------------------------------------------
1 | package Rendering;
2 |
3 |
4 | import java.awt.*;
5 |
6 | /**
7 | * Created by duckman on 22/06/2016.
8 | */
9 | public class GraphicsRenderer extends Rendering.SimpleCanvas.GraphicsRenderer
10 | {
11 | /**
12 | * @param scale The scale to which the scene will be drawn. Will be clamped to 0.1 - 100.
13 | */
14 | public GraphicsRenderer(double scale) {
15 | super(scale);
16 | }
17 |
18 | @Override
19 | public void refresh(Graphics g, long timeMS) {
20 | super.refresh(g, timeMS);
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ---
2 | OpenXeen
3 | ---
4 | 
5 |
6 | OpenXeen is a mod for Might and Magic IV & V - World of Xeen (WOX), programmed by duuckman (Dr Warren Creemers).
7 | It is a game engine rewrite in java designed to make MaM gaming more available.
8 |
9 | __News:__ Back from 6 months hiatus on this project.
10 |
11 | Resources:
12 | - Wiki: [here](https://github.com/busyDuckman/OpenXeen/wiki)
13 | - Development Blog: [here](https://github.com/busyDuckman/OpenXeen/wiki/A-Development-BLOG-(in-screenshots))
14 | - State of openXeen [features](https://github.com/busyDuckman/OpenXeen/wiki/Features)
15 | - Interested in [contributing](https://github.com/busyDuckman/OpenXeen/wiki/Contributing)
16 | - Xeen development related [links](https://github.com/busyDuckman/OpenXeen/wiki/Xeen-related-links)
17 | - My [blog](http://busyducks.com/)
18 |
19 | Unfortunately, MaM is not abandonware - you (still) need to purchase a copy to play the full version of WOX legally.
20 | This mod aims to bundle the shareware version, but I recommend finding a full CD (talkie) version on ebay.
21 |
22 | The game mechanics, and engine, are based on things I would have liked to see done differently:
23 | - Less save/restore loops for potions/barrels/treasure chests.
24 | - Better inventory at stores.
25 | - More money in the later part of the game.
26 | - Monster respawn.
27 | - Bat animation relative to level of danger.
28 | - Item stats just printed/explained.
29 | - Restrictions on when you can save/load games.
30 | - One open map, not divided into regions.
31 | - Bigger 3d view window
32 |
33 |
34 | NB: OpenXeen is programmed in java because I needed a project to "freshen" up
35 | my java skills and learn java 8. No other reason.
36 |
37 | Status:
38 | - Software is not ready for release.
39 | - At the moment it can:
40 | - Parse the cc files and open some graphics and audio files
41 | - Parse some map info
42 | - Create proxies of all files in cc files.
43 | - Display a simple rendering of some xeen components.
44 | NB: First run will take some time, proxy files are being created.
45 |
46 | Acknowledgments:
47 | - xeen.wikia.org - So so much work on the MaM file formats
48 | - Ben - Sharing a passion for reverse engineering xeen
49 | - Elliot Kroo - GifSequenceWriter.java
50 | - Hyllian - xBR algorithm
51 |
52 | And a shout-out to the Xeen community on faceook, [https://www.facebook.com/groups/AdventurersOfXeen/].
53 | It was great sharing a love of MaM games with you guys.
54 |
55 |
--------------------------------------------------------------------------------
/doco/Readme.txt:
--------------------------------------------------------------------------------
1 |
2 | ---- OpenXeen V0.1 -----
3 |
4 | OpenXeen is a mod for Might and Magic IV & V - World of Xeen (WOX), programmed by duuckman (Dr Warren Creemers).
5 | It is a game engine rewrite in java designed to make MaM gaming more available.
6 |
7 | Unfortunately, MaM is not abandonware - you (still) need to purchase a copy to play the full version of WOX legally.
8 | This mod aims to bundle the shareware version, but I recommend finding a full CD (talkie) version on ebay.
9 |
10 | The game mechanics, and engine, are based on things I would have liked to see done differently:
11 | - Less save/restore loops for potions/barrels/treasure chests.
12 | - Better inventory at stores.
13 | - More money in the later part of the game.
14 | - Monster respawn.
15 | - Bat animation relative to level of danger.
16 | - Item stats just printed/explained.
17 | - Restrictions on when you can save/load games.
18 | - One open map, not divided into regions.
19 | - Bigger 3d view window
20 |
21 |
22 | NB: OpenXeen is programmed in java because I needed a project to "freshen" up
23 | my java skills and learn java 8. No other reason.
24 |
25 |
26 | Acknowledgments:
27 | xeen.wikia.org - So so much work on the MaM file formats
28 | Ben - Sharing a passion for reverse engineering xeen
29 | Elliot Kroo - GifSequenceWriter.java
30 | Hyllian - xBR algorithm
31 |
32 | And a shout-out to the Xeen community on faceook, [https://www.facebook.com/groups/AdventurersOfXeen/].
33 | It was great sharing a love of MaM games with you guys.
--------------------------------------------------------------------------------
/doco/dev_history/000_MON.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/doco/dev_history/000_MON.png
--------------------------------------------------------------------------------
/doco/dev_history/historical_csharp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/doco/dev_history/historical_csharp.png
--------------------------------------------------------------------------------
/doco/dev_history/loc_chart_v0_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/doco/dev_history/loc_chart_v0_1.png
--------------------------------------------------------------------------------
/doco/dev_history/loc_chart_v0_1_small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/doco/dev_history/loc_chart_v0_1_small.png
--------------------------------------------------------------------------------
/doco/dev_history/openXeen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/doco/dev_history/openXeen.png
--------------------------------------------------------------------------------
/doco/dev_history/openXeen10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/doco/dev_history/openXeen10.png
--------------------------------------------------------------------------------
/doco/dev_history/openXeen11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/doco/dev_history/openXeen11.png
--------------------------------------------------------------------------------
/doco/dev_history/openXeen12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/doco/dev_history/openXeen12.png
--------------------------------------------------------------------------------
/doco/dev_history/openXeen13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/doco/dev_history/openXeen13.png
--------------------------------------------------------------------------------
/doco/dev_history/openXeen14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/doco/dev_history/openXeen14.png
--------------------------------------------------------------------------------
/doco/dev_history/openXeen15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/doco/dev_history/openXeen15.png
--------------------------------------------------------------------------------
/doco/dev_history/openXeen16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/doco/dev_history/openXeen16.png
--------------------------------------------------------------------------------
/doco/dev_history/openXeen2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/doco/dev_history/openXeen2.png
--------------------------------------------------------------------------------
/doco/dev_history/openXeen3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/doco/dev_history/openXeen3.png
--------------------------------------------------------------------------------
/doco/dev_history/openXeen4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/doco/dev_history/openXeen4.png
--------------------------------------------------------------------------------
/doco/dev_history/openXeen5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/doco/dev_history/openXeen5.png
--------------------------------------------------------------------------------
/doco/dev_history/openXeen6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/doco/dev_history/openXeen6.png
--------------------------------------------------------------------------------
/doco/dev_history/openXeen7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/doco/dev_history/openXeen7.png
--------------------------------------------------------------------------------
/doco/dev_history/openXeen8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/doco/dev_history/openXeen8.png
--------------------------------------------------------------------------------
/doco/dev_history/openXeen9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/doco/dev_history/openXeen9.png
--------------------------------------------------------------------------------
/lib/Catalano/Copyright.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/lib/Catalano/Copyright.txt
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Core/Concurrent/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Core.Concurrent
8 |
9 |
10 |
11 |
12 |
13 |
14 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Core/Structs/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Core.Structs
8 |
9 |
10 |
11 |
12 |
13 |
14 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Core/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Core
8 |
9 |
10 |
11 |
12 |
13 |
14 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Fuzzy/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Fuzzy
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Interfaces
16 |
23 |
Classes
24 |
42 |
Enums
43 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Graph/Network/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Graph.Network
8 |
9 |
10 |
11 |
12 |
13 |
14 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Graph/Pathfinding/AStar/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Graph.Pathfinding.AStar
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Classes
16 |
21 |
Enums
22 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Graph/Pathfinding/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Graph.Pathfinding
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Interfaces
16 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Graph/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Graph
8 |
9 |
10 |
11 |
12 |
13 |
14 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/IO/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.IO
8 |
9 |
10 |
11 |
12 |
13 |
14 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Imaging/ActiveContour/Ovuscule/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Imaging.ActiveContour.Ovuscule
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Interfaces
16 |
19 |
Classes
20 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Imaging/Concurrent/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Imaging.Concurrent
8 |
9 |
10 |
11 |
12 |
13 |
14 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Imaging/Corners/FREAK/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Imaging.Corners.FREAK
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Classes
16 |
22 |
Enums
23 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Imaging/Corners/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Imaging.Corners
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Interfaces
16 |
20 |
Classes
21 |
29 |
Enums
30 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Imaging/Filters/Artistic/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Imaging.Filters.Artistic
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Classes
16 |
27 |
Enums
28 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Imaging/Shapes/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Imaging.Shapes
8 |
9 |
10 |
11 |
12 |
13 |
14 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Imaging/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Imaging
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Interfaces
16 |
21 |
Classes
22 |
27 |
Enums
28 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/MachineLearning/Classification/DecisionTrees/Learning/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.MachineLearning.Classification.DecisionTrees.Learning
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Classes
16 |
21 |
Enums
22 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/MachineLearning/Classification/DecisionTrees/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.MachineLearning.Classification.DecisionTrees
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Classes
16 |
19 |
Enums
20 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/MachineLearning/Classification/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.MachineLearning.Classification
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Interfaces
16 |
19 |
Classes
20 |
28 |
Enums
29 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/MachineLearning/Exploration/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.MachineLearning.Exploration
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Interfaces
16 |
19 |
Classes
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/MachineLearning/Performance/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.MachineLearning.Performance
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Interfaces
16 |
19 |
Classes
20 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/MachineLearning/Regression/RegressionTrees/Learning/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.MachineLearning.Regression.RegressionTrees.Learning
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Classes
16 |
20 |
Enums
21 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/MachineLearning/Regression/RegressionTrees/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.MachineLearning.Regression.RegressionTrees
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Interfaces
16 |
19 |
Classes
20 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/MachineLearning/Regression/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.MachineLearning.Regression
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Interfaces
16 |
19 |
Classes
20 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/MachineLearning/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.MachineLearning
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Classes
16 |
26 |
Enums
27 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Math/Decompositions/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Math.Decompositions
8 |
9 |
10 |
11 |
12 |
13 |
14 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Math/Dissimilarities/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Math.Dissimilarities
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Interfaces
16 |
19 |
Classes
20 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Math/Functions/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Math.Functions
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Classes
16 |
25 |
Enums
26 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Math/Geometry/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Math.Geometry
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Interfaces
16 |
19 |
Classes
20 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Math/Transforms/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Math.Transforms
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Classes
16 |
23 |
Enums
24 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Math/Wavelets/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Math.Wavelets
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Interfaces
16 |
19 |
Classes
20 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Math/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Math
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Interfaces
16 |
19 |
Classes
20 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Neuro/Learning/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Neuro.Learning
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Interfaces
16 |
20 |
Classes
21 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Neuro/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Neuro
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Interfaces
16 |
19 |
Classes
20 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Signal/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Signal
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Classes
16 |
19 |
Enums
20 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Statistics/Distributions/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Statistics.Distributions
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Interfaces
16 |
20 |
Classes
21 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Statistics/Kernels/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Statistics.Kernels
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Interfaces
16 |
19 |
Classes
20 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Statistics/Regression/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Statistics.Regression
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Interfaces
16 |
20 |
Classes
21 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Statistics/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Statistics
8 |
9 |
10 |
11 |
12 |
13 |
14 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Vision/Detection/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Vision.Detection
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Interfaces
16 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Vision/SpatioTemporal/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Vision.SpatioTemporal
8 |
9 |
10 |
11 |
12 |
13 |
14 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Vision/Temporal/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Vision.Temporal
8 |
9 |
10 |
11 |
12 |
13 |
14 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Vision/Tools/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Vision.Tools
8 |
9 |
10 |
11 |
12 |
13 |
14 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/Catalano/Vision/package-frame.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Catalano.Vision
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Interfaces
16 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/deprecated-list.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Deprecated List
8 |
9 |
10 |
11 |
12 |
13 |
23 |
26 |
27 |
45 |
72 |
73 |
77 |
78 |
96 |
97 |
98 | - Prev
99 | - Next
100 |
101 |
105 |
108 |
109 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Generated Documentation (Untitled)
8 |
60 |
61 |
75 |
76 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/package-list:
--------------------------------------------------------------------------------
1 | Catalano.Core
2 | Catalano.Core.Concurrent
3 | Catalano.Core.Structs
4 | Catalano.Fuzzy
5 | Catalano.Graph
6 | Catalano.Graph.Network
7 | Catalano.Graph.Pathfinding
8 | Catalano.Graph.Pathfinding.AStar
9 | Catalano.IO
10 | Catalano.Imaging
11 | Catalano.Imaging.ActiveContour.Ovuscule
12 | Catalano.Imaging.Concurrent
13 | Catalano.Imaging.Concurrent.Filters
14 | Catalano.Imaging.Corners
15 | Catalano.Imaging.Corners.FREAK
16 | Catalano.Imaging.Filters
17 | Catalano.Imaging.Filters.Artistic
18 | Catalano.Imaging.Shapes
19 | Catalano.Imaging.Tools
20 | Catalano.MachineLearning
21 | Catalano.MachineLearning.Classification
22 | Catalano.MachineLearning.Classification.DecisionTrees
23 | Catalano.MachineLearning.Classification.DecisionTrees.Learning
24 | Catalano.MachineLearning.Exploration
25 | Catalano.MachineLearning.Performance
26 | Catalano.MachineLearning.Regression
27 | Catalano.MachineLearning.Regression.RegressionTrees
28 | Catalano.MachineLearning.Regression.RegressionTrees.Learning
29 | Catalano.Math
30 | Catalano.Math.Decompositions
31 | Catalano.Math.Dissimilarities
32 | Catalano.Math.Distances
33 | Catalano.Math.Functions
34 | Catalano.Math.Geometry
35 | Catalano.Math.Transforms
36 | Catalano.Math.Wavelets
37 | Catalano.Neuro
38 | Catalano.Neuro.Learning
39 | Catalano.Signal
40 | Catalano.Statistics
41 | Catalano.Statistics.Distributions
42 | Catalano.Statistics.Kernels
43 | Catalano.Statistics.Regression
44 | Catalano.Vision
45 | Catalano.Vision.Detection
46 | Catalano.Vision.SpatioTemporal
47 | Catalano.Vision.Temporal
48 | Catalano.Vision.Tools
49 |
--------------------------------------------------------------------------------
/lib/Catalano/Documentation/javadoc/script.js:
--------------------------------------------------------------------------------
1 | function show(type)
2 | {
3 | count = 0;
4 | for (var key in methods) {
5 | var row = document.getElementById(key);
6 | if ((methods[key] & type) != 0) {
7 | row.style.display = '';
8 | row.className = (count++ % 2) ? rowColor : altColor;
9 | }
10 | else
11 | row.style.display = 'none';
12 | }
13 | updateTabs(type);
14 | }
15 |
16 | function updateTabs(type)
17 | {
18 | for (var value in tabs) {
19 | var sNode = document.getElementById(tabs[value][0]);
20 | var spanNode = sNode.firstChild;
21 | if (value == type) {
22 | sNode.className = activeTableTab;
23 | spanNode.innerHTML = tabs[value][1];
24 | }
25 | else {
26 | sNode.className = tableTab;
27 | spanNode.innerHTML = "" + tabs[value][1] + "";
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/lib/Catalano/Libs/Catalano.Android.Image.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/lib/Catalano/Libs/Catalano.Android.Image.jar
--------------------------------------------------------------------------------
/lib/Catalano/Libs/Catalano.Core.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/lib/Catalano/Libs/Catalano.Core.jar
--------------------------------------------------------------------------------
/lib/Catalano/Libs/Catalano.Fuzzy.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/lib/Catalano/Libs/Catalano.Fuzzy.jar
--------------------------------------------------------------------------------
/lib/Catalano/Libs/Catalano.Graph.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/lib/Catalano/Libs/Catalano.Graph.jar
--------------------------------------------------------------------------------
/lib/Catalano/Libs/Catalano.IO.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/lib/Catalano/Libs/Catalano.IO.jar
--------------------------------------------------------------------------------
/lib/Catalano/Libs/Catalano.Image.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/lib/Catalano/Libs/Catalano.Image.jar
--------------------------------------------------------------------------------
/lib/Catalano/Libs/Catalano.MachineLearning.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/lib/Catalano/Libs/Catalano.MachineLearning.jar
--------------------------------------------------------------------------------
/lib/Catalano/Libs/Catalano.Math.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/lib/Catalano/Libs/Catalano.Math.jar
--------------------------------------------------------------------------------
/lib/Catalano/Libs/Catalano.Neuro.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/lib/Catalano/Libs/Catalano.Neuro.jar
--------------------------------------------------------------------------------
/lib/Catalano/Libs/Catalano.Signal.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/lib/Catalano/Libs/Catalano.Signal.jar
--------------------------------------------------------------------------------
/lib/Catalano/Libs/Catalano.Statistics.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/lib/Catalano/Libs/Catalano.Statistics.jar
--------------------------------------------------------------------------------
/lib/Catalano/Libs/Catalano.Vision.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/lib/Catalano/Libs/Catalano.Vision.jar
--------------------------------------------------------------------------------
/lib/Catalano/Resources/lut/Fire.lut:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/lib/Catalano/Resources/lut/Fire.lut
--------------------------------------------------------------------------------
/lib/Catalano/Resources/lut/RedHot.lut:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/lib/Catalano/Resources/lut/RedHot.lut
--------------------------------------------------------------------------------
/lib/Catalano/Resources/lut/Spectrum.lut:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/lib/Catalano/Resources/lut/Spectrum.lut
--------------------------------------------------------------------------------
/lib/Catalano/Resources/lut/Thermal.lut:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/lib/Catalano/Resources/lut/Thermal.lut
--------------------------------------------------------------------------------
/lib/hamcrest-core-1.3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/lib/hamcrest-core-1.3.jar
--------------------------------------------------------------------------------
/lib/joda-time-2.9.3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/lib/joda-time-2.9.3.jar
--------------------------------------------------------------------------------
/lib/junit-4.12.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/lib/junit-4.12.jar
--------------------------------------------------------------------------------
/lib/miglayout-core-5.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/lib/miglayout-core-5.0.jar
--------------------------------------------------------------------------------
/lib/miglayout-swing-5.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/busyDuckman/OpenXeen/ffb78839bcdd49d8fa1fd7002b5b0f5e2146ce57/lib/miglayout-swing-5.0.jar
--------------------------------------------------------------------------------
/pom.xml:
--------------------------------------------------------------------------------
1 |
3 | 4.0.0
4 |
5 | com.busyducks.OpenXeen
6 | OpenXeen
7 | 0.3
8 | jar
9 |
10 | OpenXeen
11 | https://github.com/busyDuckman/OpenXeen
12 |
13 |
14 |
15 |
16 |
17 |
18 | org.apache.maven.plugins
19 | maven-compiler-plugin
20 | 3.6.1
21 |
22 | 1.8
23 | 1.8
24 |
25 |
26 |
27 |
28 | org.apache.maven.plugins
29 | maven-jar-plugin
30 |
31 |
32 |
33 | true
34 | true
35 |
36 |
37 |
38 |
39 |
40 |
41 | org.apache.maven.plugins
42 | maven-surefire-plugin
43 | 2.19
44 | true
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 | junit
53 | junit
54 | 4.12
55 | test
56 |
57 |
58 |
59 | org.hamcrest
60 | hamcrest-core
61 | 1.3
62 |
63 |
64 |
65 | joda-time
66 | joda-time
67 | 2.9.9
68 |
69 |
70 |
71 | com.google.guava
72 | guava
73 | 21.0
74 |
75 |
76 |
77 | com.miglayout
78 | miglayout-core
79 | 5.0
80 |
81 |
82 |
83 | com.miglayout
84 | miglayout-swing
85 | 5.0
86 |
87 |
88 |
89 | commons-cli
90 | commons-cli
91 | 1.4
92 |
93 |
94 |
95 | commons-io
96 | commons-io
97 | 2.5
98 |
99 |
100 |
101 | org.luaj
102 | luaj-jse
103 | 3.0.1
104 |
105 |
106 |
107 | catalano
108 | catalano.core
109 | 1.4.0
110 | system
111 | ${basedir}/lib/Catalano/Libs/Catalano.Core.jar
112 |
113 |
114 |
115 | catalano
116 | catalano.image
117 | 1.4.0
118 | system
119 | ${basedir}/lib/Catalano/Libs/Catalano.Image.jar
120 |
121 |
122 |
123 |
124 |
--------------------------------------------------------------------------------
/src/main/java/CMDOptions.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by duckman on 19/05/17.
3 | */
4 |
5 | import org.apache.commons.cli.CommandLine;
6 | import org.apache.commons.cli.Option;
7 | import org.apache.commons.cli.Options;
8 |
9 | import java.util.Arrays;
10 | import java.util.Comparator;
11 | import java.util.OptionalInt;
12 | import java.util.stream.IntStream;
13 |
14 | import static Toolbox.Misc.ifNull;
15 |
16 | /**
17 | * A helper for working with commons CLI.
18 | *
19 | * Items in this enum will be printed in the same order they are defined.
20 | */
21 | public enum CMDOptions {
22 | GAME_MM3 ("mm3", false, "Runs M&M III, Isles of Terra"),
23 | GAME_MM4 ("mm4", false, "Runs M&M IV, Clouds of Xeen"),
24 | GAME_MM5 ("mm5", false, "Runs M&M V, Darkside of Xeen"),
25 | GAME_WOX ("wox", false, "Runs M&M IV + V, World of Xeen"),
26 |
27 | DIR ("dir", true, "Source directory for M&M game"),
28 | REBUILD_PROXY ("rebuild_proxy", "p", false, "Extracts all data in the original ccFiles to a proxy file."),
29 |
30 | DEBUG ("debug", "d", false, "Runs application in debug mode (recommended for developers)"),
31 | NO_CACHE ("no_cache", false, "Disable caching of files (for debugging/editing)."),
32 | NO_HUD ("no_hud", false, "Disables rendering of the user interface, showing just the world.");
33 |
34 | String name;
35 | String shortName;
36 | String desc;
37 | boolean hasArg;
38 | Option option;
39 |
40 | CMDOptions(String name, String shortName, boolean hasArg, String desc) {
41 | this.name = name;
42 | this.shortName = shortName;
43 | this.hasArg = hasArg;
44 | this.desc = desc;
45 |
46 | if(this.shortName == null) {
47 | this.option = new Option(name, hasArg, desc);
48 | }
49 | else {
50 | this.option = new Option(shortName, name, hasArg, desc);
51 | }
52 | }
53 |
54 | CMDOptions(String name, boolean hasArg, String desc) {
55 | this(name, null, hasArg, desc);
56 | }
57 |
58 | public boolean isSet(CommandLine cmd) {
59 | return ((name != null) && cmd.hasOption(name)) || ((shortName != null) && cmd.hasOption(shortName));
60 | }
61 |
62 | public String getArg(CommandLine cmd) {
63 | if ((name != null) && cmd.hasOption(name)) {
64 | return cmd.getOptionValue(name);
65 | }
66 |
67 | if ((shortName != null) && cmd.hasOption(shortName)) {
68 | return cmd.getOptionValue(shortName);
69 | }
70 |
71 | return null;
72 | }
73 |
74 | public static Options getOptions() {
75 | Options options = new Options();
76 | Arrays.stream(CMDOptions.values())
77 | .sorted(Comparator.comparingInt(Enum::ordinal))
78 | .forEach(C -> options.addOption(C.option));
79 | return options;
80 | }
81 |
82 | public static int compare(Option a, Option b) {
83 | // This is not the logical and direct way of approaching the problem, but java.
84 | Option[] options = Arrays.stream(CMDOptions.values()).map(C -> C.option).toArray(Option[]::new);
85 | OptionalInt aPos = IntStream.range(0, options.length).filter(I -> options[I].equals(a)).findFirst();
86 | OptionalInt bPos = IntStream.range(0, options.length).filter(I -> options[I].equals(b)).findFirst();
87 |
88 | if(aPos.isPresent() && bPos.isPresent()) {
89 | return Integer.compare(aPos.getAsInt(), bPos.getAsInt());
90 | }
91 |
92 | else return ifNull(a.getLongOpt(),"").compareTo(ifNull(b.getLongOpt(), ""));
93 | }
94 | }
--------------------------------------------------------------------------------
/src/main/java/Game/EntityScript.java:
--------------------------------------------------------------------------------
1 | package Game;
2 |
3 | import Game.Map.MaMWorld;
4 |
5 | /**
6 | * Created by duckman on 4/09/2016.
7 | */
8 | public class EntityScript implements IScript
9 | {
10 | String script;
11 |
12 | @Override
13 | public String getScript() {
14 | return script;
15 | }
16 |
17 | @Override
18 | public void setScript(String script) {
19 | this.script = script;
20 | }
21 |
22 | @Override
23 | public void run(MaMGame game, IGameEntity owner) {
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/java/Game/GameEntityBase.java:
--------------------------------------------------------------------------------
1 | package Game;
2 |
3 | import Game.Map.MaMWorld;
4 | import Rendering.IRelativeToLocationSprite;
5 | import Toolbox.Direction;
6 | import mamFiles.MaMMazeFile;
7 |
8 | import java.awt.*;
9 |
10 | /**
11 | * Created by duckman on 11/08/2016.
12 | */
13 | public abstract class GameEntityBase implements IGameEntity
14 | {
15 | /**
16 | * id is reserved for the implementer to make use of.
17 | */
18 | protected int id;
19 |
20 | /**
21 | * Name as per screen view (attack/talk dialog etc).
22 | */
23 | protected String Name;
24 | protected boolean visible;
25 | protected Direction heading;
26 | protected Point location;
27 |
28 |
29 | /**
30 | * NULL if entity not bound to any maze (adventurer)
31 | */
32 | protected MaMMazeFile parentMaze;
33 |
34 | public GameEntityBase(int id, String name, Point location, MaMMazeFile parentMaze) {
35 | this(id, name, Direction.UP, location, parentMaze);
36 | }
37 |
38 | public GameEntityBase(int id, String name, Direction heading, Point location, MaMMazeFile parentMaze) {
39 | this(id, name, true, heading,location, parentMaze);
40 | }
41 |
42 | public GameEntityBase(int id, String name, boolean visible, Direction heading, Point location, MaMMazeFile parentMaze) {
43 |
44 | this.id = id;
45 | Name = name;
46 | this.visible = visible;
47 | this.heading = heading;
48 | this.location = location;
49 | this.parentMaze = parentMaze;
50 | }
51 |
52 | @Override
53 | public Point getLocationMapSpace() {
54 | return location;
55 | }
56 |
57 | @Override
58 | public Direction getHeading() {
59 | return heading;
60 | }
61 |
62 | @Override
63 | public boolean isVisible() {
64 | return visible;
65 | }
66 |
67 | public int getId() {
68 | return id;
69 | }
70 |
71 | public String getName() {
72 | return Name;
73 | }
74 |
75 | public void setVisible(boolean visible) {
76 | this.visible = visible;
77 | }
78 |
79 | public void setHeading(Direction heading) {
80 | this.heading = heading;
81 | }
82 |
83 | public void setLocation(Point location) {
84 | this.location = location;
85 | }
86 |
87 | @Override
88 | public abstract IRelativeToLocationSprite getSprite();
89 |
90 | /**
91 | * Gets the parentMaze.
92 | *
93 | * NULL if entity not bound to any maze (adventurer)
94 | *
95 | * @return the parentMaze.
96 | */
97 | @Override
98 | public MaMMazeFile getParentMaze() {
99 | return parentMaze;
100 | }
101 |
102 |
103 | @Override
104 | public abstract void update(MaMGame game);
105 |
106 |
107 | }
108 |
--------------------------------------------------------------------------------
/src/main/java/Game/GlobalSettings.java:
--------------------------------------------------------------------------------
1 | package Game;
2 |
3 | import Toolbox.FileHelpers;
4 |
5 | import java.io.File;
6 | import java.util.Locale;
7 | import java.util.ResourceBundle;
8 |
9 | /**
10 | * Created by duckman on 18/06/2016.
11 | */
12 | public enum GlobalSettings
13 | {
14 | INSTANCE;
15 |
16 | boolean debugMode = true;
17 | boolean rebuildProxies = false;
18 | private boolean disableHUD = false;
19 | private boolean discoverFileNames = false;
20 | private volatile ResourceBundle localText = null;
21 | private double renderingScale = 2.0;
22 | private String gameDir = "";
23 |
24 | public boolean debugMode() {
25 | return debugMode;
26 | }
27 |
28 | public void setDebugMode(boolean debugMode) {
29 | this.debugMode = debugMode;
30 | }
31 |
32 | /**
33 | * True if ccFiles should save proxie files when loaded.
34 | */
35 | public boolean rebuildProxies() {
36 | return rebuildProxies;
37 | }
38 | public void setRebuildProxies(boolean rebuildProxies) {
39 | this.rebuildProxies = rebuildProxies;
40 | }
41 |
42 | public void setDisableHUD(boolean disableHUD) {
43 | this.disableHUD = disableHUD;
44 | }
45 |
46 | public boolean isHUDDisabled() {
47 | return disableHUD;
48 | }
49 |
50 | public boolean discoverFileNames() {
51 | return discoverFileNames;
52 | }
53 |
54 | public ResourceBundle getLocalText() {
55 | if(localText == null) {
56 | localText = ResourceBundle.getBundle("openXeen", Locale.ENGLISH);
57 | }
58 | return localText;
59 | }
60 |
61 | public double getRenderingScale() {
62 | return renderingScale;
63 | }
64 |
65 | public String getGameDir() {
66 | return (gameDir == null) ? "" : gameDir;
67 | }
68 |
69 | public String relativeToGameDir(String relativePath) {
70 | return FileHelpers.join(getGameDir(), relativePath);
71 | }
72 |
73 | public String migDebugText() {
74 | return ""; //debugMode() ? ", debug 20" : "";
75 | }
76 | }
77 |
--------------------------------------------------------------------------------
/src/main/java/Game/IAttackable.java:
--------------------------------------------------------------------------------
1 | package Game;
2 |
3 | import GameMechanics.Attacks.IAttack;
4 |
5 | /**
6 | * Created by duckman on 3/07/2016.
7 | */
8 | public interface IAttackable
9 | {
10 | public void copThis(IAttack attack);
11 | }
12 |
--------------------------------------------------------------------------------
/src/main/java/Game/IMaMGame.java:
--------------------------------------------------------------------------------
1 | package Game;
2 |
3 | import Game.Map.MaMWorld;
4 | import GameMechanics.Magic.PartyEnchantments.IPartyEnchantment;
5 | import Rendering.ISceneComposition;
6 | import Rendering.MaM2DMapComposition;
7 | import Rendering.MaM3DSceneComposition;
8 | import org.joda.time.DateTime;
9 |
10 | import java.util.List;
11 |
12 | /**
13 | * Created by duckman on 24/05/2016.
14 | */
15 | public interface IMaMGame extends AutoCloseable
16 | {
17 | //-------------------------------------------------------------------------------------------------
18 | // Internal classes
19 | //-------------------------------------------------------------------------------------------------
20 | enum MaMGameStates
21 | {
22 | Explore,
23 | Combat
24 | }
25 |
26 |
27 |
28 | //-------------------------------------------------------------------------------------------------
29 | // Interface
30 | //-------------------------------------------------------------------------------------------------
31 | int getGold();
32 | int getFood();
33 | DateTime getDateTime();
34 |
35 | MaMGameStates getGameState();
36 |
37 | MaMWorld getWorld();
38 | void doAction(MaMActions action);
39 |
40 | MaM3DSceneComposition render();
41 | MaM2DMapComposition renderMap(int mapX, int mapY, int mapWidth, int mapHeight);
42 | MaM2DMapComposition renderWizardEyeView(int width, int height);
43 | ISceneComposition renderHUDForWorld();
44 |
45 | /**
46 | * Renders the player characters and their
47 | */
48 | ISceneComposition renderParty();
49 |
50 | /**
51 | * 0 = no danger; to 1.0 = full danger.
52 | * 2.0 = holy shit.
53 | */
54 | double getDangerLevel();
55 |
56 | /**
57 | * Space for no compass
58 | */
59 | char getCompassValue();
60 |
61 | /**
62 | * Is the party facing a secret door.
63 | */
64 | boolean getSecretDoor();
65 |
66 | List getActivePartyEnchantments();
67 |
68 |
69 |
70 |
71 |
72 | }
73 |
--------------------------------------------------------------------------------
/src/main/java/Game/IScript.java:
--------------------------------------------------------------------------------
1 | package Game;
2 |
3 | import Game.Map.MaMWorld;
4 |
5 |
6 | /**
7 | * Created by duckman on 4/09/2016.
8 | */
9 | public interface IScript
10 | {
11 | String getScript();
12 | void setScript(String script);
13 | void run(MaMGame game, T owner);
14 | }
15 |
--------------------------------------------------------------------------------
/src/main/java/Game/IUpdateable.java:
--------------------------------------------------------------------------------
1 | package Game;
2 |
3 | import Game.Map.MaMWorld;
4 |
5 | /**
6 | * Created by duckman on 3/07/2016.
7 | */
8 | public interface IUpdateable
9 | {
10 | /**
11 | * Update the state of the object, it can see the world.
12 | */
13 | void update(MaMGame game);
14 | }
15 |
--------------------------------------------------------------------------------
/src/main/java/Game/MaMActions.java:
--------------------------------------------------------------------------------
1 | package Game;
2 |
3 | /**
4 | * Created by duckman on 24/05/2016.
5 | */
6 | public enum MaMActions
7 | {
8 | WalkForward(true, false),
9 | WalkBackWard(true, false),
10 | WalkLeft(true, false),
11 | WalkRight(true, false),
12 | TurnLeft(true, true),
13 | TurnRight(true, true),
14 | Inspect(true, false),
15 | Shoot(true, false),
16 | Bash(true, false),
17 | Run(true, false),
18 | Spell(true, true),
19 | MelleAttack(false, true),
20 | MelleShield(true, true),
21 | Sleep(true, false);
22 |
23 | boolean duringExplore;
24 | boolean duringCombat;
25 |
26 | MaMActions(boolean duringExplore, boolean duringCombat) {
27 | this.duringExplore = duringExplore;
28 | this.duringCombat = duringCombat;
29 | }
30 | }
--------------------------------------------------------------------------------
/src/main/java/Game/Map/MaMMap.java:
--------------------------------------------------------------------------------
1 | package Game.Map;
2 |
3 | /**
4 | * Created by duckman on 15/05/2016.
5 | *
6 | */
7 | /*
8 | public class MaMMap
9 | {
10 | }
11 | */
12 |
--------------------------------------------------------------------------------
/src/main/java/Game/Map/MaMTile.java:
--------------------------------------------------------------------------------
1 | package Game.Map;
2 |
3 | /**
4 | * Created by duckman on 15/05/2016.
5 | */
6 | public class MaMTile
7 | {
8 | private final int idxBase;
9 | private final int idxMiddle;
10 | /**
11 | * idxTop by the wiki doco (MAZExxxx.DAT File Format).
12 | * Holds a map icon to display.
13 | * Assumably relating to the object on this tile....
14 | * but the 3d viewable object comes from the mon file
15 | */
16 | private final int indexMapOverlayIcon;
17 | private final int idxOverlay;
18 | //int surface;
19 | private boolean seen;
20 | private boolean visited;
21 | private boolean[] flags;
22 |
23 | public MaMTile(int idxBase, int idxMiddle, int indexMapOverlayIcon, int idxOverlay)
24 | {
25 | this.idxBase = idxBase;
26 | this.idxMiddle = idxMiddle;
27 | this.indexMapOverlayIcon = indexMapOverlayIcon;
28 | this.idxOverlay = idxOverlay;
29 | this.seen = false;
30 | this.visited = false;
31 | flags = new boolean[0];
32 | }
33 |
34 | public void setSeen(boolean seen) {
35 | this.seen = seen;
36 | }
37 |
38 | public void setVisited(boolean visited) {
39 | this.visited = visited;
40 | }
41 |
42 | public int getIndexBase() {
43 | return idxBase;
44 | }
45 |
46 | public int getIndexMiddle() {
47 | return idxMiddle;
48 | }
49 |
50 | public int getIndexMapOverlayIcon() {
51 | return indexMapOverlayIcon;
52 | }
53 |
54 | public int getIndexOverlay() {
55 | return idxOverlay;
56 | }
57 |
58 | public boolean isSeen() {
59 | return seen;
60 | }
61 |
62 | public boolean isVisited() {
63 | return visited;
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/src/main/java/Game/Monsters/MaMSpawnPoint.java:
--------------------------------------------------------------------------------
1 | package Game.Monsters;
2 |
3 | import Game.GameEntityBase;
4 | import Game.MaMGame;
5 | import Game.Map.MaMWorld;
6 | import Rendering.IRelativeToLocationSprite;
7 | import Toolbox.Direction;
8 | import mamFiles.MaMMazeFile;
9 |
10 | import java.awt.*;
11 |
12 | /**
13 | * Created by duckman on 12/08/2016.
14 | */
15 | public class MaMSpawnPoint extends GameEntityBase
16 | {
17 | long monstersSpawned;
18 |
19 |
20 | public MaMSpawnPoint(int id, String name, MaMMazeFile maze, Point location) {
21 | this(id, name, Direction.UP, maze, location);
22 | }
23 |
24 | public MaMSpawnPoint(int id, String name, Direction heading, MaMMazeFile maze, Point location) {
25 | this(id, name, false, heading, maze, location);
26 | }
27 |
28 | public MaMSpawnPoint(int id, String name, boolean visible, Direction heading, MaMMazeFile maze, Point location) {
29 | super(id, name, visible, heading, location, maze);
30 | monstersSpawned = 0;
31 | }
32 |
33 | @Override
34 | public IRelativeToLocationSprite getSprite() {
35 | return null;
36 | }
37 |
38 | @Override
39 | public void update(MaMGame game) {
40 | if(monstersSpawned == 0) {
41 | spawnMonster(game.getWorld());
42 | }
43 | }
44 |
45 | private void spawnMonster(MaMWorld world) {
46 | //MaMMonster mon = new MaMMonster(
47 | //world.addMonster(
48 | //TODO:
49 | }
50 |
51 |
52 | }
53 |
--------------------------------------------------------------------------------
/src/main/java/Game/Monsters/MonsterType.java:
--------------------------------------------------------------------------------
1 | package Game.Monsters;
2 |
3 | /**
4 | * Created by duckman on 18/08/2016.
5 | */
6 | public enum MonsterType {
7 | Humanoid, Dragon, Insect, Animal, Unique, Golem, Undead
8 | }
9 |
--------------------------------------------------------------------------------
/src/main/java/GameMechanics/Adventurers/Award.java:
--------------------------------------------------------------------------------
1 | package GameMechanics.Adventurers;
2 |
3 | /**
4 | * Created by duckman on 31/05/2016.
5 | */
6 | public class Award {
7 | }
8 |
--------------------------------------------------------------------------------
/src/main/java/GameMechanics/Adventurers/CharClass.java:
--------------------------------------------------------------------------------
1 | package GameMechanics.Adventurers;
2 |
3 | /**
4 | * Created by duckman on 31/05/2016.
5 | */
6 | public enum CharClass
7 | {
8 | Cleric, Sorcerer, ALL, ANY, Paladin, Archer, Ranger, Druid, Dwarf, Knight, Robber;
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/GameMechanics/Adventurers/CharGender.java:
--------------------------------------------------------------------------------
1 | package GameMechanics.Adventurers;
2 |
3 | /**
4 | * Created by duckman on 31/05/2016.
5 | */
6 | public enum CharGender
7 | {
8 | //Gender has no effect other than changing sentence structure.
9 |
10 | Male(0,"Male", "his"), Female(1, "Female", "her");
11 |
12 | CharGender(int id, String desc, String hisHer)
13 | {
14 | this.id = id;
15 | this.desc = desc;
16 | this.hisHer = hisHer;
17 | }
18 |
19 | int id; String desc; String hisHer;
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/java/GameMechanics/Adventurers/CharRace.java:
--------------------------------------------------------------------------------
1 | package GameMechanics.Adventurers;
2 |
3 | import GameMechanics.Stat;
4 | import org.joda.time.DateTime;
5 |
6 | import java.util.ArrayList;
7 | import java.util.List;
8 |
9 | /**
10 | * Created by duckman on 31/05/2016.
11 | */
12 | public enum CharRace
13 | {
14 | ORC ("Orc", new RaceModifier[] {new RaceModifier()}),
15 | HALF_ORC ("Orc", new RaceModifier[] {new RaceModifier()}),
16 | ELF ("Orc", new RaceModifier[] {new RaceModifier()}),
17 | HALF_ELF ("Orc", new RaceModifier[] {new RaceModifier()}),
18 | HUMAN ("Orc", new RaceModifier[] {new RaceModifier()}),
19 | DWARF ("Orc", new RaceModifier[] {new RaceModifier()}),
20 | HAUFLIN ("Orc", new RaceModifier[] {new RaceModifier()});
21 |
22 | public static class RaceModifier implements IStatModifier
23 | {
24 | String name;
25 | @Override public DateTime getExpireTime() { return null; }
26 | @Override public String getName() { return name; }
27 |
28 | @Override
29 | public Stat applyTo(Stat stat) {
30 | return null;
31 | }
32 |
33 | @Override
34 | public boolean affects(Stat stat) {
35 | return false;
36 | }
37 | }
38 |
39 | String name;
40 | IStatModifier[] modifiers;
41 |
42 | CharRace(String name, IStatModifier[] modifiers) {
43 | this.name = name;
44 | this.modifiers = modifiers;
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/src/main/java/GameMechanics/Adventurers/CharSkill.java:
--------------------------------------------------------------------------------
1 | package GameMechanics.Adventurers;
2 |
3 | /**
4 | * Created by duckman on 31/05/2016.
5 | */
6 | public class CharSkill {
7 | }
8 |
--------------------------------------------------------------------------------
/src/main/java/GameMechanics/Adventurers/ICharCondition.java:
--------------------------------------------------------------------------------
1 | package GameMechanics.Adventurers;
2 |
3 | /**
4 | * Created by duckman on 1/06/2016.
5 | */
6 | public interface ICharCondition extends IStatModifier
7 | {
8 | //drunk, poison, asleep, dead, etc
9 | int getBasePriceToCure();
10 | }
11 |
--------------------------------------------------------------------------------
/src/main/java/GameMechanics/Adventurers/IStatModifier.java:
--------------------------------------------------------------------------------
1 | package GameMechanics.Adventurers;
2 |
3 | import GameMechanics.Stat;
4 | import org.joda.time.DateTime;
5 |
6 | /**
7 | * Created by duckman on 10/06/2016.
8 | */
9 | public interface IStatModifier
10 | {
11 | DateTime getExpireTime();
12 | String getName();
13 |
14 | Stat applyTo(Stat stat);
15 | boolean affects(Stat stat);
16 | }
17 |
--------------------------------------------------------------------------------
/src/main/java/GameMechanics/Attacks/AttackType.java:
--------------------------------------------------------------------------------
1 | package GameMechanics.Attacks;
2 |
3 | /**
4 | * Created by duckman on 18/08/2016.
5 | */
6 | public enum AttackType
7 | {
8 | Disease, None, Poison, BreakWeapon, Energy, Fire,
9 | Weakness, Sleep, Confuse, KnockUnconscious, Magic, Stone, ERADICATE,
10 | Electric, Age, Paralyze, Cold, DrainSP, CursePlayer, CurseItems, Kill, Insane, None_11, Physical
11 | }
12 |
--------------------------------------------------------------------------------
/src/main/java/GameMechanics/Attacks/IAttack.java:
--------------------------------------------------------------------------------
1 | package GameMechanics.Attacks;
2 |
3 | /**
4 | * Created by duckman on 3/07/2016.
5 | */
6 | public interface IAttack {
7 | }
8 |
--------------------------------------------------------------------------------
/src/main/java/GameMechanics/Equipment/Accessory.java:
--------------------------------------------------------------------------------
1 | package GameMechanics.Equipment;
2 |
3 | /**
4 | * Created by duckman on 31/05/2016.
5 | */
6 | public class Accessory //extends InventoryItem
7 | {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/GameMechanics/Equipment/Armour.java:
--------------------------------------------------------------------------------
1 | package GameMechanics.Equipment;
2 |
3 | /**
4 | * Created by duckman on 31/05/2016.
5 | */
6 | public class Armour {
7 | }
8 |
--------------------------------------------------------------------------------
/src/main/java/GameMechanics/Equipment/IInventoryItem.java:
--------------------------------------------------------------------------------
1 | package GameMechanics.Equipment;
2 |
3 | /**
4 | * Created by duckman on 31/05/2016.
5 | */
6 | public interface IInventoryItem
7 | {
8 | String getName();
9 | int getValue();
10 | boolean isBroken();
11 | int getCurseLevel();
12 | }
13 |
--------------------------------------------------------------------------------
/src/main/java/GameMechanics/Equipment/InventoryItem.java:
--------------------------------------------------------------------------------
1 | package GameMechanics.Equipment;
2 |
3 | /**
4 | * Created by duckman on 31/05/2016.
5 | */
6 | public abstract class InventoryItem implements IInventoryItem
7 | {
8 | }
9 |
--------------------------------------------------------------------------------
/src/main/java/GameMechanics/Equipment/MiscItem.java:
--------------------------------------------------------------------------------
1 | package GameMechanics.Equipment;
2 |
3 | /**
4 | * Created by duckman on 31/05/2016.
5 | */
6 | public class MiscItem {
7 | }
8 |
--------------------------------------------------------------------------------
/src/main/java/GameMechanics/Equipment/Weapon.java:
--------------------------------------------------------------------------------
1 | package GameMechanics.Equipment;
2 |
3 | /**
4 | * Created by duckman on 31/05/2016.
5 | */
6 | public class Weapon {
7 | }
8 |
--------------------------------------------------------------------------------
/src/main/java/GameMechanics/Inventory.java:
--------------------------------------------------------------------------------
1 | package GameMechanics;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | /**
7 | * Created by duckman on 31/05/2016.
8 | */
9 | public class Inventory extends ArrayList
10 | {
11 | }
12 |
--------------------------------------------------------------------------------
/src/main/java/GameMechanics/Magic/ISpell.java:
--------------------------------------------------------------------------------
1 | package GameMechanics.Magic;
2 |
3 | import GameMechanics.Adventurers.Adventurer;
4 | import Game.Map.MaMWorld;
5 |
6 | /**
7 | * Created by duckman on 31/05/2016.
8 | */
9 | public interface ISpell
10 | {
11 | enum CastableState{CanCast, WrongClass,
12 | NotIndoors,NotOutDoors, NotFromHere,
13 | OnlyBattle, NotInBattle, NotSafe, NoSP, NoGems,
14 | TooManyTimesADay,
15 | OtherProblem}
16 |
17 | int getSpellPointsRequired(MaMWorld world, Adventurer caster);
18 | int getGemsRequired(MaMWorld world, Adventurer caster);
19 | CastableState canCast(MaMWorld world, Adventurer caster);
20 | String getDescription();
21 | void cast(MaMWorld world, Adventurer caster);
22 | }
23 |
--------------------------------------------------------------------------------
/src/main/java/GameMechanics/Magic/PartyEnchantments/IPartyEnchantment.java:
--------------------------------------------------------------------------------
1 | package GameMechanics.Magic.PartyEnchantments;
2 |
3 | import GameMechanics.Adventurers.IStatModifier;
4 | import org.joda.time.DateTime;
5 |
6 | /**
7 | * Created by duckman on 10/06/2016.
8 | */
9 | public interface IPartyEnchantment extends IStatModifier
10 | {
11 |
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/src/main/java/GameMechanics/Magic/Spell.java:
--------------------------------------------------------------------------------
1 | package GameMechanics.Magic;
2 |
3 | import GameMechanics.Adventurers.Adventurer;
4 | import Game.Map.MaMWorld;
5 |
6 | /**
7 | * Created by duckman on 31/05/2016.
8 | */
9 | public abstract class Spell implements ISpell
10 | {
11 | @FunctionalInterface
12 | interface CastSpell {
13 | public int apply(MaMWorld world, Adventurer caster);
14 | }
15 |
16 | int spellPointsRequired;
17 | int gemsRequired;
18 |
19 | public Spell()
20 | {
21 | }
22 |
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/java/GameMechanics/Magic/SpellManager.java:
--------------------------------------------------------------------------------
1 | package GameMechanics.Magic;
2 |
3 | import java.lang.reflect.Method;
4 | import java.util.Arrays;
5 | import java.util.stream.Collectors;
6 |
7 | /**
8 | * Created by duckman on 31/05/2016.
9 | */
10 | public class SpellManager
11 | {
12 | protected ISpell[] AllSpells;
13 | //AcidSpray("Acid Spray", castAcidSpray);
14 |
15 | //Spells(String name, Spell ) {
16 | //}
17 |
18 | public static String normaliseSpellName(String name)
19 | {
20 | if(name == null)
21 | {
22 | return "";
23 | }
24 |
25 | return name.chars()
26 | .mapToObj(i -> (char)i)
27 | .filter(Character::isLetterOrDigit)
28 | .map(Object::toString)
29 | .collect(Collectors.joining())
30 | .toUpperCase();
31 |
32 | }
33 | }
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/src/main/java/GameMechanics/Magic/WoXSpells/SpellAcidSpray.java:
--------------------------------------------------------------------------------
1 | package GameMechanics.Magic.WoXSpells;
2 |
3 | import GameMechanics.Adventurers.Adventurer;
4 | import Game.Map.MaMWorld;
5 | import GameMechanics.Magic.Spell;
6 |
7 | /**
8 | * Created by duckman on 31/05/2016.
9 | */
10 | public class SpellAcidSpray extends Spell
11 | {
12 | @Override
13 | public int getSpellPointsRequired(MaMWorld world, Adventurer caster) {
14 | return 0;
15 | }
16 |
17 | @Override
18 | public int getGemsRequired(MaMWorld world, Adventurer caster) {
19 | return 0;
20 | }
21 |
22 | @Override
23 | public CastableState canCast(MaMWorld world, Adventurer caster) {
24 | return null;
25 | }
26 |
27 | @Override
28 | public String getDescription() {
29 | return null;
30 | }
31 |
32 | @Override
33 | public void cast(MaMWorld world, Adventurer caster) {
34 |
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/GameMechanics/Stat.java:
--------------------------------------------------------------------------------
1 | package GameMechanics;
2 |
3 | import Game.GlobalSettings;
4 | import GameMechanics.Adventurers.IStatModifier;
5 |
6 | /**
7 | * Created by duckman on 31/05/2016.
8 | * Any stat, adventurer or monster.
9 | */
10 | public class Stat
11 | {
12 | int baseLevel;
13 | int temporaryLevel;
14 | String key;
15 |
16 | public Stat(String key, int min, int max) {
17 |
18 | }
19 |
20 | public String getName()
21 | {
22 | return GlobalSettings.INSTANCE.getLocalText().getString(key);
23 | }
24 |
25 | public String describe()
26 | {
27 | return null;
28 | } //TODO
29 |
30 | public void resetTemporyLevel() {temporaryLevel = baseLevel;}
31 |
32 | public void applyModifier(IStatModifier mod)
33 | {
34 | Stat stat = mod.applyTo(this);
35 | this.baseLevel = stat.baseLevel;
36 | this.temporaryLevel = stat.temporaryLevel;
37 | }
38 |
39 | public int getBaseLevel() {
40 | return baseLevel;
41 | }
42 |
43 | public int getTemporaryLevel() {
44 | return temporaryLevel;
45 | }
46 |
47 |
48 | public void set(int value) {
49 | baseLevel = value;
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/src/main/java/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Main-Class: Main
3 |
4 |
--------------------------------------------------------------------------------
/src/main/java/Rendering/AnimationSettings.java:
--------------------------------------------------------------------------------
1 | package Rendering;
2 |
3 | import Toolbox.HProperties;
4 | import Toolbox.IHasProperties;
5 |
6 | public class AnimationSettings implements IHasProperties
7 | {
8 | int numberOfFrames;
9 | int milliSecondsPerFrame;
10 | boolean pingPongAnimation;
11 | boolean repeatAnimation;
12 |
13 | public AnimationSettings(
14 | int numberOfFrames,
15 | int msPerFrame,
16 | boolean pingPongAnimation,
17 | boolean repeatAnimation)
18 | {
19 | this.numberOfFrames = numberOfFrames;
20 | this.milliSecondsPerFrame = msPerFrame;
21 | this.pingPongAnimation = pingPongAnimation;
22 | this.repeatAnimation = repeatAnimation;
23 | }
24 |
25 | public int getNumberOfFrames() {
26 | return numberOfFrames;
27 | }
28 |
29 | public double getMilliSecondsPerFrame() {
30 | return milliSecondsPerFrame;
31 | }
32 |
33 | public boolean isPingPongAnimation() {
34 | return pingPongAnimation;
35 | }
36 |
37 | public boolean isRepeatAnimation() {
38 | return repeatAnimation;
39 | }
40 |
41 | public final int resolveFrameNumber(long timeMS)
42 | {
43 | int totalDuration = milliSecondsPerFrame * numberOfFrames;
44 | int msIntoAnimation = (int)(timeMS % totalDuration);
45 | int frameNumber = msIntoAnimation / milliSecondsPerFrame;
46 | return frameNumber;
47 | }
48 |
49 | //------------------------------------------------------------------------------------------------------------------
50 | // IHasProperties
51 | //------------------------------------------------------------------------------------------------------------------
52 | @Override
53 | public boolean getProperties(HProperties p)
54 | {
55 | this.numberOfFrames = Integer.parseInt(p.getProperty("AnimationSettings.numberOfFrames"));
56 | this.milliSecondsPerFrame = Integer.parseInt(p.getProperty("AnimationSettings.milliSecondsPerFrame"));
57 | this.pingPongAnimation = Boolean.parseBoolean(p.getProperty("AnimationSettings.pingPongAnimation"));
58 | this.repeatAnimation = Boolean.parseBoolean(p.getProperty("AnimationSettings.repeatAnimation"));
59 | return true;
60 | }
61 |
62 | @Override
63 | public boolean setProperties(HProperties p) {
64 | p.setProperty("AnimationSettings.numberOfFrames", String.valueOf(this.numberOfFrames));
65 | p.setProperty("AnimationSettings.milliSecondsPerFrame", String.valueOf(this.milliSecondsPerFrame));
66 | p.setProperty("AnimationSettings.pingPongAnimation", String.valueOf(this.pingPongAnimation));
67 | p.setProperty("AnimationSettings.repeatAnimation", String.valueOf(this.repeatAnimation));
68 | return true;
69 | }
70 | }
71 |
--------------------------------------------------------------------------------
/src/main/java/Rendering/IMaMRenderer.java:
--------------------------------------------------------------------------------
1 | package Rendering;
2 |
3 | import Game.IMaMGame;
4 |
5 | /**
6 | * Created by duckman on 15/05/2016.
7 | */
8 | public interface IMaMRenderer
9 | {
10 | void setGame(IMaMGame game);
11 | IMaMGame getGame();
12 | void refresh(NATIVE_CANVAS g, long timeMS);
13 | }
14 |
--------------------------------------------------------------------------------
/src/main/java/Rendering/IMaMSprite.java:
--------------------------------------------------------------------------------
1 | package Rendering;
2 |
3 | import mamFiles.CCFileFormatException;
4 | import mamFiles.IHasProxy;
5 | import mamFiles.MAMFile;
6 | import mamFiles.MaMPallet;
7 |
8 | import java.awt.image.BufferedImage;
9 |
10 | /**
11 | * Created by duckman on 19/05/2016.
12 | */
13 | public interface IMaMSprite extends IRenderableGameObject
14 | {
15 | MaMPallet getPallet();
16 |
17 | int getWidth();
18 |
19 | int getHeight();
20 |
21 | //Now in IRenderableGameObject as a default
22 | //BufferedImage[] getRenderedFrames();
23 | }
24 |
--------------------------------------------------------------------------------
/src/main/java/Rendering/IRelativeToLocationOverlay.java:
--------------------------------------------------------------------------------
1 | package Rendering;
2 |
3 | import Toolbox.Direction;
4 |
5 | import java.awt.*;
6 | import java.awt.image.BufferedImage;
7 |
8 | /**
9 | * Created by duckman on 3/07/2016.
10 | *
11 | * This handels things that are flat painted over the whole scene, but respond to the
12 | * Currently that's the surfaces. But this may come to include the sky.
13 | *
14 | * Note: No 'rendering position' is returned. The setup is to return a
15 | * IRenderableGameObject that is large enough to encompass the entire
16 | * area being layered over. This is wasteful in memory, but should
17 | * make game modding sane.
18 | */
19 | public interface IRelativeToLocationOverlay extends IRenderableGameObject
20 | {
21 | /**
22 | * Returns a overlay of this surface on the ground/sky.
23 | * @param mapPosRelative The relative map position of the tile to be filled with this surface.
24 | * NB: null returns full ground over.
25 | * @param viewDir The direction the viewer is looking. This allows a directional object to
26 | * show the correct side to the viewport.
27 | */
28 | IRenderableGameObject getSurfaceOverlay(Point mapPosRelative, Direction viewDir);
29 |
30 | @Override
31 | default BufferedImage getImage(int frame) {
32 | return getSurfaceOverlay(new Point(0,0), Direction.UP).getImage(frame);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/main/java/Rendering/IRelativeToLocationSprite.java:
--------------------------------------------------------------------------------
1 | package Rendering;
2 |
3 | import Toolbox.Direction;
4 | import java.awt.*;
5 | import java.awt.image.BufferedImage;
6 |
7 | /**
8 | * Created by duckman on 19/05/2016.
9 | *
10 | * TODO: Next code cleanup, this should not implement IRenderableGameObject.
11 | * Conceptually it delivers the IRenderableGameObject required.
12 | * Implementing IRenderableGameObject, generates legacy code that will never be used.
13 | *
14 | */
15 | public interface IRelativeToLocationSprite extends IRenderableGameObject
16 | {
17 | /**
18 | * Returns "view" of this sprite.
19 | * The view includes perspective, but not scaling or positioning.
20 | * @param mapPosRelative The relative map position of the tile to be filled with this surface.
21 | * @param viewDir The direction the viewer is looking. This allows a directional object to
22 | * show the correct side to the viewport.
23 | */
24 | IRenderableGameObject getView(Point mapPosRelative, Direction viewDir);
25 |
26 | @Override
27 | default BufferedImage getImage(int frame) {
28 | return getView(new Point(0,0), Direction.UP).getImage(frame);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/java/Rendering/ISScalableGUI.java:
--------------------------------------------------------------------------------
1 | package Rendering;
2 |
3 | import java.awt.*;
4 |
5 | /**
6 | * Created by duckman on 3/06/17.
7 | *
8 | * A control that can be resized by a constant factor.
9 | */
10 | public interface ISScalableGUI
11 | {
12 | double getScale();
13 | void setScale(double scale);
14 |
15 | /**
16 | * Use this to allow the control to scale relative to a parent container.
17 | * Otherwise the original size will be lost to accumulated arithmetic errors.
18 | */
19 | Rectangle getUnscaledBounds();
20 |
21 | /**
22 | * Use this to allow the control to scale relative to a parent container.
23 | * Otherwise the original size will be lost to accumulated arithmetic errors.
24 | */
25 | void setUnscaledBounds(Rectangle r);
26 |
27 | default Rectangle getScaledBounds() {
28 | Rectangle r = getUnscaledBounds();
29 | double scale = getScale();
30 | int x = (int)(r.x * scale);
31 | int y = (int)(r.y * scale);
32 | int w = (int)(r.width * scale);
33 | int h = (int)(r.height * scale);
34 |
35 | return new Rectangle(x, y, w, h);
36 | }
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/src/main/java/Rendering/ISceneComposition.java:
--------------------------------------------------------------------------------
1 | package Rendering;
2 |
3 | import Toolbox.MaMGameException;
4 | import javafx.util.Pair;
5 |
6 | import java.awt.*;
7 | import java.awt.image.BufferedImage;
8 | import java.util.List;
9 | import java.util.function.Function;
10 |
11 | /**
12 | * Created by duckman on 5/06/2016.
13 | */
14 | public interface ISceneComposition
15 | {
16 | void depthSort();
17 |
18 | List> getRenderables();
19 |
20 | void addRenderable(RenderablePos pos, IRenderableGameObject obj) throws MaMGameException;
21 |
22 | default void render2Graphics(Graphics g,
23 | long timeMS,
24 | int x, int y,
25 | double scale)
26 | {
27 | depthSort();
28 | for (Pair renderable : getRenderables())
29 | {
30 | AnimationSettings anim = renderable.getValue().getAnimationSettings();
31 |
32 | BufferedImage frame;
33 | if(anim != null)
34 | {
35 | int frameNum = anim.resolveFrameNumber(timeMS);
36 | frame = renderable.getValue().getImage(frameNum % anim.getNumberOfFrames());
37 | }
38 | else
39 | {
40 | frame = renderable.getValue().getImage(0);
41 | }
42 | if(frame == null)
43 | {
44 | System.out.println("Sprite is corrupted?");
45 | continue;
46 | }
47 |
48 | Rectangle bounds = renderable.getKey().getImageBoundsAfterOffset(0, 0,
49 | frame.getWidth(),
50 | frame.getHeight());
51 | bounds = scaleRectangleNoTearing(bounds, scale);
52 |
53 | g.drawImage(frame, (int)x+bounds.x, (int)y+bounds.y, bounds.width, bounds.height, null);
54 | }
55 | }
56 |
57 | /**
58 | * So...
59 | * If a sprite is rendered so its edge in world space is (X + W)
60 | * Then its edge in view space is (X*scale + W*scale).
61 | * BUT: Consider the Sprite adjacent o it (X2 + W2), such that X2 = (X + W)+1;
62 | *
63 | * Problem: X2*scale != (X*scale + W*scale)+1.
64 | * This causes occasional tears when scaling sprites in a non integral fashion.
65 | *
66 | * I'm 90% sure scaling rectangles by outer dimensions fixes this, if not
67 | * the other code here can be used instead.
68 | */
69 | static Rectangle scaleRectangleNoTearing(Rectangle r, double scale) {
70 | int x = (int)Math.round(r.x * scale);
71 | int y = (int)Math.round(r.y * scale);
72 | int right = (int)Math.round((r.x+r.width) * scale);
73 | int bottom = (int)Math.round((r.y+r.height) * scale);
74 | return new Rectangle(x, y, right-x, bottom-y);
75 | }
76 |
77 | }
78 |
--------------------------------------------------------------------------------
/src/main/java/Rendering/MaM2DInsertionOrderComposition.java:
--------------------------------------------------------------------------------
1 | package Rendering;
2 |
3 | import javafx.util.Pair;
4 |
5 | import java.util.ArrayList;
6 | import java.util.List;
7 |
8 | /**
9 | * Created by duckman on 10/06/2016.
10 | */
11 | public class MaM2DInsertionOrderComposition implements ISceneComposition
12 | {
13 | protected List> renderables;
14 |
15 | public MaM2DInsertionOrderComposition()
16 | {
17 | renderables = new ArrayList<>();
18 | }
19 |
20 | @Override
21 | public synchronized void depthSort()
22 | {
23 | }
24 |
25 | @Override
26 | public synchronized List> getRenderables()
27 | {
28 | return renderables;
29 | }
30 |
31 | @Override
32 | public synchronized void addRenderable(RenderablePos pos, IRenderableGameObject obj)
33 | {
34 | renderables.add(new Pair<>(pos, obj));
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/Rendering/MaM2DMapComposition.java:
--------------------------------------------------------------------------------
1 | package Rendering;
2 |
3 | import javafx.util.Pair;
4 |
5 | import java.util.ArrayList;
6 | import java.util.List;
7 |
8 | /**
9 | * Created by duckman on 5/06/2016.
10 | *
11 | * Used for mini-map and larger world maps.
12 | */
13 | public class MaM2DMapComposition implements ISceneComposition
14 | {
15 | protected List> renderables;
16 | protected boolean sorted = false;
17 |
18 | public MaM2DMapComposition()
19 | {
20 | renderables = new ArrayList<>();
21 | sorted = false;
22 | }
23 |
24 | @Override
25 | public synchronized void depthSort()
26 | {
27 | if(!sorted)
28 | {
29 | //depth sort by depth, then y, then x, because the wall tiles overlap floor tiles.
30 | renderables.sort((p1, p2) -> {
31 | RenderablePos rp1 = p1.getKey();
32 | RenderablePos rp2 = p2.getKey();
33 | int c = Integer.compare(rp1.getDepth(), rp2.getDepth());
34 | if(c == 0)
35 | {
36 | c = Integer.compare(rp1.getyPos(), rp2.getyPos());
37 | if(c == 0)
38 | {
39 | c = Integer.compare(rp1.getxPos(), rp2.getxPos());
40 | }
41 | }
42 | return c;
43 | }
44 | );
45 | sorted = true;
46 | }
47 | }
48 |
49 | @Override
50 | public synchronized List> getRenderables() {
51 | depthSort(); //ensure we are sorted
52 | return renderables;
53 | }
54 |
55 | @Override
56 | public synchronized void addRenderable(RenderablePos pos, IRenderableGameObject obj)
57 | {
58 | sorted = false;
59 | renderables.add(new Pair<>(pos, obj));
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/src/main/java/Rendering/SimpleCanvas/MaMButton.java:
--------------------------------------------------------------------------------
1 | package Rendering.SimpleCanvas;
2 |
3 | import Rendering.IRenderableGameObject;
4 |
5 | import javax.swing.*;
6 | import java.awt.*;
7 |
8 | /**
9 | * Created by duckman on 6/06/17.
10 | *
11 | * Tweaking JButton for graphics.
12 | */
13 | public class MaMButton extends JButton {
14 | Rendering.IRenderableGameObject btnFrames;
15 | String tag;
16 |
17 | public MaMButton(String tag, IRenderableGameObject btnFrames) {
18 | this(tag, btnFrames, null);
19 | }
20 |
21 | public MaMButton(String tag, IRenderableGameObject btnFrames, String text) {
22 | super((text == null) ? "" : text);
23 | this.btnFrames = btnFrames;
24 | this.setFocusPainted(false);
25 | this.setFocusable(false);
26 |
27 | this.setFocusPainted(false);
28 | this.setFocusable(false);
29 | this.setBackground(new Color(255, 255, 255, 0));
30 | this.setMargin(new Insets(0, 0, 0, 0));
31 | this.tag = tag;
32 | }
33 |
34 | @Override
35 | public void paint(Graphics g) {
36 | //super.paint(g);
37 | if(btnFrames != null) {
38 | g.drawImage(btnFrames.getRenderedFrames()[0], 0, 0, this.getWidth(), this.getHeight(), null);
39 | }
40 | super.paint(g);
41 |
42 | if(hasFocus()) {
43 | super.paint(g);
44 | }
45 | if(isSelected()) {
46 | super.paint(g);
47 | }
48 |
49 | //getIcon().paintIcon(this, g, 0, 0);
50 | }
51 | };
--------------------------------------------------------------------------------
/src/main/java/Toolbox/ArrayHelpers.java:
--------------------------------------------------------------------------------
1 | package Toolbox;
2 |
3 | import java.awt.*;
4 | import java.awt.image.BufferedImage;
5 | import java.util.*;
6 | import java.util.List;
7 |
8 | /**
9 | * Created by duckman on 22/05/2016.
10 | */
11 | public class ArrayHelpers
12 | {
13 |
14 | public static Color[] toColorArray(List cols)
15 | {
16 | Color[] c = new Color[cols.size()];
17 | return cols.toArray(c);
18 | }
19 |
20 | public static BufferedImage[] toBufferedImageArray(List images)
21 | {
22 | BufferedImage[] array = new BufferedImage[images.size()];
23 | return images.toArray(array);
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/java/Toolbox/BlindIndexMaper.java:
--------------------------------------------------------------------------------
1 | package Toolbox;
2 |
3 | import java.util.AbstractMap;
4 | import java.util.HashMap;
5 | import java.util.Map;
6 | import java.util.Set;
7 | import java.util.function.Function;
8 |
9 | /**
10 | * Created by duckman on 19/06/2016.
11 | *
12 | * I repeatedly have a problem of finding all objects that are enumerated by a number.
13 | * Eg incremental file in a directory;
14 | *
15 | */
16 | public class BlindIndexMaper
17 | {
18 | public static MapfindMapping(Function getItem, int minRange, int maxRange, int maxFailsInARow)
19 | {
20 | Map map = new HashMap<>();
21 | int missCount=0;
22 |
23 | //sanitise inputs
24 | maxFailsInARow = Math.max(0, maxFailsInARow);
25 | if(maxRange < minRange)
26 | {
27 | int temp = maxRange;
28 | maxRange = minRange;
29 | minRange = temp;
30 | }
31 |
32 | //explore for items
33 | for (int i = minRange; (i <= maxRange)&&(missCount<=maxFailsInARow); i++)
34 | {
35 | T obj = null;
36 | try
37 | {
38 | obj = getItem.apply(i);
39 | }
40 | catch (Exception ex)
41 | {
42 | //don't care, obj is still null
43 | }
44 |
45 | if(obj != null)
46 | {
47 | map.put(i, obj);
48 |
49 | //reset miss count
50 | missCount = 0;
51 | }
52 | else if(maxFailsInARow > 0) //maxFailsInARow == 0 means stop on first error.
53 | {
54 | missCount++;
55 | }
56 | }
57 | return map;
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/src/main/java/Toolbox/ColourHelpers.java:
--------------------------------------------------------------------------------
1 | package Toolbox;
2 |
3 | import java.awt.*;
4 | import java.text.ParseException;
5 |
6 | /**
7 | * Created by duckman on 21/05/2016.
8 | */
9 | public class ColourHelpers
10 | {
11 | public static String RGB2String(Color c)
12 | {
13 | return c.getRed() + ", " + c.getGreen() + ", " + c.getBlue();
14 | }
15 |
16 | public static Color String2RGB(String s) throws Exception {
17 | try
18 | {
19 | if(s != null)
20 | {
21 | String[] tokens = s.split("\\,");
22 | if(tokens.length == 3)
23 | {
24 | int r = Integer.parseInt(tokens[0]);
25 | int g = Integer.parseInt(tokens[1]);
26 | int b = Integer.parseInt(tokens[2]);
27 |
28 | return new Color(r,g,b);
29 | }
30 | }
31 | }
32 | catch(Exception ex)
33 | {
34 | }
35 |
36 | throw new Exception("Unable to parse colour");
37 | }
38 |
39 |
40 | }
41 |
--------------------------------------------------------------------------------
/src/main/java/Toolbox/Direction.java:
--------------------------------------------------------------------------------
1 | package Toolbox;
2 |
3 | import java.awt.*;
4 |
5 | public enum Direction
6 | {
7 | UP(0, -1) {
8 | @Override
9 | public Direction turnLeft() {
10 | return LEFT;
11 | }},
12 | RIGHT(1, 0) {
13 | @Override
14 | public Direction turnLeft() {
15 | return UP;
16 | }},
17 | DOWN(0, 1) {
18 | @Override
19 | public Direction turnLeft() {
20 | return RIGHT;
21 | }},
22 | LEFT(-1, 0) {
23 | @Override
24 | public Direction turnLeft() {
25 | return DOWN;
26 | }};
27 |
28 | Point vector;
29 | Direction(int x, int y)
30 | {
31 | vector = new Point(x, y);
32 | }
33 |
34 | public Point getVector() {
35 | return vector;
36 | }
37 |
38 | public abstract Direction turnLeft();
39 |
40 | //something about this is so wrong, its right.
41 | public final Direction turnRight() {return turnLeft().turnLeft().turnLeft();}
42 | public final Direction turnAround() {return turnLeft().turnLeft();}
43 | }
44 |
--------------------------------------------------------------------------------
/src/main/java/Toolbox/Grid.java:
--------------------------------------------------------------------------------
1 | package Toolbox;
2 |
3 | import mamFiles.MaMSprite;
4 |
5 | import java.awt.Point;
6 | import java.util.Arrays;
7 | import java.util.Collection;
8 | import java.util.Map;
9 | import java.util.Set;
10 | import java.util.function.Function;
11 | import java.util.function.Supplier;
12 |
13 | /**
14 | * Created by duckman on 15/05/2016.
15 | */
16 | public class Grid implements IReadonlyGrid {
17 | int numXValues, numYValues;
18 | T[] values; // T[y*numXValues+x]
19 |
20 | public Grid(int xValues, int yValues, Function getValue)
21 | {
22 | this.numXValues = Math.max(xValues, 0);
23 | this.numYValues = Math.max(yValues, 0);
24 | //T foo = Crea T::new;
25 | //this.values = new T[numYValues][];
26 | this.values = (T[])new Object[size()];// s. [numYValues][];
27 | setAll(getValue);
28 | }
29 |
30 | public Grid(int xValues, int yValues)
31 | {
32 | this.numXValues = Math.max(xValues, 0);
33 | this.numYValues = Math.max(yValues, 0);
34 | //T foo = Crea T::new;
35 | //this.values = new T[numYValues][];
36 | this.values = (T[])new Object[size()];
37 | for (int i = 0; i < values.length; i++) {
38 | values[i] = null;
39 | }
40 | }
41 |
42 | @Override
43 | public T get(int x, int y)
44 | {
45 | return values[y*numXValues + x];
46 | }
47 |
48 | @Override
49 | public boolean isValidLocation(int x, int y)
50 | {
51 | return (x >=0) && (x < numXValues) && (y >= 0) && (y < numYValues);
52 | }
53 |
54 | @Override
55 | public T get(Point pos)
56 | {
57 | return values[pos.y*numXValues + pos.x];
58 | }
59 |
60 | @Override
61 | public int getWidth() {
62 | return numXValues;
63 | }
64 |
65 | @Override
66 | public int getHeight() {
67 | return numYValues;
68 | }
69 |
70 | /**
71 | * Total size of grid (width * height)
72 | */
73 | @Override
74 | public int size()
75 | {
76 | return numXValues * numYValues;
77 | }
78 |
79 | public void set(int x, int y, T value)
80 | {
81 | values[y*numXValues + x] = value;
82 | }
83 |
84 | public void set(Point pos, T value)
85 | {
86 | values[pos.y*numXValues + pos.x] = value;
87 | }
88 |
89 | public void setAll(Function getValue)
90 | {
91 | for(int y=0; y
26 | //{
27 | // @Override
28 | // public int compare(String a, String b) {
29 | // char ca = a.charAt(0);
30 | // char cb = b.charAt(0);
31 | //
32 | // if(Character.isLetter(ca
33 | //
34 | // return 0;
35 | // }
36 | //
37 | // enum TokenType
38 | // {
39 | // LETTER(8),
40 | // NUMBER(5),
41 | // DOT(3),
42 | // PUNCTUATION(4),
43 | // WHITE_SPACE(2),
44 | // MISC(9);
45 | //
46 | // int priority;
47 | //
48 | // TokenType(int priority) {
49 | // this.priority = priority;
50 | // }
51 | //
52 | // public int compare(TokenType a, TokenType b) { return Integer.compare(a.priority, b.priority); }
53 | //
54 | // public static TokenType fromChar(char c)
55 | // {
56 | // if(Character.isLetter(return c)
57 | // }
58 | // }
59 | //
60 | //
61 | //
62 | //
63 | //
64 | //// @Override
65 | //// public boolean equals(Object obj) {
66 | //// return false;
67 | //// }
68 | //}
69 |
--------------------------------------------------------------------------------
/src/main/java/Toolbox/IHasProperties.java:
--------------------------------------------------------------------------------
1 | package Toolbox;
2 |
3 | import java.io.*;
4 | import java.util.*;
5 |
6 | /**
7 | * Created by duckman on 28/05/2016.
8 | */
9 | public interface IHasProperties
10 | {
11 | boolean getProperties(HProperties p);
12 | boolean setProperties(HProperties p);
13 |
14 | default boolean saveProperties(String path, String comment)
15 | {
16 | try(OutputStream os = new FileOutputStream(path))
17 | {
18 | //yes its cool that I can do this in java, but its not cool that I have to.
19 | HProperties p = new HProperties(){
20 | @Override
21 | public synchronized Enumeration