Giter Club home page Giter Club logo

edgitor's Introduction

[pron. EDGE-itor]

Discord Downloads Release License Size

minimal C++ pixelart editor

EDGITOR was designed to be extremely concise and clean from the ground up. It uses SDL2 as the core of its rendering system, and is designed to be as efficient as possible. EDGITOR can theoretically support colossal canvases (stress tests got close to 20Kx20K), but that isn't a focused feature since this is a pixelart editor. That being said, this could branch off to support AA and Photoshop-like features to bridge a gap between traditional painting and pixelart.

FEATURE GOALS:

  • Extremely fast and efficient workflow.
  • A big focus on palette use and creation.
  • Custom-everything, from brushes to effects.
  • Tile system to allow easy tile creation.
  • Simple per-frame animation system.
  • Limitless layers, undos, canvas size.
  • Clean and minimal UI.

COMMUNITY DRIVEN

EDGITOR is now open source, and I'd love for this to grow via the community! Feel free to send pull requests, and add features to this so it can grow faster like never before!

Now you can use Cmake!

BUILD INSTRUCTIONS

Dependencies

EDGITOR requires the following libraries (instructions on how to install are provided below):

  • SDL2
  • SDL2_image
  • SDL2_ttf
Windows

On Windows you'll need to following dependencies for building EDGITOR:

  • Git
  • Visual Studio 2015 Update 3 or newer
  • Cmake
MacOS

On MacOS you'll need to following dependencies for building EDGITOR:

  • Xcode
  • Git
  • Cmake
Linux

On Linux you'll need to following dependencies for building EDGITOR:

  • GCC (or an equivalent Cmake support C++ compiler like clang)
  • Git
  • Cmake

Installing Dependencies

EDGITOR uses vcpkg for managing it's dependencies with optimal cross-platform support.

To get started you'll need to either manually install vcpkg and set the VCPKG_ROOT environment variable to your vcpkg root, or run the bootstrap.bat/sh file in the root of the repository.

Installing vcpkg automatically

The repository contains a bootstrap script in the root that can be used to automatically fetch the necessary tools and dependencies for the project.

What the boostrap script does:

  • Creates a /boostrap directory in the repo
  • Clones or pulls (updates) vcpkg in /boostrap/vcpkg
  • Runs the vcpkg boostrap script to compile or update vcpkg
  • Installs the necessary project dependencies

To run the bootstrap script, open a command line or Powershell to the repository directory and run:

./bootstrap.bat

This may take 10-15 minutes on the first run as it installs vcpkg and then builds the dependencies.

If you want to pull the latest version of vcpkg or any of the libraries, just re-run the bootstrap script and it'll update the vcpkg install.

Installing vcpkg manually

First you'll need to clone the vcpkg repository somewhere on your machine (I use C:\bin\ for files like this - Keith).

git clone https://github.com/microsoft/vcpkg

Next you'll need to run vcpkg's bootstrap script which will build and initialize vcpkg.

.\vcpkg\bootstrap-vcpkg.bat

Now you should add the vcpkg directory to your system PATH so you can run the vcpkg command without needing to be in the vcpkg directory. You also need to set the VCPKG_ROOT system or user environment variable to the vcpkg installation directory.

Now you can install all the dependencies with the dependencies script:

Windows

dependencies.bat

Linux

dependencies.sh

Building

Windows

First you'll need to generate the Visual Studio project with cmake either:

makesolution.bat

or, in a console opened to the edgitor directory:

cmake -B build -G "Visual Studio 16 2019"

Now you can open the EDGITOR folder as a Visual Studio project and set EDGITOR as StartUp Project.

macOS

You can build the EDGITOR project using Xcode via cmake:

cmake -B build -G Xcode

Linux

cmake -B build .
cd build
make

edgitor's People

Contributors

alepacho avatar endesga avatar manpat avatar uncannymisc avatar xkisu avatar

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.