AuthorTopic: Hackable pixel editors?  (Read 10646 times)

Offline Krice

  • 0001
  • *
  • Posts: 33
  • Karma: +0/-0
    • View Profile

Hackable pixel editors?

on: July 28, 2017, 04:51:56 pm
Are there editors that have modern-ish source code you could in theory hack? There is of course Gimp, but when I was looking at the build procedure I didn't even try. I quit right there and then. Another one was Grafx2, but it has a bit too old school C source code and it's probably too hard wired to 256 colors I guess. It would be really cool to have C/C++ project source code that doesn't require too many tricks to build. The way I see it most editors have problems in UI which could be fixed. I have my own project as well, but I've hit stone wall trying to work on the gui parts.

Offline surt

  • 0011
  • **
  • Posts: 570
  • Karma: +0/-0
  • Meat by-product
    • not_surt
    • http://pixeljoint.com/p/2254.htm
    • View Profile
    • Uninhabitant

Re: Hackable pixel editors?

Reply #1 on: July 28, 2017, 08:28:06 pm
Aseprite isn't open source any more but the source is still available for personal builds. https://github.com/aseprite/aseprite

Offline Krice

  • 0001
  • *
  • Posts: 33
  • Karma: +0/-0
    • View Profile

Re: Hackable pixel editors?

Reply #2 on: July 29, 2017, 09:51:09 am
Maybe it's best to stick to my own project. It has problems like writing an entire GUI on top of SDL2, but at least the source code is better than anything I've ever seen. I was browsing aseprite's source code and randomly watching this guy (I presume the programmer is a male person) passing a pointer to constructor and then deleting it in destructor with some kind of condition. No, don't do that. Just go back to C, C++ is not for you. I'm sometimes wondering am I really that good as programmer? Why can't others be at least near my level?

Offline yrizoud

  • 0010
  • *
  • Posts: 330
  • Karma: +0/-0
    • View Profile

Re: Hackable pixel editors?

Reply #3 on: July 29, 2017, 03:14:18 pm
Finding bad code should not stop you from helping open-source projects. I'm sorry you can't find the perfect project to work with (fun AND similar to your style AND popular), but you never know which part of your experience is going to help. SDL is very common, for example with game remakes (OpenXCOM), and there is a big field of image edition (filters like 2xSai, procedural image generation...)
 
IMO it's not very fun to build and maintain the GUI part of an editor, since it quickly becomes a time sink, and every little improvement for the user adds complexity. At least, it compiles and runs on many different OSes. On the other hand, existing GUI toolkits are ... peculiar. I mean, they do things their way, and they have their own style, there is no choice but adapt your code to it.

Offline Krice

  • 0001
  • *
  • Posts: 33
  • Karma: +0/-0
    • View Profile

Re: Hackable pixel editors?

Reply #4 on: July 31, 2017, 10:28:22 am
Maybe I could find out how difficult it is to compile Gimp. It could be fun to try at least? Gimp doesn't need a lot of fixes to become good (and useful for pixel art), so it could be worth it. It's not like it's impossible to build it, right?

Offline Krice

  • 0001
  • *
  • Posts: 33
  • Karma: +0/-0
    • View Profile

Re: Hackable pixel editors?

Reply #5 on: August 02, 2017, 06:28:58 am
Gimp has two sets of instructions on how to build it (for Windows) and both of them are somewhat vague and bad in explaining what and why you need to do something. Gimp is also possibly designed only for 'make' and never supposed to work in any kind of IDE. I don't know if it's really worth the trouble to go through all that installing for stuff it needs, but since there are Windows builds it must be possible somehow. The source code itself is a sad example of old school C with tons of quirky macros, user defined data types etc. I think it's 700K lines for only a pixel art program. Makes you wonder how it's even possible to make something that bloated.

Offline Ai

  • 0100
  • ***
  • Posts: 1057
  • Karma: +2/-0
  • finti
    • http://pixeljoint.com/pixels/profile.asp?id=1996
    • finticemo
    • View Profile

Re: Hackable pixel editors?

Reply #6 on: August 02, 2017, 02:39:37 pm
Quote
Gimp is also possibly designed only for 'make' and never supposed to work in any kind of IDE.
Well, there is not a project file or anything. That kind of thinking is pretty Windows-centric, although some Linux apps facilitate it (KDevelop).

People are gradually moving away from make/autotools to things like meson, scons, etc.., but it has been the standard for a long time on Linux, and GIMP still uses it.

The reason I mention Linux is because opensource software is, in the overwhelming majority, developed on Linux. That's where the best development infrastructure is -> most volunteer devs do not want to bother developing for Windows.

(not coincidentally, building GIMP for Linux is easy. Make sure GEGL and BABL installs are up to date, then run the standard './autogen.sh;./configure;make;sudo make install')

.. why do you think GIMP is a pixel art program, though? It's more like Photoshop -- an image editor that you *can* use to do pixeling.
It does make me wonder if you are trolling... have you even used GIMP?
If you insist on being pessimistic about your own abilities, consider also being pessimistic about the accuracy of that pessimistic judgement.

Offline Krice

  • 0001
  • *
  • Posts: 33
  • Karma: +0/-0
    • View Profile

Re: Hackable pixel editors?

Reply #7 on: August 02, 2017, 04:16:53 pm
The reason I mention Linux is because opensource software is, in the overwhelming majority, developed on Linux. That's where the best development infrastructure is

Just by reading Gimp's source code doesn't tell me it's the best. More like worst. Gimp has never been a number one choice for most artists, because it's buggy (crashes randomly) and slow, and is missing some basic features. Those are characteristic to open source projects which most are linux based.

Offline Ai

  • 0100
  • ***
  • Posts: 1057
  • Karma: +2/-0
  • finti
    • http://pixeljoint.com/pixels/profile.asp?id=1996
    • finticemo
    • View Profile

Re: Hackable pixel editors?

Reply #8 on: August 02, 2017, 11:16:36 pm
Just by reading Gimp's source code doesn't tell me it's the best. More like worst. Gimp has never been a number one choice for most artists, because it's buggy (crashes randomly) and slow, and is missing some basic features. Those are characteristic to open source projects which most are linux based.
[/quote]
Yeah no lol.

As I said, Linux easily beats Windows for development infrastructure. That doesn't mean devs produce complete software (cause they are volunteers, and work on what is fun) - it means developing *is easy and reasonably fun*.  It means Windows-specific bugs hang around because no-one wants to bother with developing on Windows.
It also usually means that the Windows instructions are more complicated because the infrastructure has to be installed, rather than being there by default.

But you knew that right? Being a good programmer and all?
If you insist on being pessimistic about your own abilities, consider also being pessimistic about the accuracy of that pessimistic judgement.

Offline Krice

  • 0001
  • *
  • Posts: 33
  • Karma: +0/-0
    • View Profile

Re: Hackable pixel editors?

Reply #9 on: August 03, 2017, 07:13:52 am
It means Windows-specific bugs hang around because no-one wants to bother with developing on Windows.

There is no such thing as "Windows-specific" bugs. If you write a program that doesn't have bugs it works on any platform. The most common reason why some bugs appear on other platforms are subtle differences in memory layouts. They are still actual bugs in all platforms. From open source perspective it may look like Windows is not a preferable platform, but in reality majority of programs are developed on it. It's just commercial often, and freeware (closed source).

One of many things I noticed about Gimp's source code that it's using some kind of 'make' magic to link header files without actual directory structure. Something like #include "file.h" doesn't tell in which directory the header is. I don't know but it sounds like a bad practice. It also makes impossible (or hard) to set up a IDE project for source files.