User:HaRRiKiRi - hpgDesigns/hpgdesigns-dev.io GitHub Wiki

My name is Harijs and I am a contributor to ENIGMA project. My C++ skills are quite limited (but steadily growing) and so I mostly contribute separate functions.

Skills

  • GML
  • C++
  • HTML, PHP, JS
  • Python (a little, never saw the need for it so didn't put much effort)

Current known problems

  • Text code can be optimized in several ways, but the gains would be minimal. I wont want to go trough all of that just for a few hundreds of a frame. Maybe someone else is willing to do that.

(Update a few months later: Dunno what optimization I meant... probably should write that down next time)

Contributions done

  • Finished the surface system someone else started and wrote all of the surface functions. Also fixed so that screen_redraw() works on surfaces.
  • Path system and functions.
  • Motion planning system and functions.
  • Some shape drawing functions and their documentation.
  • All text drawing functions and their documentation.
  • All curve drawing functions and their documentation.
  • Almost all of the sprite and background drawing functions and their documentation.
  • Made the datetime extension, that allows getting, well, date and time (also perform operations on them).

I have made some unpublished stuff as well. Notably:

  • MIDI extension, that allows trough 2 simple functions (+1 init and +1 destruct function) to send and receive MIDI signals. So you can control MIDI synthesizer trough ENIGMA (via optional LOOPBE or similar).
  • Touchscreen functions that allows making an optical touchscreen (FTIR, DI, etc.) and get position and size of blobs (when you press a finger on the surface you create a blob). This allows easy app development for a system like that. E.g.:
for (int i=0; i<blob_count(); ++i){
draw_circle(blob_x(i),blob_y(i),blob_area(i)/10,0);
}

That would just draw a circle at the position where you pressed.