GithubHelp home page GithubHelp logo

southclaws / samp-bitmapper Goto Github PK

View Code? Open in Web Editor NEW
5.0 3.0 1.0 140 KB

For generating in-game coordinates from a bitmap.

License: MIT License

CMake 1.62% C++ 91.79% C 5.88% Makefile 0.12% Pawn 0.34% SourcePawn 0.25%
sa-mp sa-mp-plugin pawn-package

samp-bitmapper's Introduction

Hi, I'm Barnaby Keene, also known as Southclaws.

Experienced with a wide variety of creative tools and technical skills, I like to solve design, storytelling and technical problems in digital media.

samp-bitmapper's People

Contributors

southclaws avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

marshall32

samp-bitmapper's Issues

API Design

So the primary goal of this plugin is not to simply read bitmaps and provide an API to access the pixel values. It's to facilitate things like this http://forum.sa-mp.com/showthread.php?t=516560 and the API should provide a simple and optimised way to do that leaving Pawn to do as little work as possible.

I'm thinking there should be the standard open and close functions that allocate and free a bitmap.

While it's in memory, the plugin should process the data in some way (off thread probably?) to build something akin to an index so picking pixels based on colour is fast. The kinds of images this plugin will work well with are flat images of the world map with very few colours (like on the link above). So I'm thinking of a pixel sorter style algorithm with buckets for each colour that map to XY coordinates.

Possible API:

  • PointFromColour(int colour)
  • PointsFromColour(int colour, int dest[], int max)

If these operations do turn out to be slow, I'm thinking of a streaming asynchronous API that uses Pawn callbacks when data is available:

  • PointsFromColour(int colour, string callback)
    • which would call callback either for each pixel or a group of pixels of a predefined size

Still needs ironing out, feedback appreciated!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.